360前端面试题

2017年9月4日,参加360前端面试。一面、二面、三面都过了,很尴尬,却在HR面被被pass了。

一面主要问的是基础,js基础一定要扎实:

1、vue1.0到vue2.0的变化?组件之间如何通信?

2、webpack主要做了什么?怎么打包的?

3、模块化是做什么的?模块化解决了什么问题?模块化有什么优点呢?

AMD、CMD、commonJS这些要了解,再了解一些原理。

4、对象的浅复制以及如何继承原型链?

var obj = {

     a: 'liming'

}

浅复制:for in循环一下或者Object.assign(target, source)

它的原型链上还有一些属性,怎么继承原型链上的属性

《JavaScript高级程序设计》第六章169页上有讲,两种办法

5、说了一长串,function、Object之间的关系,其实就是考原型链了

6、ES6  let const  与var之间区别

let、const拥有块级作用域,let在块级作用域中不存在变量声明提升,块级作用域中形成封闭的作用域,凡是在声明之前使用变量都是会报错

7、事件机制(事件捕获、目标事件、事件冒泡)   事件委托

8、怎么样好几个ajax请求并列执行?

我说了poromise.all()和async以及await,然后就引出来了个问题

promise、async、await是怎么个回事呢?有什么关系吗?

9、js是单线程的,有一个运算和耗时,会造成页面卡顿,怎么让他运行不影响后续代码的运行?

说了web worker

10、HTTP一些常见的状态码?302

11、ES6 Class的原理?构造函数?

二面主要问了一些框架的问题:

1、还是webpack 、js模块化

2、vue 2.0加上.sync修饰符有没有破坏单项数据流?

3、vue源码有没有了解?Observe、Watcher以及指令怎么实现的?数据变化怎么处罚DOM更新的?

4、react和vue的区别?react虚拟DOM

5、职业规划?怎么学习的

三面:

怎么样实现jstree那样的东东?说说你的实现思路?

 

posted @ 2017-09-09 11:20  RunningAndRunning  阅读(3725)  评论(3编辑  收藏  举报