4.10字节跳动一二面凉经
补充记录一下半个月前字节跳动的面经,既然要写面试日记那就写完整一点好了。
字节跳动 面试4月10号进行,一二面加起来大概持续了两个小时,这是我在春招迎来的第一场面试,当时还是非常紧张的。
一面:
一个非常年轻帅气的面试官小哥,估计看我是非科班,上来甩手两道算法题
1.数组压缩重复元素后返回长度;
2.一组xy坐标代表多面竖直的屏障,选择两面屏障+x轴构成容器实现盛水容量最大化(面试官建议不要切IDEA,在牛客网页上完成编码。我当时真的是太紧张了,平时引以为强项的算法在面试场合也捉襟见肘,第一题实现了,但第二题用的是O(N2)的笨办法)
3.面试官问了下Linux操作系统内核相关,这块我还没学,完全不会,只能翻篇;
4.看我在简历上提到了Mysql,就又给我出了一道sql题(说来惭愧,这题不难,但我很久没学过Sql语句,连语法,一些常用函数都忘了,很尴尬地举了白旗,当时心态真的有点小崩)
面试官问题到此戛然而止,开始向我介绍他的项目业务,我已经预料结果凉凉,但没想到刚退出面试就接到HR小姐姐电话,提示二面面试官已经在等我了。
二面:
二面面试官年级稍大,很有领导范儿,他和一般面试官有所不同,问得更多开放性问题,让我印象比较深刻。
1.上来自我介绍。我在介绍中提到觉得大数据开发是个有趣且有前景的方向,他就抓住这一点,和我聊起了我心中的大数据开发,然后说我太理想化,别怪他泼冷水实际情况是怎样怎样云云,问我即便如此还是感兴趣吗,我当然了坚持说是了。
2.问了一个场景问题,以Hdfs的Node间通信为例,让我设计一个通信框架去尽可能实现可靠和高效性(虽然我的知识基础未必扎实,但这种开放性问题还是比较对我胃口,我就基于TCP协议中可靠性的实现为起点和他扯了一大通,最后甚至还扯到了Zookeeper中多数派保证节点间数据一致性和可用性的实现,他指出你这说得有点答非所问,我们继续下一个问题)。
3.抛了一道算法题——链表冒泡排序(我当时就是太紧张了,在写代码过程中思绪很混乱,导致扣一些边界浪费了大量的时间,把面试官晾在一边好久,最后实现还有很多问题。经过反思,我觉得这样是不对的,我也小小地建议大家,日后在面试中遇到算法题,应该采取的策略是不断和面试官聊思路,这样除了有机会获得提示之外,有时候聊得好了甚至可以避免写代码直接进入下一个问题,即便要写代码,和面试官聊出一个清晰的思路之后再写也能事半功倍。)
4.面试官人很好,表示了对我非科班孤注一掷转行这份勇气的赏识,也认可了我的表达能力。说他手下有一个项目涉及一个大数据工具的开发,问我有没有兴趣,我当然拼命点头。
5.然而问题还是出现了,在聊到实习时长的时候,当时耿直的我直接说了只能暑期实习两个月,面试官接着问我研三开学之后呢,还能保持日常实习吗,你的师兄们如何处理这个问题。因为我是南京高校,字节在上海,我表示研三开学还是要在学校的,师兄们研三也都呆在学校里。说出来就后悔了,面试官表示两个月时间太短了,他说会考虑一下让我等通知吧。
于是......在那之后直到今天我也没有等到通知。不过我心里也明白,凭我当天的那个表现,也确实不配拿到这一份实习offer,所以只能后续继续努力,直到有一次能凭借自己的发挥拿到一份属于自己的实习offer。
总结下来,个人感觉字节还是比较重视算法的,两轮面试下来,算法题占了半数以上的份额,所以各位面字节的朋友一定训练好自己的算法基础,还有锻炼临场编写代码的平常心态。
与各位共勉。