一些也许有用的求职经验与感悟

  • 前言
  • 简历
  • 选岗
  • 笔试/机考
  • 面试
  • 与HR的交流
  • 本系列后续博客

前言

大家好,我是华东地区某双一流高校计算机系的博士研究生,研究方向为新型非易失内存与存储系统,预计明年6月到9月毕业。从今年5月份开始,我陆续投递了简历给一些企业的对口岗位,也得以积累了一些笔试、面试的宝贵经验,有通过后的欢呼雀跃,也有当场挂掉时的难过失落。因此,我萌生了将自己的这份求职经历记录下来的想法,也希望能够给学弟学妹们及其他后来者一些提醒与警示,让大家能够站在前人的肩膀上,少走一些弯路,获得更加顺利踏实的求职体验。

虽然网上已有许多前辈们在博客、论坛、贴吧里记录了自己的求职过程、面试经验、代码考核详情等,给包括我在内的许多求职者提供了宝贵参考,但美中不足的是:这些叙述有些个性化,碎片化,难以作为一种完整的、通用的参考。我想,我接下来所要做的事,就是提供一个相对完整的视角来回溯整个求职过程中的一些必要准备、注意事项以及反思。相信会在前人的基础上,给大家一些额外的参考补充。

由于本文是概述篇,我将不会对单独的企业单位做详细的求职回忆。当然,这部分内容会放在本系列博客的后续章节中分别介绍。本文将着重从整体的角度谈一谈以下几个主题:制作简历、选择岗位、笔试/机考、(远程)面试、HR交流以及对本系列后续文章的具体安排。

简历

简历有各种各样的模板,相信同学们在从前可能也都或多或少的接触过、准备过。然而,当踏上真正的求职之路时,简历不应该仅仅只是照着模板修改对应文字那么简单。而应该根据自己的特点、申请单位特点、申请职位特点做个性化的定制。一言以蔽之,我们无需追求制作一份漂亮的简历,而是制作一份规范的简历。这里的规范,即符合两个特征:第一,不泛泛而谈,而是强调突出个人的能力特点;第二,不盲目罗列,而是符合用人单位对该职位的期望。

为了达到以上两个目的,作为经历了三五年科研生活锤炼的硕士生/博士生,就应当把科研成果(论文/专利)和项目经历(项目名称/内容/目标/任务/代码/完成情况)作为简历的主题进行描述。这一点,相信无论是去学术界还是企业界,都是适用的。因为个人能力有限,在学术上并没有十分优秀的论文产出(无论是质量还是数量),所以暂未考虑申请学术界的工作,因此本博客更适用于去企业的申请参考。

对于科研达人来说,paper可能发到手软,这种情况简历是非常好办的,毕竟一个 publication list 加上若干 CCF A/B (或者SCI 1区等)的说明就足以证明自己的实力。然而,我更想讨论的是,作为一个普通的博士生(比如我自己),论文数量刚刚达到毕业标准,这种情况该怎么定制自己的简历呢?

我推荐如下三种方案:

  • 添加二作/三作论文:如果我们和其他同学在一个课题上合作研究,但不是主力的话,其实也可以作为自己的一个资质证明。但注意要吃透该研究方可罗列。
  • 细化论文研究内容:可以在论文名称+链接后面添加工作简介,如背景、动机、设计、实验结果等。可以使论文这一部分看起来内容更翔实。
  • 将论文与项目经历整合到一起:不单独罗列论文发表情况或者专利申请,而是结合项目经历描述成果时可添加此项,引起面试官注意,同时不会显得论文发表量匮乏。

在撰写简历中,有一些注意事项:

  • 罗列论文/项目时按重要性顺序进行排序,如不影响则可按时间排序(由近到远)。
  • 不要列任何自己没有深入理解的论文/项目在自己的简历上,换言之,我们要对自己的简历有绝对控制权,因为后面面试官有可能追着简历的任何一个描述询问技术细节。
  • 无关申请岗位职责的内容(如学生会/社团/班级干部、学生助理等、个人评价)尽量往后放,不要占据过多注意力。

基于以上内容,我们可以给出一些技术职位申请简历的基本内容:

  • 个人信息(姓名、毕业时间、研究方向等,可个性化填写如GPA、英语四六级等)
  • 教育经历(本科+研究生)
  • 项目经历(按序说明,细化描述)
  • 论文发表(2篇以上则自成一节)
  • 专利申请(2个以上则自成一节)
  • 获奖情况(可根据个人需要使用此节)
  • 学生工作(可根据个人需要使用此节)
  • 其他说明(如个人评价、特长等,可根据个人需要使用此节)

选岗

不管我们去应聘哪家公司,在投递简历时都需要指定岗位。这件事请务必认真对待,选择的岗位最好契合我们自身的研究方向,或者至少是自己有兴趣正在进行自我提升的方向。

在读完本科以后,我们尚且年轻,还有很大的试错和悔改的空间。比如考研/保研的时候换专业方向,比如原本学的理工科却从事了销售市场公关等。但研究生毕业,尤其是博士毕业后,如果选择的专业不对口,将会造成十分糟糕的工作体验(两位学姐的切身体会,她们都已经辞职另谋出路)。尤其是,对我们大部分没有在社会中切身实战过的应届生而言,第一份工作十分重要。平台的大小,方向的契合,将可能影响我们的一生。因此,我们要在投递简历时抱以十足的认真去选择合适自己的岗位,切莫嬉笑仓皇中按下自己今后的选择键,一失足成千古恨。

当然,从实操的角度来说,判断岗位匹配度是不难的。因为大部分公司在岗位描述部分都会罗列该岗位的具体职责以及所需的技能。我们稍加分辨,便可知道自己过去的项目经验、课题经验是否允许我们顺利开展岗位描述里所说的工作。

选择好岗位之后,便可投递自己制作好的简历。许多公司允许填写两到三个志愿,所以我们也可以给自己多一点容错空间(因为第一志愿如果面试失败了,可能会被推送到第二志愿的流程)。很多公司在申请职位的时候要求填写官网上的个人信息(也就是简历),模板不一而足,可对照着自己准备好的简历做出取舍。

PS. 很多企业在B站上有直播宣讲会,如果想了解某企业详情,可以在春招秋招的时候关注他们的线上宣讲会。

PS 2. 除了统一的春招秋招时间外,一些公司对(博士)研究生的招聘是不设严格时间限制的,如华为、阿里。如果有意向,可以在自己觉得合适的时机发送简历或联系HR。

笔试/机考

一个关于读博的重要误解是,代码能力对博士不重要。我觉得更合适的说法是:博士的核心竞争力不是强悍的编程能力,是发现、分析和解决领域尖端问题的能力,但他应当具备使用某种编程语言实现自己提出的工具/算法/软件的水平。换句话说,原则上博士可以写不出简洁优美的代码,但不能不会写代码。

当然,有原则就有例外,那些研究纯理论的博士,也许对其确实不必苛求写代码的能力。不过我想说的是,对于大部分博士生而言,必须具备基本的编程能力。一个风向变化的证据就是,华为公司在2019年以前是不要求博士生参加机考的,但之后要求包含博士生在内的所有应届生必须参加平台机考,才有机会获得录用资格(机考挂了就没有然后了)。

不同的公司笔试风格不太相同。但据我个人经验,很多中国企业现在都使用牛客网平台考察代码和相关技术能力。那么,该如何准备笔试/机考呢?我觉得主要分如下三个方面去准备:

  • 重要数据结构和算法的编程练习:这一部分可以到leetcode/力扣上的题库去练习,解题完成后还可参考LeetCode 题解学习最优方案。知乎上有关于如何高效使用 leetcode 的讨论,也可参考学习。
  • 牛客网实战练习:注意,牛客网与 leetcode 有一个重要区别——牛客网要自己处理输入输出数据。很多时候,AC不过就可能在输入输出上卡死的。所以如果公司要求在牛客网上进行机考,一定要勤加练习,避开一些常见的输入输出处理错误。另外,牛客网和 leetcode 的“练习”模式与“考试”模式有一个重要区别——“考试”模式只显示AC成功率,不会显示哪个 case 没有通过。所以平时模拟的时候就尽量适应“考试”模式,特殊情况自己要耐心细心地想清楚。
  • 编程语言相关基础知识:有些企业的笔试不仅有编程题,还有选择题(或填空题),要求对某一门编程语言有足够扎实的了解。对博士生来说,这一部分不建议花太多时间,平时有编程积累,到时应答也是水到渠成的。对一些常用知识点稍加准备即可。

另外,有些企业会有专门一轮类似公务员考试的逻辑能力考查,要求限定时间内做一些图形规律题、数字规律题、逻辑判断题等。我觉得这一部分不需要特殊准备,临场发挥即可。如果说非要用这种题刷掉专业十分对口的博士,我感觉不是博士的耻辱,而是企业的耻辱。

面试

由于新冠疫情,现在的许多面试都是以远程视频为主。目前为止,我所有的面试都是通过这种方式完成的,工具包括 zoom(现在已封杀中国大陆用户的大量权限)、腾讯会议、牛客网等。在面试过程中,我们可以分享自己的本地界面,如编程界面,给面试官,以达到完成代码考核的目的。一般来说,面试总共有三个环节:一、面试者介绍自己的个人情况和工作成果;二、面试官提问,面试者回答;三、面试官考核代码,面试者实时分享编程界面。

从我个人的经验来说,面试官主要考察的手段有以下几种:

  1. 结合论文介绍,询问相关技术细节;
  2. 结合项目介绍,询问相关技术细节;
  3. 结合论文/项目介绍,考察相关技术背景;
  4. 提问编程语言相关的技术问题;
  5. 提问研究方向大背景的相关问题;
  6. 提问研究方向相关系统/工具的具体细节。

其中,第 1/2 类问题通常是面试者占据主动权,主要职责是将我们自己的工作讲清楚,让面试官对该工作有大致的理解并认可该工作的一些贡献。而 3-6 类问题则属于面试官掌握主动权,随机地试探面试者在某方面的知识(体系)是否扎实深入。比如,我在介绍“持久内存(NVM)管理”时,面试官问我“那Linux本身的内存管理机制你能具体介绍一下吗”,“如果NVM容量很大,会对页表和TLB造成什么影响?如何优化?”(3类问题)。再比如,我在说到“文件系统的接口会产生比内存接口更高的读写开销”时,面试官问我“你能介绍下文件访问读操作的具体流程吗?越详细越好”(5类问题)。再比如,“你有读过Redis源码吗?能讲一讲为什么Redis使用单线程模型实现吗?”(6类问题)以及“你平时编程用C++,能说一下C++11有哪些新特性吗?”(4类问题)。

想必对于大多数面试者而言,“手撕代码”是三个环节中最紧张刺激的了。经历了若干轮的代码实测,我现在已经不那么紧张了。我觉得,三个月以来的 leetcode 练习确实让我在应对面试环节代码考核时拥有了一些“套路”,能够相对从容地写出注释逻辑、数据结构、自定义函数等。由于时间限制,面试官考察的问题不会很难,但通常会有一些边界问题需要注意。我认为,想要顺利通过第三环节的考核,归根结底还是要勤加练习(如leetcode),这没法投机取巧。

那么在面试前,除了在各个网站上看面经,刷编程题,我们还可以做什么样的准备?一份 Presentation,可以是 PPT、word,或者其他形式的演示内容。我认为这一点十分重要,因为它可以帮助我们更好地介绍我们的工作,而不是仅仅通过口头进行描述。简单的言语传递信息的效率并不高,而且常常造成误解。尤其是对于科研工作的描述,可能涉及到大量的专业术语或专门的工具/结构等,语言也许根本无法描述清楚。因此,我个人强烈的建议在面试之前,大家总结一下自己的工作成果,制作一份 Presentation,在面试的时候,如条件允许(即本次面试非电话面试),就结合这个Presentation 展开介绍。我看前人的经验帖时,发现基本没人谈到这一点。但我相信,这应该是很有用的求职准备,希望对大家有所帮助。

最后当三个环节都结束了,我们可以问面试官一些问题,如技术、业务、资源等工作相关的细节,甚至是工作时间安排(旁敲侧击问是否996)、单位生活(福利)、薪酬水平等。个人可以结合自己的实际需要进行提问。时间控制在 3-5 分钟即可。

与HR的交流

从流程的角度来说,面试包括技术面+HR面。前面所讲的面试单指技术面。在技术面试通过后,会迎来HR面试。HR面试不会涉及技术问题,一般是对面试者的综合能力、性格、心理素质进行考察。常见问题为:

  • 你为什么选择我们企业/部门?
  • 你最自豪/成功的一件事是什么?
  • 你最失望/紧张/失败的一件事是什么?
  • 如果你与同事有矛盾,怎么办?
  • 如果你不同意上级意见,怎们办?
  • 你是如何克服困难的?

诸如此类。然后最后面试者可以跟HR说一下自己对薪酬的期望(在说出具体数字之前要做好背景调查,不要过高,尤其注意不要过低)。现在互联网大厂给硕士博士开的工资详情可以在网上进行搜索:知乎链接1, 知乎链接2.

本系列后续博客

目前我已经向华为(存储)、字节跳动(基础架构)、腾讯(腾讯云/数据库)、浪潮(存储)、小米(分布式系统)、公安部第三研究所(后台系统)、B站(云平台)投递了简历。其中,已走完全部流程的是华为,走完全部技术面流程的是字节跳动,两轮技术面挂掉后又转岗走了一次技术面的是腾讯,通过笔试即将面试的是浪潮和公安部第三研究所,通过简历筛选即将第一轮面试的是小米,正在简历初筛的是B站。

本系列后续将会依次单独介绍我在这些企业应聘的成功或者失败的经验。博客更新将按照以下顺序(可以点击链接的为已完成更新的博客):

  • 华为篇
  • 字节篇
  • 腾讯篇
  • 浪潮篇
  • 美团篇

计算机应届博士生的一点求职经验——概述篇相关推荐

  1. 计算机应届博士生的一点求职经验——华为篇

    一点也许有用的求职经验与感悟 前言 机考 技术面试 主管面试 HR面试 性格测试 思考与选择 前言 华为的应届生申请可以填写2个志愿,一共有五道考核:机考(必做).2轮技术面试.部门主管面试.HR 面 ...

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

    一些也许有用的求职经验与感悟 前言 技术面试 自我介绍 面试官提问 现场编程 HR 沟通 总结回顾 前言 字节跳动的整个考核流程是非常简单直白又令人舒畅的.基本上比较关键的就是三轮技术面试,其他的花里 ...

  3. 计算机应届博士生的一点求职经验——美团篇

    一些也许有用的求职经验与感悟 前言 机考 面试 前言 听说美团今年给博士开的offer都比较高(主要是算法岗),搞系统的被挂博士生留下了羡慕的泪水.我面的是美团的分布式数据库岗位,总体笔试和面试的印象 ...

  4. 计算机应届博士生的一点求职经验——浪潮篇

    一些也许有用的求职经验与感悟 前言 笔试 AI面试 技术面试 HR沟通 前言 浪潮的整个考核流程是比较漫长的,涵盖了许多关卡.比如笔试就包含智力测试.性格测试和机考:面试环节又分为AI面试和两轮集体面 ...

  5. 计算机应届博士生的一点求职经验——腾讯篇

    一些也许有用的求职经验与感悟 前言 TEG 面试 自我介绍 技术问答及编程 IEG 面试 分布式数据库面试 总结 前言 腾讯已凉,而且凉了三次.第一次是技术工程事业群(TEG)腾讯云,第二次是互动娱乐 ...

  6. 计算机类(0809)求职经验

    计算机类(0809)求职经验 文章目录 计算机类(0809)求职经验 获取本文档电子版 简历 网站 字体 字号 页数 内容 校招 教育经历 专业技能 实习经历 项目经历 奖项证书 社招 专业技能 工作 ...

  7. 沈阳计算机IT专业毕业生的求职经验

    本文仅提供建议,大家求职的过程中还是要依据自己心里的想法和梦想,做自己的"心之王者": 本人情况,辽大计算机专业硕士,编程能力一般,勉强糊弄网招笔试,项目经验0,面试经常拿老师的项 ...

  8. 南京大学杨杨计算机,国际交流,研途有术 | 博士生国际学术交流经验分享会(四)...

    原标题:国际交流,研途有术 | 博士生国际学术交流经验分享会(四) 榜样引领,助力科研: 研途有术,携你同行! 本次活动邀请拥有丰富国际学术科研交流经验的博士研究生--各院系2019年 "博 ...

  9. 计算机应届毕业生怎么获得BATJ实习转正机会呢?

    2022年教育部预计毕业生将突破千万,就业形势相比往年会更加严峻,而现实是什么呢?有些学生很容易获得大厂实习机会并成功转正,有些学生即使再努力也进不了大厂.大厂实习转正名额有限,但每年毕业的学生在不断 ...

  10. IT求职经验总结—面试和准备策略

    IT求职经验总结--面试和准备策略 风风火火的求职经历断断续续持续了大概2个月,最匆忙的时候,可以一天赶3个场子,有心灰意冷,也有身心俱疲. 幸好最后结果还算好,所以写个东西,主要还是希望师弟师妹可以 ...

最新文章

  1. 构造函数以及this
  2. pycharm的安装与python解释器的安装,pip环境变量的配置要不然使用pip时报不是内部命令
  3. VTK:可视化算法之DataSetSurface
  4. python apache配置_Apache运行Python的配置
  5. kudu 存储引擎简析
  6. Codeforces Round #729 (Div. 2)
  7. python基础查漏补缺1--算数、字符串与变量
  8. oracle定时向mysql取数据_Oracle中通过Job实现定时同步两个数据表之间的数据
  9. linux 进程间通信 --- 消息队列 消息队列标识符 --- 同一类型 --- 消息头 --- 消息体
  10. 玩转JavaScript OOP[0]——基础类型
  11. Math工具类的使用
  12. 关于C#使用工具类解析JSON数据以及将类JSON化
  13. 读《天才在左,疯子在右》01--偷取时间
  14. 调用新浪网址缩短服务生成网址短链接
  15. 百度java面试应届,秋招 百度二轮面试---血淋淋的经历写实
  16. C语言基础知识复习(1)
  17. 2016——大数据版图
  18. Numpy IO:npy、npz
  19. 微信小程序之网易云音乐小案例
  20. 串口监听工具listen_串口命令解析

热门文章

  1. Paper:《Pre-Trained Models: Past, Present and Future大规模预训练模型的发展历史、最新现状和未来发展三个方向》翻译与解读
  2. 用SQL实现取员工日工作量和月工作量
  3. 用python的turtle画五角星
  4. mac电脑闪屏怎么办?解决mac屏幕一闪一闪的方法
  5. CentOS7.9调整/Home分区大小
  6. 确定有限状态自动机(deterministic finite automaton --> DFA)
  7. java 九宫格数独,(完整)九宫格数独题目大全,推荐文档
  8. 判断单链表是否中心对称
  9. 有自学能力的人,赚钱极其简单—聚财云库
  10. python保存超大数据excel表格——大于65532