秋招共持续了四个月,总共投了19家公司,有几家挂在了不同的阶段,最后拿到了8家的offer,这段时间里面了几十场面试,大多数面试的问题都懒得做记载了,在此只记录一下大概的问题走向、一些面试常见的问题以及一丢丢面试技巧供大家参考。

秋招战况

投递统计

统计了一下,秋招共向以下19个公司投递了简历,共拿了8个offer

  • 一线大厂:字节、百度、腾讯、拼多多
  • 准一线大厂:大疆、华为、快手、美团、图森未来、京东、猿辅导
  • 二线小厂:TP-Link、招银科技、深信服、b站
  • 国企:中电29所、国电南自、农行
  • 外企:shopee(算半个外企吧)

面试情况

挂在简历筛选的公司

  • 只招与需求极度相符的人:b站、图森未来
  • 要求没达到:农行(英语六级没过)
  • 未知理由:京东(听说面试都挺迷的)

挂在机试的公司

机试一般有性格评测和笔试两部分,性格评测主要是性格测试题+阅读理解+小学奥数+找规律+图表题,大概30min完成。

  • 性格评测挂了:拼多多(忘做了)、华为实习生(挂了被捞了)
  • 笔试挂了:大疆(应该是和简历综合评判之后觉得不符合)

挂在面试的公司

  • 实习生面试挂太多了:腾讯(之前实习生面试挂了三次,估计评分很低)
  • 只招与需求极度相符的人:shopee(后端岗疯狂问用过哪些后端框架,不问基础和C++)
  • 面试累了,鸽了面试:快手、猿辅导
  • 自己拒了:中电29所(研究方向不符)

收割offer

  • TP-Link:6月就开始秋招提前批,公司有985情结,面试基本就聊天,很容易就过了,在北京工资不高,并且无加班费
  • 字节:典型的挂了又捞,捞了有挂,经历了安全岗简历挂和一面挂,被广告部门捞起来,技术面三轮+hr面拿offer
  • 深信服:机缘巧合投的大牛批,一面很水,二面是正常技术面,三面主管面很契合项目方向,拿了ssp
  • 招银科技:调过电话面(摸底),两轮技术面,问的东西都很浅,范围还比较广
  • 国电南自:一面技术面,比较简单,三天发offer,本科生薪资低,还需要出差
  • 百度:无人车部门两面挂,语音识别部门三轮技术面+一轮主管面,跟字节类似,主管画技术饼
  • 华为(待安排):实习生过了所以免笔试,一轮技术面+主管面,基本聊天,但offer下发周期长
  • 美团点评(待安排):三轮技术面不是很难,hr面后两个月不给结果,估计是hc少,池子深

面试总结

由于大部分公司都是投的提前批,所以很少有笔试,面试一般是2-5轮,摸底面+技术面+主管面+hr面,侧重点各不相同。

摸底面

摸底面也就是很多公司的电话面,比如招银科技、国电南自,一般时间不会很长,大概在10-20分钟之间,主要是自我介绍+项目经历简介,有的会有一些常见的基础题,比如TCP为什么三次握手这种。只要有一定的准备,电话面基本都不会挂,有的公司如果你简历or笔试表现好会跳过这个环节。

技术面

技术面是面试流程中的核心环节,主要考察我们对计算机基础知识的掌握程度,一般会涉及计网、操作系统/Linux、数据库,编程语言(c++/Java等),部分会问到编译原理这种比较偏向计算机专业的问题。

一般公司的技术面为2-3轮,主要模式都大概相似,开始自我介绍,紧接着问一些基础知识相关的问题or项目相关的技术问题,最后是1-2道现场编程题,也有的公司会先上来让你写题,后续根据你的表现来决定问什么问题。

主管面

并不是所有公司都有主管面,一般是部门直招or你前面面试表现较好,可能有sp的情况下才会有主管面试,一般主管的级别越高就说明你的评级越高。

主管面并不会拘泥于具体的技术问题,在你的自我介绍后,主管喜欢针对项目进行提问,主要是考察你对自己所做项目的掌握程度,并且很多时候会问到一些与人沟通相处相关的问题,比如如果组员之间出现了意见分歧你们会怎么办,另一方面,你印象最深的一次项目经历也是常问的问题,这些都是需要提前准备好的。

在主管面的时候我会更多的讲一些自己的学生工作,领导项目or组织活动的经历,当然这种经历最好是与技术挂钩的。以及与主管讨论编程规范,自动化测试、软件工程、测试驱动开发,或者项目管理等问题也是正中他们要害的,并且一定要多问,一般主管们很喜欢给新人讲这些,给他们机会,装作很感兴趣的样子。

hr面

hr面一般就直接确认offer或者谈薪了,极少见到hr面还刷人的(听说京东和阿里会),一般hr会问你一些基本的家庭和学习情况,以及你现在拿了哪些offer。

在hr面自己也可以问一问公司的一些情况,比如薪资结构,五险一金,加班情况,加班费计算,升职加薪的规章制度,年假安排等,这些都是需要提前了解并且纳入offer考虑范围的,不过薪资才是硬道理。

知识点总结

实际上在实习生阶段已经整理了很多被问到的问题以及部分问题写了一下自己的解答(还有很大一部分坑没填呢),秋招阶段感觉其实万变不离其宗,问来问去都是那么几个问题,所以就没做记录了。在此依据记忆在几个主要的方向写出几个最常见的问题吧。

计算机网络

  • 简述从输入网址到浏览器显示的过程
  • TCP为什么是三次握手四次挥手
  • TCP如何保障数据包有效
  • HTTPS和HTTP的区别

操作系统

  • 进程与线程的区别
  • 堆与栈的区别
  • 内核态和用户态的划分与切换
  • 虚拟地址怎么映射到物理地址
  • 简述IO多路复用
  • 简述进程通信的各种方法

数据库

  • 简述关系型数据库与菲关系形数据库的区别与联系
  • 简述数据库的事务

编程语言(C++)

  • C++多态及其实现
  • C++11的新特性
  • 右值引用
  • vector与list、map与unordered_map比较

面经总结

能看的大概也就下面几篇了:

个人感受

  • 我感觉在技术面阶段实际上主要不在于你是不是都会,更好的实际上是你在某一两个问题上了解的特别详细,或者有项目经历,能跟面试官聊很久,这样在面试中就可以把面试官带到自己的点上,比如在面试官问网址访问过程的时候,我会讲的特别详细,并且把HTTPS和HTTP留在最后,通过HTTPS延伸到逆向工程中的一些密码学问题或者延伸到中间人攻击,这些常常会让面试官眼前一亮。
  • 另外我感觉问面试官对自己的评价or自己哪些位置做的不好这种问题还是谨慎,如果自己表现得很完美就可以问问,不然面试官也不可能一直夸你,一般只会简单夸一下,然后绞尽脑汁想一想你有哪些位置做的不好,这就无形中提醒了他你的缺点。