计算机应届博士生的一点求职经验——字节篇

本文是一位计算机应届博士生分享的字节跳动求职经历,详细描述了技术面试的三轮考核,包括自我介绍、面试官提问和现场编程。面试中涉及Linux内存管理、生产者消费者问题等技术点,以及HR沟通环节。整个流程高效,面试官可能无缝衔接,建议面试者做好充分准备。

前言

字节跳动的整个考核流程是非常简单直白又令人舒畅的。基本上比较关键的就是三轮技术面试,其他的花里胡哨的机考/笔试,逻辑测试,AI测试,性格测试通通是不需要的。那么本文就简单介绍一下我所经历的字节跳动的考核流程。

技术面试

字节跳动的技术面试有三轮,都是通过牛客网平台连线,专业技术人员对面试者进行考核。考核主要分为三部分:面试者自我介绍,面试官提问和手撕代码。以下会对这三个方面分别进行描述。

自我介绍

自我介绍主要是指面试者对自己的个人研究方向、参与项目、发表成果的总结。我是用了一个 PPT 来总结自己的工作成果,然后根据面试官的兴趣选择他关心的要点展开介绍。这个过程面试者本人相对来说具有很高的自由度,因为这些工作是我们非常熟悉的领域——我们将技术实现为代码,我们将机制写到论文中。在介绍的过程中,详略分配也是由我们自己来掌握。基本上,我觉得需要重点介绍的是基于“现有技术”我们的“创新点”是什么?它是如何发挥作用的?在何种情况下能达到比较好的效果?局限性可能有哪些?诸如此类。

作为一个技术人员,我觉得自我介绍部分,不要扯太多边边角角的个人细节——比如兴趣爱好特长或者学生工作(如学生会),就踏踏实实介绍自己的技术领域的学习、经验、成果等即可。

面试官提问

如我在本系列 概述篇 所提到的,面试官会在面试者介绍项目或者论文的过程中进行提问。除此以外,还有一些技术基础的考察。字节跳动的面试官 1 号和 2 号在我介绍非易失内存管理框架时,就追问了一些 Linux 内存管理方面的技术背景,比如内存访问的具体流程,TLB 的作用(页表缓存),页表大小对内存访问性能的影响(Huge Page),虚拟地址与物理地址的转换,进程地址空间的管理(vm_area_struct),物理内存的管理(伙伴系统与 slab 分配器)等。

所以,大家在面试前除了要掌握自己本身工作方向的纵向科研背景,还要熟悉和了解一些大的相关领域的基础知识。做存储的就必然离不开基本的 Linux 文件系统、内存管理、存储层次结构方面的知识考查。

现场编程

按理说每个面试官在最后会出一道代码题,考查面试者的基本编程素养。

1 号面试官出的题目是经典的生产者与消费者问题,面试官没有为难我,只要求是单生产者单消费者。限制是不能使用现成的 C++(我的默认编程语言)的容器,如 queue, vector 等,必须用简单的数组实现。关于本题,大家可以参考网上的一些解答,我就不再赘述。在写代码的过程中,我会将自己的思路讲给面试官听。然后当我写完后,面试官提醒了我一个小 bug,我当即反应过来修复了。然后,关于锁带来的开销问题,面试官也循循善诱,让我继续优化写完的代码。

2 号面试官对我前面的流程表现总体感觉应该是比较认同的,编程题出了一道甚至有些过于明显“放我一马”的题目:写一份你自己发表的论文里的一种哈希索引的流程伪代码。由于确实是自己手写的代码,而且时间线上也不是很久远,因此写出这份代码(接口及流程)基本上是驾轻就熟。一边写会一边注释并跟面试官介绍这里的步骤有什么用处,实际上的实现应该是怎样的(因为伪代码缺失了很多细节)。

由于和第三位面试官在前面两个方面聊得比较多,超出了时间,就没有出编程题(侥幸逃过一劫)。

HR 沟通

本来我以为是 HR 面试,但感觉 HR 小姐姐基本上就是问了我一下是否想提前实习之类的问题,没有考核的那种感觉。据说具体的薪酬待遇情况会晚一些给出来,可能每年的行情都不太一样吧。

总结回顾

回顾字节跳动的考核,从我投递简历到三轮技术面完成,大概只花了一周左右的时间。总体上效率还是蛮高的。要注意的是,字节跳动面试各个面试官有可能是无缝衔接的:比如第一个面试官面完会直接切换到第二个面试官。所以在面试前最好养精蓄锐,以最好的精神状态来面对接下来“漫长”的考核。

我有不少在字节的同学,感觉他们也蛮喜欢在那里的工作氛围。如果有机会,我希望能够得到导师同意,去实习体验一下,以更好地判断自己是否适合字节的工作,以及字节的工作是否能体现我的价值。

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值