圆梦腾讯之路!6 面阿里、5 面字节、4 面腾讯,终斩腾讯 Offer
6 年前,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 天的时间,已经把文档整理出来了,非常详细。希望能够帮助到大家,共勉!
如果大家还有一些面试方面的技巧或者经历,可以私信分享给我,我会和王珩一起继续完善这份文档!
2021BAT 互联网企业春招面经目录
PS:想要获取上述提到的算法题学习资源、源码资源和我个人的面试真题及答案,请见文末
Step ②:非技术类
平时怎么学习的,新知识怎么学习
自己有哪些优缺点
同事怎么评价自己
为什么离职
还有什么要问的
Step ③:介绍项目技巧
讲项目一定要慎重,讲太深的话,任何一个名词,面试官都有可能深入提问,导致自己答不上来;讲太浅的话,面试官会觉得项目难度不够,没兴趣听;
说项目的时候,说完痛点,然后说解决方案一二三,以及各自的优缺点,最后生产选了什么方案,面试时,逻辑是否清晰也是很重要的考察指标;
突出对业务的深刻理解;
用具体的数字说明情况,如 qps、db 数据量等;
把八股文穿插到项目里
Step ④:算法题技巧
注意代码规范,比如注释先行(先写注释再写代码)、对特殊情况的返回值写好注释(比如入参为空时返回什么)
善于向面试官提问,体现自己的逻辑能力,以“从父串寻找子串为例(即实现 indexOf 方法)”,可以提的问题有:
子串在父串中没有出现,返回什么
子串为空,返回什么
子串出现多次,是否只返回第一个位置
如果时间足够,按上面的来,如果时间不够,就不要考虑太多边界情况啥的,能过一个 case 就行
Step ⑤:其他技巧
语速不要太快,不然面试官理解不了;
至少要有一个功能足够牛逼,可以吹很久很久,问项目难点等时候才可以吹;
至少要有一项技术足够深入学习,redis、mysql、jvm...都行,吹上了就大大加分;
回答问题的时候,先说结论,再说过程,在知道结论的前提下,听你讲过程,容易理解;
不要一开始就投一堆公司,很可能面完一两场发现简历需要修改;
大厂 hr 面不要撒谎,hr 相当专业,很容易看出来;
面试其实就是八股文、项目、算法三个方面,三方面都没问题,那就稳了。八股文可以背,项目可以包装,但算法只能靠积累。想进大厂,先刷题,半年起步。
网络热传面试真题大合集
Step ⑥:常见问题示例
还有什么要问的?
答:
hr 面:培养体系和晋升机制
技术方面:有哪些方面需要加强,或者向面试官请教一些职场经验
备注:人类最需要的东西是认可,向面试官请教职场经验,他说完后,你表示十分认可,他就得到了人类最需要的东西。
为什么离职?
想到更好的平台,做更有挑战性的工作,同时也希望身边有更多优秀的人
怎么学习的?
通过看书提高深度,通过公众号、专栏、博客等碎片化的方式提高广度;
看得懂/听得懂不一定真的懂,讲得出来才是真的懂,所以学习一个知识点后要自问自答;
看书选经典书籍;
学习时要善于提出问题,根据问题深究细节,没有问题才是最大的问题;
欢迎大家扫码来关注公众号博主,获取文章全部资料,此公众号会持续更新技术干货、不定期分享 Java 进阶面试宝典、Java 核心知识、架构书籍电子版
评论