blog / gadflysu

希望與熱烈的風
Talk is Cheap

  1. 1. 一面
    1. 1.1. 基础
    2. 1.2. 算法
    3. 1.3. 小结
  2. 2. 二面
    1. 2.1. 基础
    2. 2.2. 算法
    3. 2.3. 小结
  3. 3. 最后

蒟蒻的第一次求职面试且失败之旅。:)

一面

7 月 17 日晚上接近 24 点才投递简历,字节跳动的校招提前批客户端开发。由于我可怕的拖延症和踩点习惯,简历并未顺利进入提前批内推系统。在此非常感谢校友学长帮我内推给 HR。18 日中午收到电话和邮件的面试邀请,约定 19 日早上进行面试。

接完电话我是开心的,像我这样的菜鸡,从发出简历到收到邀请竟然不到 12 小时,怕是审核阶段不严格,等后期……然后我马上开始慌了,放下手头堆积的有的没的折腾的东西(比如本博客站点 XD),浏览器 Ctrl + N 开始查各种面经,重要考点……是,尽管我计划暑假开始找实习的(已经晚了,其中的无奈与自作自受按下不表),但我仍未能理智地分清轻重缓急,求职面试方面其实没有任何经验。

幸好看到字节跳动的机会的时候,也算有努力一把。At least I started. 18 日下午开始匆忙准备,慌得心脏不停地急速地跳,一直持续到第二天 10:30。这就是我的心理素质水平,和学校的考试前一样。所以我亦时而饮鸩止渴——靠娱乐视频来缓解极度慌张的心情。18 日晚上只睡了一个多小时。

19 日 10:30,面试准时开始,时长约 50 分钟。面试官声音很温柔,初印象是直爽且细致,他开门见山,没有要求自我介绍,在短暂的调试完音视频通话延迟之后,直接开始提问专业知识。

我真啰嗦,开门不见山——

基础

  • 近年手机产品宣传中的 32 位与 64 位指什么?编程时提到的 32 位与 64 位指什么?
  • C 的 sizeof
  • C 函数中形式参数的值传递
  • C 函数调用栈
  • 进程与线程
  • 进程的上下文
  • 大端与小端存储模式
  • 文件格式识别
  • TCP 建立连接的三次握手、关闭连接的四次握手,假如数据均已传输完毕,关闭连接可否仅三次握手?

如上几个问题,可能有遗漏,是我忘记了。我好疲惫。

算法

  • 求两个链表的交点。简述思路。

    一开始我竟然有脸说写两个 for 循环直接暴力,我佛了,丢人也不是这样的。显然需要优化,后来我说直接扫一边查出重复出现的地址。场面陷入尴尬,面试官说那么简化点,仅检查是否有交点。面试官看我还是不会,尝试善意地引导我。最后放弃。

    这道题是 LeetCode 0160

  • 求最长递增子序列。Coding.

    经典题目,不过我还是拿起草稿纸稍微画了一下,开始写一个简单的 dp。完成。

小结

一面总体难度是简单的,奈何我太菜,感觉凉了。我太太太太紧张了。(借口)

二面

万万没想到一面过了,面试结束两个小时后接到电话的时候,我在补觉。HR 本来安排下周一,我要求多一些时间准备,于是约定 24 号。

24 号 14:00 准时开始,历时约一个小时。中间因为开热点用于联网的手机没电直接关机导致面试中断,场面十分尴尬。面试官同样很温和,常常微笑,让我不那么紧张;但这也有个坏处,就是缺乏准确的效果反馈,让我竟然以为自己表现得还可以,实际上已经被淘汰了。这场面试还有个特点(不知道是公司特点还是面试官特点),就是问题不难,甚至算是简单的,也因此对于回答的要求会比较严格,「准确、全面」应该是基本的,这是后来才察觉到的事情。

开始其实有要求一个简短的自我介绍,但面试官似乎没有特别明确,加上一面的经历,我的答复显得有点……非常……随意。接着是聊项目,这里应该是我对以往项目的思路、见解,但我竟然如实交代我「几乎没有项目经验」,其实课程作业也是可以的,面试官希望了解的是我如何参与一个项目的设计、讨论、实现等等。我表现很差。面试官看我如此差劲,甚至调整形式,以他作为同学的角色来和我探讨项目。以一个计算器应用为例子,我尝试去描述需求、功能、架构等,我的表达相当贫瘠、混乱、毫无亮点。我根本对应用框架没有把握,面试官似乎问了我在课程作业中有没有接触到什么,我终于提到了 MVC 架构,提到了在《UML 系统分析与设计》课程里做的「餐厅预订系统」。就此聊了一些,比如系统设计的框架、主要类等等,最后的重点是问如何避免在某次写入数据的操作期间数据库发生其他修改,我试着从「锁」的角度去讲,面试官则考虑的是数据库的事务。

Fine. 期间也穿插了一些基础的问题。

基础

  • 描述从输入网址到浏览器显示网页的详细过程
  • HTTP 是基于 TCP 还是 UDP
  • 简述 HTTPS
  • 正则表达式(根据我博客提问的,但我只是初步接触那是学习记录而已啊 QAQ)

应该还有别的问题,是我忘记了(复读)。

算法

  • 求数段区间的并区间。

    读完题目和面试官表述题意,确认后开始写。正是在此 coding 期间意外断网的,尴尬的是等到我写完准备在网页上提交运行超时才发现面试官的画面已经是静止的了,彼时我还疑惑「咦,他为什么不动啊」。可恶……不过代码基本 bug-free,毕竟题目也比较简单,我写的是 O(n log n),也许可以优化但我太蠢了。

    这道题是 LeetCode 0056

小结

最后面试官问有没有学习过别的领域或者感兴趣的,我提了一下 Git 和自动化,后者还没学。事实 Git 这种东西不值一提并且没有什么可问的。XD

二面其实难度也不高,但面试官的评判应当比较严格。而我从整体状态到知识技术各方面都,挺差,甚至没有准确的自我判断。感觉凉了。

最后

第二天收到邮件,没有后续。

菜是原罪。

这样的面经应该对他人没有用处,是无谓的记录。

挺遗憾的。

Author : gadflysu
本文采用「知识共享署名 - 非商业性使用 - 相同方式共享 4.0 国际许可协议 (CC BY-NC-SA 4.0)」进行许可。你可自由分享演绎,惟须遵照:署名非商业性使用相同方式共享不得增加额外限制
Link to this article : https://blog.gadflysu.com/career/first-interview-with-bytedance/

This article was last updated on days ago, and the information described in the article may have changed.