8年前,BAT冲到了风口浪尖,美国上市的阿里成为中国体量最大的互联网公司,腾讯借助微信成为移动互联网的霸主,外企开始撤离中国,国企的光环也慢慢褪去。
到了近年,应届毕业生心中最炙手可热的公司换成了TMD及各路独角兽公司,这些公司代表着科技最前沿,能够许诺高薪和美好前景。
而加入字节跳动、阿里和腾讯则成为了我的人生目标。
今年7月,我7面阿里、6面字节、5面腾讯,最终拿到了我心仪的腾讯Offer,而这也多亏了我自己的这些计划落实。也感谢自己的坚持和我朋友们在这一路对我的鼓励和支持。
下面我会分享我个人5面腾讯的经历和这一路来我的一些面试的小技巧,希望我的经历能够帮助到更多地想要进入BAT的小伙伴!共勉!
历经5面,“跳进”腾讯
腾讯Java一面
- HashMap和HashTable以及CocurrentHashMap详细说明
- 网络IO模型?什么是多路复用IO?select和epoll的差别?
- TCP三次握手的过程,如果没有第三次握手有什么问题?
- 常用的线程池有哪些?各自的应用场景?
- Java类加载机制?双亲委派模型的好处?
- JAVA并发包组件了解多少?
- 什么时候多线程会发生死锁?怎么来预防
- 操作系统的用户态和核心态切换条件以及为什么要切换
- 数据库事务特点?事务隔离级别?项目中的事务实现?脏读、不可重复读、幻读各举个例子?
腾讯Java二面
- 数据库索引?B+树?为什么要建索引?什么样的字段需要建索引,建索引的时候一般考虑什么?索引会不会使插入、删除操作效率变低,怎么解决(分表分库作)?
- 设计模式,单例模式,怎么保证线程安全?锁效率太低,怎么提高效率?
- CAS?CAS本质是什么?什么是原子性?Compare and Swap两步操作,为什么能保证原子性(涉及到CPU指令)?
- 分布式锁的实现知道到哪些?你更推荐哪一种锁?
- Redis的持久化操作有哪些?
- 如何利用redis处理热点数据
腾讯Java三面
- 有接触过哪些消息队列中间件?如何来选型?
- 谈谈你的SOA以及微服务的理解?
- 具体谈谈Spring Cloud服务和注册?
- 分布式的cap了解么,分别指什么?
- 网络编程nio和netty相关,netty的线程模型,零拷贝实现?
腾讯Java 四面
- Redis是单线程还是多线程?Redis的分布式集群怎么做?
- 了解过集群雪崩么?
- 谈谈高并发场景下削峰,限流的实现?
- 你之前工作的项目里个人最满意的,谈谈你的架构设计思路?
- 未来2年是怎样打算的?
腾讯Java五面(HR)
- 为什么要从上一家公司离职?
- 为什么要选择这里?
- 如何看待加班问题?
- 平时自己是怎么学习技术的,除了Java相关,还会去了解其他什么技术?
- 期待的薪资是多少?
总结
准备好一些高频问题,包含技术类和非技术类
Step ①:技术类
- 看过哪些源码
- 对哪个技术比较熟悉
- 最近在学什么,为什么
- 项目有哪些地方需要改进
- 项目有哪些难点
- 怎么应对突发流量
上面的话,只是提到了面试的时候面试官的一些提问,由于篇幅的原因没有把7面阿里、6面字节的面试题以及所有这些面试题的答案分享出来。
我经过7天的时间,已经把文档整理出来了,非常详细。希望能够帮助到大家,共勉!
如果大家还有一些面试方面的技巧或者经历,可以私信分享给我,我会继续完善这份文档!
2022BAT互联网企业春招面经目录
PS:想要获取上述提到的算法题学习资源、源码资源和我个人的面试真题及答案,请帮忙点个赞私信【111】免费获取
Step ②:非技术类
- 平时怎么学习的,新知识怎么学习
- 自己有哪些优缺点
- 同事怎么评价自己
- 为什么离职
- 还有什么要问的
Step ③:介绍项目技巧
- 讲项目一定要慎重,讲太深的话,任何一个名词,面试官都有可能深入提问,导致自己答不上来;讲太浅的话,面试官会觉得项目难度不够,没兴趣听;
- 说项目的时候,说完痛点,然后说解决方案一二三,以及各自的优缺点,最后生产选了什么方案,面试时,逻辑是否清晰也是很重要的考察指标;
- 突出对业务的深刻理解;
- 用具体的数字说明情况,如qps、db数据量等;
- 把八股文穿插到项目里
Step ④:算法题技巧
- 注意代码规范,比如注释先行(先写注释再写代码)、对特殊情况的返回值写好注释(比如入参为空时返回什么)
- 善于向面试官提问,体现自己的逻辑能力,以“从父串寻找子串为例(即实现indexOf方法)”,可以提的问题有:
- 子串在父串中没有出现,返回什么
- 子串为空,返回什么
- 子串出现多次,是否只返回第一个位置
- 如果时间足够,按上面的来,如果时间不够,就不要考虑太多边界情况啥的,能过一个case就行
Step ⑤:其他技巧
- 语速不要太快,不然面试官理解不了;
- 至少要有一个功能足够牛逼,可以吹很久很久,问项目难点等时候才可以吹;
- 至少要有一项技术足够深入学习,redis、mysql、jvm...都行,吹上了就大大加分;
- 回答问题的时候,先说结论,再说过程,在知道结论的前提下,听你讲过程,容易理解;
- 不要一开始就投一堆公司,很可能面完一两场发现简历需要修改;
- 大厂hr面不要撒谎,hr相当专业,很容易看出来;
- 面试其实就是八股文、项目、算法三个方面,三方面都没问题,那就稳了。八股文可以背,项目可以包装,但算法只能靠积累。想进大厂,先刷题,半年起步。
网络热传面试真题大合集
Step ⑥:常见问题示例
还有什么要问的?
答:
- hr面:培养体系和晋升机制
- 技术方面:有哪些方面需要加强,或者向面试官请教一些职场经验
- 备注:人类最需要的东西是认可,向面试官请教职场经验,他说完后,你表示十分认可,他就得到了人类最需要的东西。
为什么离职?
- 想到更好的平台,做更有挑战性的工作,同时也希望身边有更多优秀的人
怎么学习的?
- 通过看书提高深度,通过公众号、专栏、博客等碎片化的方式提高广度;
- 看得懂/听得懂不一定真的懂,讲得出来才是真的懂,所以学习一个知识点后要自问自答;
- 看书选经典书籍;
- 学习时要善于提出问题,根据问题深究细节,没有问题才是最大的问题;
- 更多资料私信【111】免费获取