本文继续分享最新真实面经,希望对粉丝股东们有帮助,另外 文末有直投大厂的机会,别错过。 都说行情不好,可是有的同学拿到了很多Offer,各种对比;也有同学连面试都很难约到。「 能拿到Offer的大多相似,拿不到的各有各的原因 。 」
金三银四你拿到了哪些offer?
也欢迎大家在评论区留言讨论,不要错过文末的 企业直招福利 。
百度一面
Vue3 的源码
ref和reactive区别,vue团队为什么要这么设计?
源码使用了reflect,为什么要这么使用?
他是如何跟踪数据的?为什么要用weakMap?
你是如何区别不同的虚拟dom(文本,fragment,自定义组件)?
说一下diff算法?
diff算法你说到了最长公共子序列这个算法,怎么实现呢,说一说思路?
那对于新增的虚拟dom你是怎么实现插入的(换句话说你是怎么记录dom位置的,代码怎么知道我就要插入这个地方)?
CSS 部分
如何使用rem这个单位的,它是什么含义
link和import的区别
看到你有写拆分css,为什么要这么做,一个css不好吗?
你说到首屏渲染加速,拆分css,那么这个东西是绝对的吗,你拆了css,就多了一个http请求,所以你得均衡考虑,鱼和熊掌不可兼得
cdn工作原理,为什么要把静态资源放在cdn里面?
项目
讲一讲你做的这个项目(从产品定位,产品需求,功能模块三个部分,能说多少说多少)
你做的是哪一部分
rpc通信具体实现的方案?
现在给你一个场景,后端返回一堆数据,你可能要弹出多个弹窗,但是页面只有一个弹窗,只是我点击弹窗之后下一步操作弹出另一个弹窗,如何做到丝滑操作,不会有弹窗开和关的那种停顿感,如果能有封装的逻辑就更好了。
遇到的难点,如何解决的
代码题
将一维数组变为二维数组
全排列
美团一面
自我介绍
刚刚说到单点登录,能说一下它的原理吗?
前端需要做什么工作?
你们这样设计,兼容性不会特别差吗?
微应用是如何组织架构的?
你知道qiankun是基于什么封装的吗?
single SPA框架你了解吗
你能说一下单页面应用,能说一下吗?
你的理解没有问题,讲得非常通俗易懂,你知道路由切换的原理吗?
你提到了代码的复用,你平常做了哪些工作?
你这是属于CR后面做优化,然后优化中带了一些复用的点
你觉得前端整个系统有哪些复用的方面
你说的v-for是vue的?是的
你用的vue2还是vue3
vue3除了组合API,还有什么变化吗?
你刚刚说到proxy,能具体展开吗?
你知道$set吗?
computed和watch区别
能大概介绍一下vue的数据驱动的底层吗?
你刚刚说到watcher,是啥?
问几个基础性性问题,promise了解吗?new 一个 promise 先resolve,然后reject,会怎么样?
有一个then,return了一个值,下一个then能拿到这个值吗?
你的项目经历分享了xxxx,不便说
原型链你知道吧?
原型链的尽头是啥?
如果写一个类的继承你应该知道吧?
你觉得什么时候再JavaScript会用到类?
面向对象的好处是啥?
问一个比较开放的问题,你觉得前端是面向对象的吗?
闭包你知道吧?
你现在是什么时候毕业
你在在校期间有没有参加过一些实际的项目开发?
你有没有深入去做过一个事情?
平时怎么去学习前端的?
你觉得你你目前前端是个水平的人?
如果你和你的mentor观点上发生了冲突,他认为他的好,你认为你的好,怎么办呢?
两数之和
美团二面
工作产出
npm / pnpm / yarn
npm 发包 需要关注哪些点和指标
Pnpm 软链接 / 硬链接
docer性能优化
小程序性能优化
跨端原理
手撕两道:发红包 & flat函数实现
字节一面
项目难点、解决方案
数组存储怎么压缩(稀疏矩阵,三元组有关知识)
数据类型有哪些,如何判断
let、const与栈、堆之间的关系,栈、堆哪个访问速度更快,为什么?
settimeout和settimeinterval哪个更准确,为什么?延时设为0ms会怎样?(最少4ms)
事件循环
tcp、udp的区别
http如何建立连接,有哪些过程?(三次握手那些)
https如何防窃听和篡改,自己抓过包没,可以修改不?(面试官说实际上可以随便改,没试过 )
promise有哪些状态,fulfilled可以改成rejected不?常用的静态方法?
前端安全,vue怎么防止xss攻击的?
场景题:vue中如何渲染用户想要的自定义文本,比如有各种颜色,各种字体大小(类似于用vue实现一个文本编辑器)
手写题1:settimeout(() => {console.log(1)},1000)怎么让1在2s后打印,不能直接修改时间
手写题2:实例链式调用:如let a = new Man(); a.sleep(3000).sayHi().sleep(1000).sleep(2000).sayHi();写出Man()构造函数
手写题3:遍历DOM树打印每个元素的tagName
手写题4:打印数组全排列,[1,2,3] 打印[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
粉丝福利
给大家安利一下 「万码优才」 小程序的 「卓越雇主招聘月」 主题招聘活动,可以直投大厂。
万码优才 是 「程序员专属求职平台」 、有各种岗位可以投递,包括:前后端开发、算法、产品、测试、运维、硬件等 80种 类别的 上万个 技术岗位, 目前已经有80万程序员在用了。
最新上线的 卓越雇主招聘月 更是吸引了巨头企业,也新增了众多岗位。
比如: 美团、京东、奇瑞汽车、万兴科技、江小白、中建电子、中汽创智等公司的前端 岗位...
抓住这次机会,抓紧投一波:
也欢迎你进群交流,学习经验:
江浙沪高级前端群
京津冀高级前端群