有些问题记得不是很清楚了,准备的也不是特别充分。QuQ,随便写写,回馈牛客~
之后有啥想起来的再来补一补~
TL;DR
一面
基本就是问问基础
实习经历 (MIUI + 小猿搜题)
给 ant-design 写 feature 的事情(有个开源项目还是很香的...)
然后就开始问 react 相关的事情
diff 算法 和 fiber 架构...(字节面筋里面也有的)
vue 里面的 Proxy 的一些作用
arrow function 特点
new 的过程中发生了啥
es6 中的一些新特性
Https 的加密过程 (CA证书加密过程到服务端和客户端确定加密算法,到开始通信的过程)
http 状态码
上问讲到 304 的时候聊了下浏览器的缓存机制以及强缓存和协商缓存这些
基本都是一些基础题,没问多久,面完就告诉过几天会有人联系二面
二面
视频面试,问了很多有意思的问题,用的是百度的如流 app,记录的有些混乱,这一轮面的挺久的,有些基础问题记不起来就不写了.
自我介绍
实习经历以及在猿辅导实习时写的一个 npm 库
聊了下 npm 库一些 version update 机制 & 语义化规则 以及当时造一个关于这个版本检测工具的轮子时为啥不考虑使用社区里面先用的方案(原有的功能并不支持hhh,要引入我需要的一些功能需要对原有的代码架构做一个break change,对社区库的收益不大,因此分析源码之后就开始自己造轮子,同时也强调了不要重复造一些轮子,但当时是为了需求所迫)。
在聊到npm 库的 version 这个的时候聊了下 ant-design 的更新流程(一个月发一次minor,每周一个patch)。
聊了下另外一个项目用到的 ts compile api,然后问了下 ts 的编译过程(这里好像还问了下babel,好像是项目里面有用到 AST 的一些操作)
用 Proxy 实现一个类似于对象代理的功能(这个不会写,题目也有点忘了hhh)
实现一个浏览器重复请求的缓存功能(要求重复请求一个接口的时候,然后之前请求的那个值即可),这里要求我本地起一个静态的服务器来 mock 几组接口数据出来,同时还要让那个请求的代码放在浏览器上面能正常运行(请求函数简单的封装了一下fetch),这里是把电脑屏幕投屏给面试官看(中间fetch api机制有些忘了,面试官让查了一手mdn(不晓得之后mdn倒闭之后,像我这种菜鸡该怎么写代码hhhhh)).
hooks 里面的 useLayoutEffect 的用法 & 以及执行机制
给了一个异步题目让把结果告诉他(分析好micro以及macro task 即可,字节这种也喜欢考)
console.log('1'); setTimeout(function() { console.log('2'); setImmediate(function(){ console.log('3'); }); process.nextTick(function() { console.log('4'); }) new Promise(function(resolve) { console.log('5'); resolve(); }).then(function() { console.log('6') }) })
然后问了些计算机基础知识(问我刷了哪些课(之前有刷过一些 MIT 的公开课,但因为一些其他的原因(要刷题)并没有刷几个lab下来,之后有空会多多学习))。
面试官没让写算法题,他觉得这些多刷刷就可以,主要还是看工程能力
三面
自我介绍
从大二开始搞前端,做外包 + 实习挣了10多w...面试官表示很羡慕,问了为啥离职猿辅导,为啥离职小米,秋招还回去吗(回不去了回不去了...QuQ)
一些工程化的问题,哪个项目让你觉得技术难点最大(然后讲了下实习时单干的一个项目)
又问了关于团队合作的一些问题(在小米实习时和团队一起做一个项目的),也有聊到开源里面一些和其他大佬合作的事情,做了哪些feature,以及自己充当的一个角色,为啥觉得团队协作效率要高
然后讲了下自己对于做业务的一些看法(怎样在团队中好好发挥)
反问问了下凤巢那边的前端组情况,主要做一些什么业务,正在做的项目(还和我聊到一个没上线的项目,但面试官觉得这个项目挺厉害的,我也点头表示了认可),以及在做的一些关于纯前端的技术(然后那边leader介绍了10多分钟)
最后她告诉我通过了,对我的项目经验以及工程经验夸奖了一番,之后hr会联系我的,而且还挺稳的,之后会 OC(不晓得是不是在忽悠我)
Others
个人 github: https://github.com/fireairforce
有个 leetcode 的刷题 repo,已经用 js 刷了 600 多题了。
全部评论
(10) 回帖