文章目录
2021 前端面经
记得清的大概就这些,相对小的公司暂时就不放了。
其实面试也是一个交流的过程,而且从中可以了解到一些自己可能不太理解的点点滴滴,个人还是比较喜欢面试或者被面试的,虽然结果可能不太好。
三七互娱(妙小程)
一面:
- 举几个 react hook 的相关用法
- react hook 和 react class 的使用体验
- 为什么后面使用 react
- 用过 rn 吗
- canvas 使用过么
- …太久记不清了
二面:挂
- 聊聊项目
- react 和 vue 你是怎么看的
- 你的团队里有多少人
- CI/CD 有做过吗
- 平时怎么学习
- 看过什么书
- 遇到问题如何处理
二面是聊天式的,也没问什么技术,聊着聊着我就感觉我已经挂了,于是后面反问了一些个人规划的问题。
yy直播
一面:挂
webpack 的 loader 和 plugin 什么区别,它们怎么实现的
webpack 的性能优化做过哪些
公共模块做过哪些,是否有模块化
模块联邦了解过吗
小程序分包可以懒加载吗
用了 vite 的体验,和 webpack 有什么区别,为什么快,遇到过什么坑,适配问题
项目里麻烦的地方,如何解决的
移动端的单位怎么适配
微前端了解过么,为什么要出现,如何隔离
vue 和 react 的对比,它们的 diff 有了解过么
定义一个 class,其中有 static 的属性,被转换成 es5 之后是怎么写的
在不使用 flex 的情况下,如何完成下列布局,float 也无法使用呢,如果使用绝对定位,并且不使用 calc 呢
怎么分配每人的开发模块
不知道怎么就挂了,感觉还挺好的,可能是技术栈方面和直播不契合。
网易邮箱
一面
- mvvm 和 mvc 的区别
- 为什么使用 react
- 遇到最大的困难是什么
- 浏览器的性能要怎么看
- 什么标签有 href,除了 a 标签,做过浏览器跳转到应用程序么
- 设计一个 mvvm,你会怎么做
- 在不确定框架的情况下,模块的通讯你会怎么设计
- 假如让你设计一个微信小程序,你的框架需要提供些什么功能给开发者
- react hook 的实现原理,闭环链表如何判断
- 九宫格布局该怎么实现,兼容 ie 低版本的呢
- 页面埋点做过么,你会怎么设计
- 如果用户信号不好,发送失败了,数据该存在哪里,什么时候重新发送
- 如果用户直接关闭标签,怎么埋点,不阻塞用户操作怎么做
- 最近学了什么有深度的东西
二面
- 给一个链表的中间节点的指针,不给头节点,怎么跳过这个中间节点
- 为什么会从 jq 变成现在的框架开发,你个人有什么理解
- 对于栈这个数据结构你怎么看,有什么应用
- 页面埋点,性能检测怎么做
- 公司业务流程是怎么样的
- 设计模式了解哪些,讲讲常用的,给你讲的设计模式分分类
- 你觉得前端的发展趋势是什么,为什么这样觉得
- 工作两年,你最有成就的事情是什么
- 你觉得做前端最重要的东西是什么
- 你觉得你最需要了解的方面是什么
- 你个人想从事哪方面的开发
三面(hr面 09/17)
在出租车上面的,讲了一下待遇,还有团队,忘记问什么时候有结果了,也没说加一下微信,估计凉了。
果然挂了。据说问题可能是出在二面的时候某些点不够深入。
阿里(蚂蚁信用)
一面
- vue2 和 vue3 的区别
- 属性代理怎么做的
- 讲讲观察者模式
- electron 里遇到的困难是什么
- 讲讲 EventLoop,定时器是线程吗
- 0.1 + 0.2 为什么不等于 0.3
- 你在项目里做过什么配置
- …剩下的记不清了,一面问的都比较基础,基本上对着简历问的,回答的也比较随意
笔试
写了 30 分钟左右,几道不定项选择题加上两道编程题。
二面
- 前端开发了这么久记忆比较深的项目
- 脚手架用的是什么
- 前端模块化的理解,做了些什么
- CI/CD 做过吗
- 性能优化怎么做的
- vue 的 key 什么用
- 怎么学习
阿里的面试目前并没有遇到特别刁钻或者特别开放的问题,所以体验不错。
挂了。
字节(飞书)
一面
- 讲讲项目的业务内容
- 做过最麻烦的东西
- 讲讲 EventLoop
- 你了解过哪些框架,讲讲你熟悉的那个
- Vue 怎么实现 mvvm 的
- 算法题,给一颗树形,找出所有不含 children 的节点的总个数
- 算法题,给一个数值数组和 target,找出数组中所有情况下数值相加为 target 的可能,数字允许重复使用,如传入 [2,3,5] 和 8,返回 [[2,2,2,2],[2,3,2],[3,5]]
反问:技术输入太多该如何取舍? 技术是紧跟业务驱动的,否则仍然浮于表面,建议去业界一些顶级的公司去体验一下业务,技术成长会很快。
二面
- 讲讲项目
- 项目里是什么角色
- 未来规划
- 算法题
- 其他忘记了,面试太多状态好像不太好
有赞
一面
- 了解过哪些跨段框架,有什么异同,为什么使用 uniapp
- uniapp 编译到多端的原理
- uniapp 遇到什么棘手的问题
- vue 的双向绑定原理
- vue 的 slot 怎么实现的
- 在 new Vue 的时候发生了什么
- es6 的 import/export 和 commonjs 的 module.exports/require 有什么区别
- 懒加载是怎么引入的
- http 和 https 的区别,怎么实现 https,https 访问 http 的流程是什么
- 做过哪些 webpack 的优化
- dllPlugin 配置过什么/splitChunks 配置过什么
- cdn 使用过吗
二面
- coding 环节,45min 三道题
三面
- 三页笔试题
- 笔试题完毕后询问为什么这样写,如何得出答案的
- 答完之后开始问 js 相关的一系列基础问题,如果 js 进程、作用域等等
四面
- 对有赞印象怎么样
- 有什么会的但是没被问到的吗(Vue、Webpack)
- Computed 里如果写了 if else,依赖怎么收集的,watch 呢
- 为什么 webpack 的 plugin 顺序不会影响它的调用
- tapable 和发布订阅的区别是什么
hr
十分钟,主要是待遇方面,以及团队规模方面
得物
一面
- coding 一小时四道
二面
- 得到二叉树从左侧看的结果怎么做
- 忘记了,面试太多状态好像不太好,我提前中止了