前端三段面试经历(字节、滴滴、虎牙)
字节
一面
刚开始就问我的项目,问得很详细。
webpack 提高构建速度的方式
loader 输入什么产出什么 ?
webpack 原理
webpack 动态加载的原理
webpack 热更新
如何写一个 webpack plugin
AST 的应用
如何解析一个 html 文本,还是考 AST
babel 原理,怎么写 babel 插件
如何设计一个沙盒 sandbox ?
小程序的 API 做了什么处理,能够做到全局变量的隐藏,如果是你,怎么设计 ?
实现颜色转换 'rgb(255, 255, 255)' -> '#FFFFFF' 的多种思路。
提供一个数字 n,生成一组 0~n-1 的整数,打乱顺序组成数组,打乱几次,如何能够看起来平衡,说出你能想到的所有方法。
二面
业务,业务,还是业务,项目复盘有没有更好的解决方案。
如何处理一个重大事故 bug
监控体系
虚拟 dom 有什么好的地方? 框架为什么要设计虚拟 dom?
webpack 的缺点,让你设计一个新的构建打包工具,你会怎么设计?
在线文档编辑,如何处理两人的冲突,如何展示,考虑各种场景
excel 文档冲突高级处理,文章冲突呢?是上个问题的深化。
三面
算法题:从数组 [1, 5, 8, 10, 12] 中找到两个数和为 9,返回 [1, 8] 这样的结果。
算法题:从数组 [1, 5, 8, 10, 12] 中找到三个数和为 19,返回 [1, 8, 10] 这样的结果。
算法题:给定一个无序的整数数组,找到其中最长上升子序列的长度。
-----------------------------------------------------------------------------------------------
滴滴
一面
webpack 原理
babel 原理
虚拟 DOM 的理解
项目里如何做的性能优化
写过webpack loader 或者插件吗
讲讲你写的 babel 插件
二面
redux 的原理
redux 做状态管理和发布订阅模式有什么区别
react-redux 的原理,是怎么跟 react 关联起来的
了解多端的原理吗?
http 与 tcp 的关系
tcp 可以建立多个连接吗?
介绍一下为什么要有 三次握手,四次挥手
写过 babel 插件吗?用来干啥的?怎么写的 babel 插件
知道怎么转化成 AST 的吗?
研究过 React 的运行时吗?
职业规划。
三面
项目介绍
说一下你的项目有哪些复杂的点,以及怎么解决的
你们的业务组件库有多少个,是什么样的组件
权限组件是怎么设计的
会node 吗?
介绍一下你对中间件的理解
怎么保证后端服务稳定性,怎么做容灾
怎么让数据库查询更快
数据库是用的什么?
为什么用 mysql
希望滴滴能提供给你什么?
四面
介绍一下项目的难点以及怎么解决的
自己有什么技术上的优势
最近在研究什么技术?
职业规划
移动端的业务有做过吗?
当业务重的时候怎么安排时间?
-----------------------------------------------------------------------------------------
虎牙
一面
http 的 get 和 post 区别
缓存策略
https 的握手过程
http2 的特点
weak-Set、weak-Map 和 Set、Map 区别
mvvm 模型和 mvc 模型区别
如何实现一个 mvvm 模型
为何你用 mobx 重构了 saga,说说两者之间的区别
说说 vnode 的了解
讲讲 webpack 的性能优化
有写过 plugin
了解 webpack-dev-server 的 HMR 实现原理吗
手写一下防抖和节流
二面
你做过直播,能介绍一下 webRTC 或者现在使用直播方案吗
编码方面有了解过吗,能解释一下码率吗
编码方面有了解过吗,能解释一下码率吗
RGB 和 YUV 区别
有了解过哪些直播协议
flv 和 mp4 区别有了解过吗
MediaSource 规范有了解过
三面
webSocket 和 ajax 的区别
xss、csrf 有了解过吗,如何防范
有了解过 React 的 fiber
能简单介绍一下 react 执行过程吗
能介绍一下 hook 吗
情景题,做一个直播弹幕
------------------------------------------------------------------------------------------
这些就是三个大厂的面试经历, 我还整理了一些其它小伙伴分享的大厂面试题,包含但不仅限于:HTML和CSS、HTML5和CSS3、JS基础、Ajax、流行框架、十、Node.Js、前端概括性问题等,由于篇幅问题内容没有全部发出来,有需要的可以找我要。
结束语
无论做什么,不止前端,都应该要有自己的想法和思考,这样子才能把事情做好,做得更深。否则这就像一场梦,醒来还是很感动。希望各位读者,看上面的题目并不是背答案,而是理解它,并能活用,以后做类似的事情,有参考的思路。如果遇到和我同一个面试官,题目当然是不完全一样的,此时需要临场发挥自己的积累和灵活运用了。
最后再补充一点,如果你见过了普遍情况,了解到了普遍现象,那要是什么都和人家一样,最后不就是也成为普遍水平了吗?如果想脱离当前现状,实现突破,那么目标应该是成为有个性、有特色的、有区分度的人,成为一名不一样的前端,不一样的人。