字节跳动 前端(一二三)
一面(一个多钟)
1.看你之前用的框架都是Vue,跟我讲一下你了解的Vue吧;
2.diff算法为什么好,Vnode干嘛用的;
3.VueRouter原理也讲一下,hash跟history都是怎么监听url变化的;
4.平时怎么学习的,ES6的async await 和 promise 有什么区别;
5.写一下垂直居中,html+css;
6.讲一下怎么判断原型链,typeof 和 instanceof 有什么区别;
7.css为什么要从右往左匹配;
8.有没有用过动画;
9.计算机网络讲一下,http、https、tcp,ssl具体讲一下,怎么跟CA验证证书有效;
10.http2有看过不,说到加密那说一下你了解的安全攻击和防御;
11.跨域有什么方式,具体讲一下;
12.cdn知道吗?那缓存呢?都讲一下(讲完还给拓展了一下);
13.算法咋样,怎么学的,既然一般般那就写一个一般般的深克隆看一下吧。
14.知道浏览器的渲染原理吗?各个线程会不会互相阻塞?什么情况下会阻塞?
15.平时都是用webpack吗?(实习的时候用过gulp)那讲一下gulp和webpack的区别还有适用场景吧;
16.实现一个fn,动态生成img然后完成了要返回一个promise(考点是promise的then函数的两个参数);
然后问了之前为什么不留在tx还有现在拿到了什么offer什么时候能入职实习,未来的职业发展规划之类的就让我在房间等一会;讲真这个面试官给我的面试体验巨棒。
二面(一个多钟)
面试官上来就先跟我说了团队主要负责的日常工作内容、工作地点等等,然后就开始面试:
1.看你之前的项目有用到数据上报,怎么上报的,埋点怎么埋,如果单独给我设计会怎么设计(讲完自己的想法后面试官也给我他的意见和想法);
2.ES6的let 和 const 有什么区别,然后出三个小题目问输出;
3.浏览器的事件机制了解不,node的呢,也是出题问输出;
4.怎么跨域,怎么预防xssf?转义过滤黑白名单都是用在什么地方的?怎么预防csrf ?
5.实现牛客面试显示网速信息的三角形和方框(三角形和相对定位),那讲一下定位,还有z-index什么情况下会生效;
6.用过element是吧?那实现一个遍历树的组件看一下(其实面试官的意思是给我个组件然后让我去实现循环遍历一颗树,当时没理解他的意思所以花了点时间,面试官也是很耐心的给我提示);
7.有用过sql?那SQL和NoSQL的区别是什么?
8.平时有什么优化网页的方案吗?那讲一下缓存吧。
9.知道闭包吗?解释一下是什么,有什么副作用吗?
10.重绘回流讲一下,防抖节流是什么?那写一个debounce来看看;
11.有用过git?那写一下平时常见的命令看下,fetch、merge、rebase有什么区别,怎么回滚,有没有用过svn;
反问环节,然后面试官还是让我在房间等,但是当时6.30了,等了10分钟就去吃饭了,吃一半hr就打电话过来约了第二天三面。
三面(45min)
1.平时怎么学习的;
2.设计一个倒计时秒杀;
3.项目内容,遇见的问题、难点,怎么解决,e-charts、flexible.js、移动端的视频音频兼容,同步.......
然后问了一些其他的就让我在房间等了,(我等了一个小时...)然后问了hr,hr说可以先下线休息,准备出门打球就接到了hr的电话(6min)。
面试内容应该就上面这些了,一面基础、二面基础+项目、三面项目+设计;
昨天又问了下hr,说最快是一周内有反馈,等吧。