话不多说,直接上题。(时间周期太长,可能不太全了)
面试周期:从投递简历到收到offer大概经历了一个月左右,所以最好还是不要裸辞,不然心态会裂开。
一面是电话面试,面试问题(可能记不全了):
1、各种css js基础相关问题,
(1)各种原生方法的使用,基本类型和引用类型
(2)es6中的set(集合)和map(字典)的使用和对应的数据结构
(3)sort的实现
(4)bfc布局规则
(5)项目怎么做的移动端适配?
(6)flexible原理
3、http和tcp协议?
4、缓存相关(对比缓存?强缓存?对应请求头)cookie有哪些属性?
5、简单请求?跨域?
6、vue中nextTick的实现,结合浏览器事件循环机制说一下?
6、最近在看什么新东西吗?
二面是视频面试(面了两个多小时,中途换了个面试官)
1、项目相关问题,项目还是需要好好准备。问得有点仔细
遇到过哪些难点?怎么解决的?做过哪些优化?优化有量化吗?用过哪些loader?plugin?你写的这个插件实现了什么?怎么实现的?sourcemap原理知道吗?(因为瞄过一个博客,说知道一点,说了个vlq编码,然后被问得很尴尬,不会直接说不会就好)
2、http和tcp、https、http2(队头阻塞?解决了哪些问题?哪有哪些问题未解决?tcp和udp?)。摘要算法和对称加密、非对称加密大概说一下?摘要和加密的区别?知道哪些加密算法?websocket的使用场景(socket.io降级)?
4、怎么看待virtual dom?ast语法树了解吗?vue-loader做了哪些事情?vue diff?vue computed和watch区别?computed怎么实现的缓存(dirty)?vue3双向数据绑定实现?createRender?和vue2有哪些不同,提到了函数式编程,说下对函数式编程对的理解。(答得很垃圾,vue3了解不多,尤大的直播没认真看)
6、node相关问题,node的事件循环机制?stream两种模式的区别?看过koa源码都会觉得和express有很大不同,说一下?
7、你写过小程序,说下和写vue有什么区别?然后我说setData会有性能问题(react中setState会有这个问题吗?又给自己挖坑了) 说下jsbridge?
9、为什么要离职?怎么学习的?有什么问题吗?
三面视频面试
1、项目相关问题?
2、和很多二面的问题类似
4、团队协作,以前的开发流程?
5、职业规划?
6、有什么问题吗?
1、手写bind
2、手写简版promise,基础架子,不用写all、race等api
3、爬楼梯
4、猴子吃香蕉
5、回文字符串个数(这道题出现频率很高,朋友面试的时候也遇到了,最长回文子字符串)
略
这位同学的面试流程较长,历时一个月才拿到最后的offer,这么长的时间,难免会有较大的压力,所以建议同学们在找工作时不要裸辞。前三面都是远程面试,问的细节也很多。大家可以看到在同一个知识点上可以问到很深,所以在复习时,知识点的广度和每个点的深度同等重要。如果复习时间有限,可以想办法引导面试官去问自己熟悉的领域。
四面是笔试,除了js基础,就是leetcode上的原题,题目难度为简单和中等。
整体而言,这位同学的面试还是比较有难度的,大家好好复习,早日拿到大厂offer~
最后
“前端面试题宝典”经历接近一年的迭代打磨,目前已经提供了小程序刷题、PC端访问(https://fe.ecool.fun/)。
截至2022年3月16日,已经录入前端常见面试题800+,想刷前端面试题的小伙伴千万不要错过。
我们在近期推出了简历指导、模拟面试等增值服务,有想了解的小伙伴们可以添加小助手微信(interview-fe)进行咨询哦~
面经作者:90后棒棒儿
面经来源:https://juejin.cn/post/6844904178100207623