【头条后端面试】

UPD:周五HR面完了,给了口头OFFER。说大概两个工作日给offer,头条效率好高,从投简历到面试完成不到1周

1.打完比赛回来,废了一周,就开始计划后边的事情了。把网络,数据库,OS看了看。就投了几个简历,很快就收到了头条的面试邀请,就硬着头皮上了。

2.HR小姐姐把面试地址发了给我,约好时间就开始了。面试之前也看了其他大佬面试头条的经验,据说如果一面过了会接着面,面试是连续的。

一面:两点钟面试官准时上线,开始自我介绍。

(1)自我介绍

(2)聊聊学校经历,聊了聊ACM。面试官似乎也是曾经ACM圈里的,对这个比赛很熟悉的样子。

(3)聊聊项目,技术实现。

(4)mysql索引机制

(5)InnoDB为什么用B+树

(6)线程和进程的使用场景

(7)Session和Cookie,会话保持(这个当时答上来,我说的是Session过期了就自动失效,谁知道完全不对)

(8)开始做题:矩阵中的最长上升路径,DP很快就D完了。然后是一个单调栈裸题。

最后面试官给了一个github的地址,说我项目里面有一个没有实现的点,可以看看这个。然后准备二面。

一面的面试官人超级好,很nice,提示了不少给我。点赞

二面:过了三十分钟左右,二面面试官就来了。

(1)听过你的项目用了mysql,说说索引?

(2)InnoDB索引底层?

(3)C++ map怎么实现(因为面试官问我熟悉java还是c++,我说C++)。

(4)为什么不用红黑树代替B+树索引?

(5)为什么不用B+树实现map?

(6)开始做题:

      1.说了一个pv和uv,如何统计过去一个小时的pv和uv? (这个说了一个差的很远的答案,然后面试官放弃了,问了我一个算法题)

     2.区间求并集。这个是一个线段树的裸题,我当时不准备写线段树,因为调又得调一年。我说set可以做,然后大力写写写,面试官看了觉得OK,就问啥时候能去?说一月份,可以实习半年左右,就结束了二面。

  二面之后我觉得我没了,因为有个题答得稀烂,还有其实我不是很了解红黑树,就在哪瞎BB。然后接到HR小姐姐得通知,二面没问题,接下来是技术主管。

   当时惊了,因为二面的面试官给我的感觉就是我G了。

   然后又约了三面,是上午十一点。起床洗漱一下就开始了,头发还是乱的。

三面:十一点,面试官准时上线。

    (1)聊聊项目还是做题?(我:都行)

   (2)那你说说你的经历和项目吧(我:balabala的一堆)

   (3)好,开始做题。

  (4)同余听说过嘛(我内心:我强项,但是还是压制住喜悦说,听说过)。那给你一个数n,m个整数,问你用这个m个整数组成的最小的整除n的数?组成代表的是数位拼起来。(我当场来了个DP[i][j]:第i位选j%n=k,最后找等于0的。)

       面试官:那复杂度?

      我:nm。

     面试官:那你啥时候停止呢?

     我:这个。。。。emmm,我算算,然后用同余算了半天。。BalaBala了一堆

    面试官:OK,可以,下一题。

    我:这个题贪心,然后二分查找。但是我无法证明贪心的正确性,所以我会选择最正确的二分图匹配。

    面试官:好的,那你写一下。大力写写写,终于过了。

    面试官:什么时候能来实习?可以实习多长时间?(然后我说了说,就结束了面试)

三面面试官也很棒,很温和

总结:虽然是第一次面试,但是感觉很棒,虽然还没结果,有了结果再更新。校招实习生真的是很注重基础的,没必要去学那些框架,库啥玩意的,把三大基础课学好,算法和数据结构再精深一点我觉得问题不大。还有最关键的一点就是生活处处皆学问,因为面试官问了我项目里面的用户密码是怎么存的,这个问题要追溯到11月,我们去上海ICPC打比赛时,我得注册信息错了,然后我的密码忘记了,我打电话给工作人员让他们把我的密码告诉我一下,他们说密码不是明文,存的是Hash值。当我听到面试官这个问题时:很淡定的回答,我为了偷懒直接存的明文,但是我知道时不能存明文的,要存Hash值。得到了赞许的目光。

发布了370 篇原创文章 · 获赞 48 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_41863129/article/details/103407843