失败经验总结

下次每次电话面试都记得录音 ···

一直觉得阿里的前端是前端这边的标杆。希望能以阿里的前端为标准要求自己,自己进步并跟上步伐。
最近一次阿里的面试是目前数次阿里面试中,面试次数最多的一次,也发现了更多自己的不足。

面试经历

一面(电话面)

聊了不少,半个小时左右。

1.vue-router实现原理
2.vuex实现原理
3.浏览器渲染机制
4.各个浏览器内核以及兼容问题
5.移动端适配

二面(现场面)

二面的时候比较轻松

1.为什么用vue
2.遇到难点
3.自己满意的点
4.weex

三面(电话面)—— 跪了

三面的时候十分紧张,脑袋有点秀逗

vue相关

1.Vue双向绑定原理
2.vue-router实现原理
3.vue list中 子元素 绑定事件
4.vue中列表 下一页之后返回上一页是否重新加载视图

weex相关
1.weex实现基本原理
2.weex的不足
3.weex中的渲染机制

JS/css

1.点击事件 浏览器兼容问题
2.移动事件 ontouchmove 以及优化

事件节流
比如首先生成一个 独立 重绘的BFC渲染层。然后通过 CSS的相关动画来 控制dom的移动而不是通过JS直接修改 DOM 的位置。在往下就是 通过requestAnimationFrame来优化渲染

放入队列中 固定时间执行一次

3.动画卡顿的问题
这个问题应该问的的浏览器渲染以及重绘方面的问题,主要包括以下五个步骤

正常情况下可分为三种情况,
Javascript 与 Style 必不可少的
1.Layout Paint Composite; margin, padding, height等改变布局的
2.Paint Composite; color等不改变布局只改变样式的
3.Composite; opacity,transform等只改变图层的

具体可以参照这里

ps. 可以引入 60帧/s 即一帧在16ms内完成才能回不造成卡顿,实际情况下浏览器处理仍然需要实际,故要将每帧动画控制在10ms左右

再ps. setTimeout, setInterval 与 requestAnimationFrame
使用 requestAnimationFrame 能将 javascript 放在每帧的最开始的时候,避免了中途重绘、丢帧的情况
(requestAnimationFrame 在 IE9 浏览器中不支持 可以使用 polyfill会使用setTimeout替代)

4.翻页动效 实现

其他
1.最新信息/技术 获取以及了解
微信公众号,知乎, 掘金,segmentfault,V2EV,

2.自己的优势以及发展
工作五年一直做的事情都是偏业务的,不是一个技术极客,就目前而言的所学的技术都是跟随者业务来走的,jsp + servlet => 前后端分离 => 工程化开发,Vue SSR 因为有SEO方面的需求,小公司的的需求敏捷开发,快速迭代 => 制作了一个能快速开始项目的脚手架,一个简单的组件库,weex一套代码 三端通用。
业务方面不仅仅在技术上实现就好,需要跟运营,市场,产品沟通也是非常重要的。在这方面我比较多的经验。开发前明确捕捉到真正的需求,能大大的增加开发效率以及减少后续的返工·比如说后台管理系统以及一些内部的系统,在美观以及动效等方面其实没有太多的需求,对于数据,图表有着比较大的要求,而在to C 的web应用上对用户体验,动效等方面要求就比较好·
未来可能会往管理岗位发展,就本人的工作经历而已其实涵盖了技术开发的很多方面,有便于多方协调,本人的性格方面也挺适合。不足的是,目前主要的手段是和事老以及兜底,目前重心还是会放在技术上,争取在前端方向发展出了什么样的问题 都能完美的兜底。

3.不用框架 你做过什么

4.webpack loader 与 plugin
loader 用于加载某些资源文件。
plugin 用于扩展webpack的功能。

总结

  • [x]1.深入了解下Vue的相关原理以及实现(vue, vue-router, vuex)
  • [ ]2.自己写一个简单MVVM框架
  • [ ]3.Webpack相关的知识点再复习一遍
  • [ ]4.自己着手写一下 loader 以及 plugin
  • [ ]5.浏览器渲染机制
  • [ ]6.css3动画
  • [ ]7.weex相关的原理以及实现 再加最新信息
  • [ ]8.总结优势