360校招面试

做完接到电话告诉我笔试通过了,今天早上10点开始面试,最近最难一场面试,一面发挥良好,顺利过;二面中途问题太难太紧张,后期基本思路很乱,主要还是知识储备不够。

一面(45分钟)

1.介绍项目

2.svg与canvas的不同,热力图应该用哪个

3.介绍下vue开发时候如何规划项目,讲了讲组建、通信状态管理、路由、通信方式、打包发布。

4.游览器渲染过程。详细讲了渲染引擎和JS引擎。也讲了些编译原理的东西。

5.webpack本地开发怎么解决跨域的

6.webpack的原理,哪里是词法分析还是语法分析,具体什么?

7.loader和plugin区别,分别做什么

8.vue的v-dom原理,为什么高效,和模板引擎什么区别

9.diff算法

10.深拷贝,写代码。各种数据类型哪些在堆栈上?jquery的extend是浅拷贝还是深拷贝。Json的方法实现有什么缺陷

11.原型继承,写代码不能用ES6的class…extend…

12.service worker

13.websocket

14.flex布局实现栅格,实现水平垂直居中 一面问题比较和我口味,都是实现和研究过的,就全部回答出来包括追问,估计面试官也是给了个比较高的评价,当初给通过让我准备二面。刚结束立即就通知二面,然后二面很难很难,直接血崩了。

二面(1小时)

1.前端优化

2.get和post区别,get和post性能差距大不大

3.http基于udp还是tcp?tcp和udp什么区别?几次握手几次断开?为什么要这样设计?如果不这样可能会发生什么?

4.resuful的API设计

5.游览器缓存机制

6.跨域,追问正向代理与反向代理,追问websocket跨域

7.vue平级组件通信

8.200万条数据插入vue的data,不添加watcher怎么实现

9.react平级组件通信

10.rudex的设计思想

11.flux架构的单向数据流有哪些部分组成,和vuex不同点

12.jsx怎么被解析?我说AST,我知道肯定要用AST,具体说说过程。那解析jsx用了babel和webpack的什么插件或者loader

13.组件热加载方案

14.你框架掌握的不是很好。问你js基础吧。写一个观察者模式。我写不出来,讲了下概念。写一个单例模式。

15.遍历一个多叉树,我写了个递归被吐槽复杂度高。后边问我用什么数据结构优化,我说数组。然后没能写出来算法。

10分钟后收到电话告诉我未通过二面。1-6答上了,第7题到第13题基本全部不会或者讲的不清楚。感谢把我虐的很惨的二面面试官。