2017年9月4日,参加360前端面试。一面、二面、三面都过了,很尴尬,却在HR面被被pass了。前端
一面主要问的是基础,js基础必定要扎实:vue
一、vue1.0到vue2.0的变化?组件之间如何通讯?react
二、webpack主要作了什么?怎么打包的?webpack
三、模块化是作什么的?模块化解决了什么问题?模块化有什么优势呢?web
AMD、CMD、commonJS这些要了解,再了解一些原理。面试
四、对象的浅复制以及如何继承原型链?ajax
var obj = {promise
a: 'liming'框架
}async
浅复制:for in循环一下或者Object.assign(target, source)
它的原型链上还有一些属性,怎么继承原型链上的属性
《JavaScript高级程序设计》第六章169页上有讲,两种办法
五、说了一长串,function、Object之间的关系,其实就是考原型链了
六、ES6 let const 与var之间区别
let、const拥有块级做用域,let在块级做用域中不存在变量声明提高,块级做用域中造成封闭的做用域,凡是在声明以前使用变量都是会报错
七、事件机制(事件捕获、目标事件、事件冒泡) 事件委托
八、怎么样好几个ajax请求并列执行?
我说了poromise.all()和async以及await,而后就引出来了个问题
promise、async、await是怎么个回事呢?有什么关系吗?
九、js是单线程的,有一个运算和耗时,会形成页面卡顿,怎么让他运行不影响后续代码的运行?
说了web worker
十、HTTP一些常见的状态码?302
十一、ES6 Class的原理?构造函数?
二面主要问了一些框架的问题:
一、仍是webpack 、js模块化
二、vue 2.0加上.sync修饰符有没有破坏单项数据流?
三、vue源码有没有了解?Observe、Watcher以及指令怎么实现的?数据变化怎么处罚DOM更新的?
四、react和vue的区别?react虚拟DOM
五、职业规划?怎么学习的
三面:
怎么样实现jstree那样的东东?说说你的实现思路?