生活就像一盒巧克力,你永远不知道下一块是什么味道。
裁员有很多种说法,在我们这里叫纵情~
4月份集体纵情开始。最初的风声是在脉脉上听到的 ,我们两个老板的斗争结束之后,我也被波及了 ,赢的那个老板保住了自己人 ,我们被合并的就去顶了纵情名单。
经历了不甘,努力,躺平等一系列活动之后,也准备欣然接受 n+1 ,离开这第一份工作的地方。然而又被通知自己被留下了,可能自己太便宜了 ,可能名单够了,也可能是新领导争取了吧。
我以为的结束才是开始,接下来的时间,大家都开始内卷,手上负责的项目被一个校招生接手,团队氛围差的一批,原来是要我主动纵情。
下面就直接介绍在字节跳动的面试经历吧。
一面
-
说说你对 tree-shaking 的了解
-
讲一下Common.js 和 es6 module 区别
-
你简历写的脚手架其中有一个模板是针对销售快速迭代的情节,能介绍一下吗
-
介绍一下如何使用 node 实现 webpack 配置的合并
-
你针对图片编辑器做的性能优化
-
介绍一下浏览器缓存策略
算法题:
-
两数之和
-
洗牌算法
做完上面 2 道题后:面试官:emm....面试时间还没结束再做一道题目吧!
-
数组中的第 k 大的数字
花了点个大顶堆,然后很快就求出来。
面试官:emm。。。。还有点时间,你还有想到别的办法吗?
又写了个快排解法,写完之后面试官说顺便写个归并排序,我就改了一下写出来。
好了,面试结束,然而这才是噩梦的开始。由于算法题做的太快,不知面试官写了我啥评价,后面的面试基本变成做各种题。
二面
-
图片编辑器做的性能优化(以上)
-
redux-saga 和 mobx 的比较
-
https 有了解吗?简单讲了一下非对称加密的握手过程证书签名过程和如何防止被串改
-
跨域有了解过吗
-
说说 webpack-dev-server 的原理
-
如何处理跨域
-
cookie、localStorage和sessionStorage 三者之间有什么区别
-
跨域时怎么处理 cookie?
然后就开始做题:
-
爬楼梯
面试官:那我们改编一下题目,改成
-
使用最小花费爬楼梯。我:修改一下之前的答案,很快做出来。面试官:还有点时间,我们再做一题稍微难一点的
-
编辑距离 我:这题居然说稍微难点???还好之前做过,那方法真的不是一般人想得出来。然后又做出来了。面试结束了,感觉都是在做题。
三面
-
自我介绍
-
介绍项目
-
electron 的主进程,渲染进程之间区别和他们通信手段
-
webView 和 iframe 区别
-
你这个 PC 应用做了哪些优化
-
怎么实现大型文件上传?
-
录屏优化
又开始做题,做了一题比较偏冷的题目,看概念我都要理解几分钟的。虽然做出来,但是不是用数组实现,而是用链表,面试官问我如何再优化,我就是说改成跳表,空间换时间,但是其实正确答案是二分查找……
四面
四面就比较轻松,问了一下项目就开始做题。先从简单开始
-
路径总和
-
做完后在此基础上,改变成路径不需要从根节点开始,也不需要在叶子节点结束。虽然题目不难,我也做了减枝的处理,但是面试官说还能优化,如何减少重复计算。这就难倒我了,我知道需要用一个 map 来保存中间的结果,但是这个 map 的 key 如何设计一时想不出来。想了很久说没思路面试就结束了。
看完这位同学的面试经历,不由感慨,毕竟是字节。整个面试过程中,对于算法的考察特别多,特别是还有LeetCode上困难级别的算法题。
其他的问题都还比较常规,有项目,前端的基础。
如果大家有想去字节尝试的,可以多练习一下算法。
最后
如果你现在正在找工作,可以私信“web”进群领取前端面试小册、简历优化修改、大厂内推以及更多阿里、字节大厂面试真题合集,和p8大佬一起交流。