Hello,大家好,我是Monster。这是我的网名,你们可以叫我磊磊,不过我的同学们都叫我蕾蕾...
废话少说,直接进入主题。先来个自我介绍,18年本科毕业,毕业后进入中移子公司做运维,后来转前端,有一年多的前端经验,目前在一家算是明星创业公司工作。从转行到拿到大厂offer这个过程并不顺利,我的技术起点说实在话,算是比较低的,这些后面我有空的话会单独写篇文章。我也面了不少中大厂,字节跳动的面试算是有代表性的,今天先进入字节跳动的面经环节~~~(对技术不感兴趣的同学可以直接拉到最后看总结)
头条面试共四轮,三轮技术面,一轮hr面。整体给我的感知是效率高,体验好。难以想象我大年29还在面试...
先自我介绍下,然后面试官说:“好的,我们先做下题吧”。1. 手写买卖股票问题 (上来就动态规划,此处用郑爽金句来表达我的心情)3. 看代码输出题 (考的是EventLoop机制)4. 说下浏览器的缓存策略(从http协议的构建, 缓存相关字段,缓存类型和区别等方面阐述)5. 了解前端安全吗?(八股文我最熟练了,嘿嘿嘿)6. es6 和 commonJS 模块管理的区别
一面我记住的大概是这些内容,像第三题那种各种同步,异步代码掺杂在一起让面试者写输出的题平时开发基本见不到,但是主要是考察对Eventloop机制的理解。我后续会收集类似的题目,专门写篇文章来阐述。
二面面试官看起来亲和力很强,上来直呼我的名字,搞的人家暖暖的;中途网络问题信号断了10来分钟,结果多面了我40多分钟接受了快2个小时的技术殴打。
1. 手写题:手写EventHub,手写深拷贝(考虑正则,日期,数组等类型),算法题:移动零
3. 说下前端如何做性能优化?(这个其实范围很广,我是从速度更快,资源更少的角度进行阐述的)5. 紧接着就是一道内存泄漏的题,然后如何改正才能避免内存泄漏? 6. 你在项目中做了哪些性能优化?(根据简历问的,我解决了我们在线课堂客户端CPU占比高的问题,这个过程也可以单独写篇文章)7. 接上题,什么情况下会引起回流和重绘?浏览器的渲染机制是什么样的?8. 如何对项目进行性能分析,需要关注哪些指标?你是如何制定这些性能指标的?
不知道是不是面试官比较害羞我没看到他的脸。
1. 说下你对ELK做的优化 (根据简历问的,elk一般用于搭建海量日志存储,查询和分析平台;我从性能参数,集群层面,架构层面进行了阐述)4. 在项目中的角色是什么?项目中存在哪些问题,你是如何解决的5. 做pm的职责是什么,项目管理流程是什么样的?6. 有没有从0开始做过项目?有没有进行技术选型?9. 最近在看什么书?我说红宝书。那你用generator 模拟实现个async await (7,8题我只了解大概原理,并不会写hhh)10. 看过vue源码吗?描述下diff的原理(好家伙,我直接好家伙,还问了diff在哪个文件下)11. 算法: 添加最少字符构造回文数串 (这个如果没写出来就没这篇面经了)
可以看出来,一二面重基础(由于我面的岗位对性能要求极高,所以也问了很多性能优化的问题)。二三面的表现和工作经验直接影响到最后的title是不是“高级”。一定对自己的简历了如指掌,像elk这个之前没一个人问我的,我基本没准备,还好之前总结过答上来了,不然就是减分项。另外,如果你有跟岗位无关的工作经历,不一定是减分项,重要的是在之前的岗位有的积累和思考。我毕业第一份工作是运维,所以对内存,cpu等机器指标很敏感,也是我能发现问题解决问题的重要原因,也是简历中的一个亮点。
1. 基础,基础,基础。如果基础不好,很难过中大厂的前两关;很多人说前端东西太多了,学不过来,其实前端东西再多,只要掌握其中的核心就够了。所有的框架都是从最基础的js衍生出来的,只要基础扎实,上手其他框架很快的。
2. 刻意练习。我不是什么技术大佬,擅长的领域偏文科,在编程这块至少我是没任何天赋的。对于算法题,只能自己多练了。3. 向优秀的人学习。像我朋友圈的公众号号主们,都是我学习(白嫖)的对象,感谢你们hhh;还有我之前的领导,我身边的同事等等,他们身上有很多闪光点值得我学习。4. 保持平常心。大厂是个围城,相比于在大厂工作,更重要的是明白自己真正想要什么,然后慢慢接近这个目标就好了。人生就像心电图,是在波峰波谷中向前的,但是这个波浪的大趋势是波动向上还是波动向上,还是在于自身。 “弱小和无知从来不是生存的障碍,傲慢才是”,共勉。
因为很多小伙伴需要面经,所以我就写出来做为“Monster Talk”公众号的第一篇文章了。我做公众号的目的不是盈利,一方面是满足个人的表达欲,另一方面是希望能和更多的人交流进步。我主要的创作内容是:技术,读书,理财(投资)和产品思考,这些是我感兴趣和长期投入的方向。个人认为我知识面比较广,意味着我可以分享一些你可能没接触到的领域;但是我经验不多,深度不够,意味着我们有很大的成长空间。最后希望和大家一起进步!
希望大家可以帮忙点赞在看和转发,这对我是一个正向激励,激励我输出更多优质内容。