感觉牛客发前端面经的好少。。
一面 25分钟(不含反问)
介绍实习的一些比较难的问题
介绍第一个项目,说了一些使用的库的源码思想
1.那么前端的话怎么实现拖拽呢?(项目有关)
2.https的连接方式?(讲了tcp三次握手,tls的四次握手讲得不是很好,吃大三下密码学和信安的老本)
3.手撕发布订阅(第二个项目提到),直接weakMap加set秒了
然后就说一面结束了,当时很诧异,面试官说不用再问了,从前面的沟通感觉我的能力放我二面没啥问题
二面 30分钟
还是讲了实习
1.v-model (首先讲了一下这是个语法糖,balabalabala,然后讲了一下在模板渲染阶段vue把这个视图依赖的过程收集balabalabala)
2.协商缓存 强缓存(拓展了点强缓存读的时候的两种情况,以及强制刷新的时候会发生什么事)
延伸:假设我现在script的内容改变,要怎么更新(这个答得不好,最后只到cdn以及文件会做一个哈希,面试官说其实已经有点近了)
3.讲讲js异步(我就自己发挥了,将宏任务 微任务,以及异步三巨头)
4.手写深拷贝(用keys做一个遍历和递归)
很多东西我其实挺想展开讲讲原理啥的,但是面试官老是说已经够了,没必要再讲了
反问:面评:还可以,基础挺扎实,很多原理说得挺细的
请教了一下关于箭头为啥没有Function.prototype
三面:hr面的常规问题,讲了很多我课设、项目坐牢的经历。以及很多以前我做的东西,现在给我我会怎么做。
11月才知道结果