6年前,BAT冲到了风口浪尖,美国上市的阿里成为中国体量最大的互联网公司,腾讯借助微信成为移动互联网的霸主,外企开始撤离中国,国企的光环也慢慢褪去。

到了近年,应届毕业生心中最炙手可热的公司换成了TMD及各路独角兽公司,这些公司代表着科技最前沿,能够许诺高薪和美好前景。

而加入字节跳动、阿里和腾讯则成为了我的人生目标。

今年3月,我6面阿里、5面字节、4面腾讯,最终拿到了我心仪的腾讯Offer,而这也多亏了我自己的这些计划落实。也感谢自己的坚持和我朋友王珩在这一路对我的鼓励和支持。

下面我会分享我个人4面腾讯的经历和这一路来我的一些面试的小技巧,希望我的经历能够帮助到更多地想要进入BAT的小伙伴!共勉!

历经4面,“跳进”腾讯

一面

  1. hashmap的实现
  2. Java中的垃圾回收
  3. 谈谈你在项目里面都做了什么?
  4. 除了代码之外你还学习了什么技术,框架
  5. 死锁是怎么产生的
  6. 线程和进程的区别
  7. 进程的通信方式
  8. CPU的执行方式
  9. 代码中遇到进程阻塞,进程僵死,内存泄漏等情况怎么排查。

二面

  1. MySQL的索引,B+树性质
  2. Redis的持久化方式
  3. 秒杀系统的架构设计
  4. 除了单例模式,知道适配器模式怎么实现么,有什么用

三面

  1. 十亿个数的集合和10w个数的集合,如何求它们的交集。集合的数字不重复。
  2. TCP和UDP的区别,具体使用场景呢
  3. TCP四次挥手讲一下过程,最后一次ack如果客户端没收到怎么办
  4. 对于socket编程,accept方法是干什么的,在三次握手中属于第几次

四面

  1. 自我介绍
  2. 谈谈你参与过的项目,有什么收获
  3. TCP和UDP的核心区别在哪
  4. TCP的四次挥手,time wait状态有什么意义
  5. 反问

HR面

  1. 自我介绍
  2. 工作收获
  3. 离职原因
  4. 拿到其他offer了吗,会如何选择呢
  5. 排一下公司,部门,薪资和城市等因素
  6. 你的优缺点,如何改进
  7. 学生时代最成功的事
  8. 你的预期薪资

总结(有需要的点击此处获取文档完整版

准备好一些高频问题,包含技术类和非技术类

Step ①:技术类

  • 看过哪些源码
  • 对哪个技术比较熟悉
  • 最近在学什么,为什么
  • 项目有哪些地方需要改进
  • 项目有哪些难点
  • 怎么应对突发流量

上面的话,只是提到了面试的时候面试官的一些提问,由于篇幅的原因没有把6面阿里、5面字节的面试题以及所有这些面试题的答案写出来。

已经把文档整理出来了,非常详细。希望能够帮助到大家,共勉!


Step ②:非技术类

  • 平时怎么学习的,新知识怎么学习
  • 自己有哪些优缺点
  • 同事怎么评价自己
  • 为什么离职
  • 还有什么要问的

Step ③:介绍项目技巧

  • 讲项目一定要慎重,讲太深的话,任何一个名词,面试官都有可能深入提问,导致自己答不上来;讲太浅的话,面试官会觉得项目难度不够,没兴趣听;
  • 说项目的时候,说完痛点,然后说解决方案一二三,以及各自的优缺点,最后生产选了什么方案,面试时,逻辑是否清晰也是很重要的考察指标;
  • 突出对业务的深刻理解;
  • 用具体的数字说明情况,如qps、db数据量等;
  • 把八股文穿插到项目里

Step ④:算法题技巧

  • 注意代码规范,比如注释先行(先写注释再写代码)、对特殊情况的返回值写好注释(比如入参为空时返回什么)
  • 善于向面试官提问,体现自己的逻辑能力,以“从父串寻找子串为例(即实现indexOf方法)”,可以提的问题有:
  1. 子串在父串中没有出现,返回什么
  2. 子串为空,返回什么
  3. 子串出现多次,是否只返回第一个位置
  • 如果时间足够,按上面的来,如果时间不够,就不要考虑太多边界情况啥的,能过一个case就行

Step ⑤:其他技巧

  • 语速不要太快,不然面试官理解不了;
  • 至少要有一个功能足够牛逼,可以吹很久很久,问项目难点等时候才可以吹;
  • 至少要有一项技术足够深入学习,redis、mysql、jvm...都行,吹上了就大大加分;
  • 回答问题的时候,先说结论,再说过程,在知道结论的前提下,听你讲过程,容易理解;
  • 不要一开始就投一堆公司,很可能面完一两场发现简历需要修改;
  • 大厂hr面不要撒谎,hr相当专业,很容易看出来;
  • 面试其实就是八股文、项目、算法三个方面,三方面都没问题,那就稳了。八股文可以背,项目可以包装,但算法只能靠积累。想进大厂,先刷题,半年起步。

Step ⑥:常见问题示例

还有什么要问的?

答:

  • hr面:培养体系和晋升机制
  • 技术方面:有哪些方面需要加强,或者向面试官请教一些职场经验
  • 备注:人类最需要的东西是认可,向面试官请教职场经验,他说完后,你表示十分认可,他就得到了人类最需要的东西。

为什么离职?

  • 想到更好的平台,做更有挑战性的工作,同时也希望身边有更多优秀的人

怎么学习的?

  • 通过看书提高深度,通过公众号、专栏、博客等碎片化的方式提高广度;
  • 看得懂/听得懂不一定真的懂,讲得出来才是真的懂,所以学习一个知识点后要自问自答;
  • 看书选经典书籍;
  • 学习时要善于提出问题,根据问题深究细节,没有问题才是最大的问题;