计算机应届博士生的一点求职经验——腾讯篇
前言
腾讯已凉,而且凉了三次。第一次是技术工程事业群(TEG)腾讯云,第二次是互动娱乐事业群(IEG)游戏数据库,第三次是TEG分布式数据库团队。感觉腾讯挂人捞人还是很有一套,有点PUA的那种味道了。不过,更可能是我个人素质不符合腾讯的要求吧。本文会简单介绍下我所经历的腾讯面试流程(没有笔试环节)。
TEG 面试
TEG 腾讯云的面试我经历了两轮,表现都不太行。每一轮分为三个部分:自我介绍、技术问答和手撕代码。我主要是技术问答这一块严重拉胯,代码考核也写的也一般般。
自我介绍
这一部分和其他所有的公司面试基本相同,都是可以自主发挥的地方。我是自己做了一份PPT,总结了自己博士期间的工作。然后根据主考官的兴趣点进行相应的详略介绍。这一部分的整体表现还可以。
技术问答及编程
技术问答涉及的问题和知识比较多,我简单整理了下。几轮面试下来主要问的问题有四类:操作系统、C/C++基础、Redis基础和场景设计问题。
第一类:操作系统及Linux基础
- 如何查看物理内存、虚拟内存的使用情况?
- 如何查看某个进程不同线程的资源使用情况?
- 如何查看系统IO情况?
- 进程通信有哪几种方式?
- shmget 与 mmap 的区别是什么?
- 请详细介绍操作系统中的线程切换。
- 简单叙述一下 TCP 网络,为什么 TCP 是可靠的?
- 讲述 open -> fread 的文件访问工作的细节流程。
第二类:C/C++ 基础
- 析构函数为什么要实现为虚函数?
- 构造函数和析构函数可以实现为虚函数吗?
- C++11 的有哪些新特性?重点介绍三个特性。
- 深拷贝和浅拷贝分别指什么?
- STL map 的种类有多少?请分别介绍。
- 定义一个类,它不包含任何成员变量,对它使用 sizeof 会得到多大的大小?
- volatile 关键字有什么用处?
第三类:Redis 基础
- Redis 为什么使用单线程模型?
- Redis 里面有哪些技术比较有趣的技术?说三个你自己比较熟悉的点。
- Redis 最新版本有什么变化?
- Redis 有哪些使用场景?
第四类:场景设计
- 一个目录下有1百万个文件,请按照文件名排序,返回前1万个文件的文件名。
- 使用库函数的编程方法,计算N个整数的平均数。
- 使用SQL语句,选择出一个班级中所有“表现优秀”的同学(表现优秀指:该同学所有课程都是优秀)。
IEG 面试
TEG腾讯云两面之后就被挂了。几天后,我被IEG的一个HR(貌似比较懂技术)捞起来了。他跟我介绍了下腾讯自研的游戏数据库Tcaplus,让我准备接下来的面试。
结果在面试IEG的过程中,有些Linux指令操作的技术问题我没有回答的很好,一面之后马上就凉了。
分布式数据库面试
又过了几天,分布式数据库团队把我捞起来了。我和一个面试官在周六聊了聊。虽然我觉得面试过程是挺愉快的,但是也不知道怎么回事,一面之后就又凉了。
然后搞笑的是,腾讯后来金融数据库团队还想把我捞起来。这个时候,我是真的心累了,谢拒了他们的邀请。
总结
总体来说,腾讯的整个求职体验有点糟心。不过,客观的讲,还是我自己基础知识不够扎实,准备不够到位。技术题目不难,可能刷刷面经会比较有用。但我还是觉得,这些题目对博士生来说可能不是特别好考察能力。