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

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

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

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

下面我会分享我个人4面腾讯的经历和这一路来我的一些面试的小技巧,希望我的经历能够帮助到更多地想要进入BAT的小伙伴!共勉!
历经4面,“跳进”腾讯
一面
hashmap的实现
Java中的垃圾回收
谈谈你在项目里面都做了什么?
除了代码之外你还学习了什么技术,框架
死锁是怎么产生的
线程和进程的区别
进程的通信方式
CPU的执行方式
代码中遇到进程阻塞,进程僵死,内存泄漏等情况怎么排查。
二面
MySQL的索引,B+树性质
Redis的持久化方式
秒杀系统的架构设计
除了单例模式,知道适配器模式怎么实现么,有什么用
三面
十亿个数的集合和10w个数的集合,如何求它们的交集。集合的数字不重复。
TCP和UDP的区别,具体使用场景呢
TCP四次挥手讲一下过程,最后一次ack如果客户端没收到怎么办
对于socket编程,accept方法是干什么的,在三次握手中属于第几次
四面
自我介绍
谈谈你参与过的项目,有什么收获
TCP和UDP的核心区别在哪
TCP的四次挥手,time wait状态有什么意义
反问
HR面
自我介绍
工作收获
离职原因
拿到其他offer了吗,会如何选择呢
排一下公司,部门,薪资和城市等因素
你的优缺点,如何改进
学生时代最成功的事
你的预期薪资
总结
准备好一些高频问题,包含技术类和非技术类

Step ①:技术类

看过哪些源码
对哪个技术比较熟悉
最近在学什么,为什么
项目有哪些地方需要改进
项目有哪些难点
怎么应对突发流量
图片说明
上面的话,只是提到了面试的时候面试官的一些提问,由于篇幅的原因没有把6面阿里、5面字节的面试题以及所有这些面试题的答案分享出来。

我和王珩经过7天的时间,已经把文档整理出来了,非常详细。希望能够帮助到大家,共勉
图片说明

PS:想要获取上述提到的算法题学习资源、源码资源和我个人的面试真题及答案,请关注、转发后,点击文章开头链接,获取完整下载路径方式!
Step ②:非技术类

平时怎么学习的,新知识怎么学习
自己有哪些优缺点
同事怎么评价自己
为什么离职
还有什么要问的
Step ③:介绍项目技巧

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

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

Step ⑤:其他技巧

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

还有什么要问的?

答:

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

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

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

需要文章笔记的可以点击文章开头链接,免费获取下载方式。