今日头条:前端一到四面面经

2018-04-28 16:10:35 浏览数 (1)

个人在牛客上看了不少面经,也刷了不少题,受益颇多,自己现在拿到了心仪的offer,也写一波面经,回馈一下社区。

我是走的内推的途径,内推途径很好找,我会在文尾放上我们部门的内推渠道。说句题外话,能内推尽量内推,成功可能性要大得多。

我实在内推之后的两三天收到了预约面试的电话,约的是3月21号的下午四点,在20号我收到了邮件,告诉我面试的在线地址,然后个人建议提前测试一下。

开篇自我介绍,这个是面试基本都有的,就不细说了。

一面一上来就问了一道算法题,是最长公共子序列,这题不难,然而我没做出来。。。(我算法很渣),心态差点爆炸。

然后面试官问我对React的了解,我简单说了一下React的设计思想,它带来的改变,有什么优点。然后开始从源码的角度上讲(个人读过部分React源码,在简历中写明),从babel转码JSX开始讲,然后讲了ReactDOM.render()的一整套流程,setState的一整套流程,还有differ算法(differ算法我讲了React的和Vue的),因为个人实现过一个类React框架,所以对于这个流程还是比较了解的,面试官问的几个问题都答出来了(个人建议多了解一下源码,能直接看项目源码就直接看,最次也要看几篇讲源码的文章,我碰到的几个大厂都问了这方面的问题)。

再然后就是问了一些基础性的问题,先是操作系统部分,第一个问题是非常经典的了——进程与线程的区别。然后问进程间通信,问内存的管理方式,分页和分段。

随后是计算机网络部分,先问TCP和UDP的区别,优缺点,适用场景。然后问TCP三次握手,四次挥手,怎样保证数据有序?怎样保证可靠性?HTTP协议有哪些方法,get和post有什么区别,其他的有了解吗,你熟悉的状态码有哪些?这方面回答我的习惯是先回答标准实现是怎么做的,然后回答为什么这么做,以及不这么做有什么后果。

具体还有一些,但我因为是视频面试自己没有像以往那样录音,所以有些问题想不起来了,见谅。

一面之后紧接着就是二面,中间十分钟都不到,二面面试官上来还是让我自我介绍,之后要我介绍一下自己感觉最有挑战性的项目。我介绍的思路是先说项目性质(个人,社团还是实验室之类的),然后说项目规模(人数,代码行数等),再说项目架构,最后说自己承担的工作。这一部分建议提前做好准备,对于项目的亮点和难点都要说(自己把握好语速,基本要能说20分钟以上),性能优化是非常出彩的地方,一定要重点讲。面试官会在你讲完之后问一些问题,比如当时问什么那么做,以及会和你讨论有没有更好的做法。问的问题比较多也比较细,所以一定要说自己参与的比较多的项目,事前再熟悉一遍。再后来问了一些我个人平时写着玩的小玩意,一个爬虫,一个原生html js的小游戏,还有一个数学建模的进化论模型。我都详细说了说。

之后面试官考察了一些基础,比如我在简历中说自己实现过类React框架,面试官问我babel的原理,具体怎么做的?怎么区分<是小于号还是开始的符号。

然后问对CSS的了解,最先问的很常规,就是CSS权重,然后问我怎么用CSS实现一个正方形,我说了很基本的方法,然后面试官问我有没有更骚的方法。。。没答出来

再然后问我CSS值的解析过程(不是页面,是CSS值),喵喵喵。。。说这个东西在标准里是有的,平时可以看看

CSS后问的是JS,一个最基本的[]==true,答这种题的时候我的方法是先说结论,再说理由,如果理由思路清晰而且正确的话,就算结果是错的问题也不大。另一个问题是()=>{a:1}该箭头函数返回值是什么,理由。

再之后本应该是三面,但是部门leader比较忙,就先结束了。再结束二十分钟不到的时候,hr来电话问我有没有事件聊一聊(hr面)。hr面问的问题很多,一开始问对公司的技术,薪资,文化了解多少?是否使用过公司产品?个人最具有自豪感的时候?为什么担任科协副主席?又问什么时候可以入职?这一面我觉得是没有固定答案的,根据自己情况回答,不过最好如实回答。

紧接着是leader面(本来应该是三面),首先自我介绍,然后讲了讲项目。问我有什么问题吗?我问了一些技术栈,可能承担的工作,培训机制等待

当天晚上八点发offer,我确认入职,第二天已经开始走入职流程了。

头条效率真的是高,一天就搞定了。个人也非常心仪今日头条,所以确认了入职,也不打算面其他家了。

面试官态度还是很友好的,没有什么架子,在问问题的时候也是讨论的态度,个人从头到尾也没感到什么压力(除了算法,我算法本来就不好),不过强度真的有些大,四次面试基本是不间断的,连着问了三个多小时。

作者:梦入神机

本文来源于牛客网

0 人点赞