一、中瑞控股
1、css 实现三角形、css 实现箭头?
2、css 如何控制在移动端小于 12px 字体?
3、transform 变换时的原点怎么修改?
4、css 什么属性可以设置事件穿透?
5、移动端如何做页面适配?
6、css 线性渐变的属性是什么?默认渐变的方向是什么?
7、一个 div 我想切成梯形,怎么处理?
8、页面的 pageshow 事件你是怎么理解的?
9、script 标签为什么常常放在 body 底部?
10、0.1 + 0.2 为什么不等于 0.3 ?日常对于这种场景怎么处理?
11、雪碧图是什么?原理是什么?
12、react 生命周期?
13、react hooks 的闭包陷阱?
14、react hooks ref 怎么使用?
15、react 父组件如何使用子组件的部分方法?
16、react 中为什么不推荐使用下标作为 key?
17、webpack 一级配置属性有哪些?
18、设计一个方法,要求:取任意区间的随机数?
19、如果让你实现一个 antD Form ,你会怎么架构设计?
20、koa 中的 get 参数是怎么取值的?
21、koa 怎么设置跨域?
22、koa 怎么设置全局参数?
二、极客时间(一面)
1、移动端如何适配,使页面可以在不同设备展示一致?
2、flex: 1,解释一下意义?
3、两个盒子都 flex: 1,此时两个平均分,我想在中间插入一个 10px 的空间,怎么做?
4、前端动画怎么实现?有什么方式来做?
5、vue 和 react 的差别?
6、你知道哪些 js 中数组的方法?
7、slice & splice ?
8、箭头函数的 this 指向?
9、this 在什么时候确认?
10、async await 是什么?
11、async function A() { return 1 },在 A 中返回一个1,当我们调用 A 的时候,返回结果是什么?
12、强缓存、协商缓存?
13、除了 webpack ,其他的打包工具有了解过吗?
14、实现一个组件库的思路?
15、你自学前端的方式是什么?时间怎么安排?
16、对自己技术上的规划?
17、有没有想过做开源项目?
三、moka(一面)
1、code review 是怎么做的?
2、code review 时会关注哪些点呢?
3、手写题:实现一个 JSON.stringify()
4、react 的生命周期?
5、hooks 是可以写在条件判断里吗?为什么不可以?
6、你是怎么理解 webpack 的?
7、webpack5 了解过哪些更新吗?
8、写 webpack loader or plugin 时,有遇到过什么棘手的问题?
9、在看 webpack 文档的时候,使用什么方式去看的?
10、typescript 最大的优点是什么?
11、说一说 git 的一些 操作 & 命令?
12、为什么使用 git merge 而不用 git rebase ?
13、最近在学什么?
14、怎么学习的浏览器原理相关的知识?
15、平时怎么关注前端的新技术点?
四、moka(二面)
1、聊聊简历中的点
2、一道场景笔试题:记不清了😂
3、为什么要用 node 做中间层?
4、平时自己是怎么做到减少 bug 数量的?
5、webpack & rollup 你如何选择?
6、对 bundless 怎么理解的?
7、vite 的原理?
8、docker 容器化了解吗?
9、docker 怎么打一个前端镜像?端口映射是什么?
10、目前公司的项目是如何部署的?
五、moka(hr面)
1、期望薪酬是什么?
2、已有 offer 是哪些?
3、离职时间?
4、上家公司的工作强度是什么?
5、你做过的最有成就感、结果最卓越的需求 or 案例?
6、在过往经历中,有出现过因为你的原因引起的高级 bug or 重大事故吗?怎么解决的?收获是什么?
7、休息日自己喜欢做什么?
8、能演示一个你自己业余时间实现的,印象最深,最有成就感的项目吗?
9、自己平时学习新技术的方式是什么?
10、分别用三个关键词形容一下自己的优缺点?
11、最快入职时间?
六、字节跳动(一面)
1、聊聊简历中的项目
2、基于浏览器插件,问了一个场景问题
3、平时在封装组件时,你秉持的理念是什么?
4、flex: 1,具体是什么?
5、flex 子item 的一些属性?
6、代码执行顺序题,主要考察js作用域、this指向、let & var...
7、算法题:设计一个算法,判断回文数字,比如 101 是回文,-11 不是回文,121 是回文。
七、字节跳动(二面)
1、演示简历中的枚举值工具
2、聊一些简历中的问题
3、聊聊 jsbridge 的了解?
4、你了解的样式隔离的方案?bem、vue scope、shadow dom、css module、css in js...
5、multi repo & mono repo?
6、webpack HMR 原理是什么?
7、口述代码执行题:类似下面的 :一些EventLoop的执行顺序
7、手写题1:实现一个 Promise.all() 。
8、手写题2:实现一个 promise 链式执行,function([p1, p2, p3]),让三个 promise 串行执行。
9、手写题3:JS实现一个带并发限制的异步调度器,保证同时运行的任务最多有两个。
八、字节跳动(三面)
因为没有录音,记不清具体的题目了,大致也是聊的简历中做的一些项目,浏览器插件偏多
考察的点比较广,主要是一些软性能
1、枚举值套件思路
2、zan chrome tools 浏览器插件(背景 -> 功能介绍 -> 远程热更新原理 -> tensorflow 加载权重文件代码展示)
3、业务介绍
4、浏览器插件热更新策略(手写代码,主要还是上面聊到了浏览器插件有个热更新)
其中有一个智力题:
有白、灰、黑三种颜色的变色龙,其中两种不同颜色的变色龙相遇会同时变成第三种颜色,问三种颜色的变色龙数量分别为10,14,15时可能变成同一种颜色的变色龙吗?如果数量分别为10,13,15呢?
九、字节跳动(hr面)
1、开始找工作的时间点?
2、除了字节还有哪些公司在看?
3、对offer的选择会有什么倾向点吗?
4、对薪资有什么预期的涨幅?
5、过程中觉得印象比较深刻、难度比较大的项目?
6、为什么从后端转前端?怎么学习的前端知识?
7、第一家公司的规模?
8、从前端角度,觉得抖音电商有什么优化点吗?
9、技术博客、视频分享的时候,主要的主题是什么?
10、分享一下自己的优点和缺点?
十、小米(一面)
1、聊聊简历中的项目
2、主要聊了一下简历中的浏览器插件:功能点、热更新、HMR...
3、浏览器插件:popup 与浏览器页面的通讯方式?
4、浏览器插件三方依赖怎么处理?
5、浏览器插件优化方案?
6、mono repo?
7、新知识的接纳过程?
8、解耦组件的实现方案、实现背景?
9、自己比较擅长的方面?聊了一下枚举值取值套件。
十一、小米(二面)
1、了解哪些前端前沿的技术?
2、mono repo,lerna,lerna的一些实现原理?
3、解耦组件的实现原理?
4、web worker 传值时会有什么注意点吗?
5、谈谈你对 WebAssmebly 的了解?
6、对目标岗位有什么诉求?
7、主要聊了一下简历中的浏览器插件:功能点、热更新、HMR...
十二、微软(一面挂)
1、主要聊了一下简历中的浏览器插件:功能点、热更新、HMR...
2、聊聊跨端?
3、聊聊 web component ?
4、webpack 的 dev 和 prod 的产区别?
5、webpack 的 splitChunk 使用方式?
6、splitChunk 怎么评判拆分体积的大小?
7、手写题:
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:
Integers in each row are sorted from left to right. The first integer of each row is greater than the last integer of the previous row.
Input: matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3 Output: true
Input: matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13 Output: false
一些小总结
1、自己的简历一定要有一些亮点!!!如果毫无亮点,面试官可能上来就扔两道算法题去做了,那就别怪人家为啥一点项目也不问喽。
2、八股文要花时间背熟,不断复习,不然面试的时候脑子空白很容易说不出来。
3、手写题多写两遍,把思路背熟,现场也比较容易写出来(现场不是背代码,而是背逻辑)。
4、算法题是一定要刷的,不过不要盲目刷,最好按不同类型刷一些典型的算法,这样既可以快速刷一遍,也方便总结技巧。
5、个人介绍最好长一点,3分钟,按时间线来讲会比较清晰,另外要多讲一点简历中没有的东西,体现个人的亮点的东西可以说一说(说出来比写在简历中要有效果)。
6、在准备阶段最好整理一个文档出来,推荐飞书文档,我在准备时大概写了4万字的总结文档,便于快速复习。
致谢
1、八股文背题网站:www.yuque.com/cuggz/inter…
2、算法练习网站(特别详细!):programmercarl.com/other/intro…
3、背题小卡片工具(特别好用!):qingk.com/
4、不粘人让我背题的女朋友!
5、一路上碰到的好大哥们!