四面腾讯,从两年前的面试唯唯诺诺,到现在的手撕面试官,我是这样深度学习的!

本文记录了作者从两年前紧张的腾讯面试经历,到如今自信应对的过程。主要涵盖Java、操作系统、数据库、Redis、算法等技术点,包括HashMap、ConcurrentHashMap、volatile、CAS、锁与AQS、JVM内存区域、垃圾回收算法、并发与Spring框架的讨论。同时,分享了面试中关于JWT、Token、项目经验的思考以及算法题的解答。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

​ 时间:3月28号下午三点, 总共60分钟

​ 6道选择题+三道算法题,没记错应该前两道都ac了,第三道只对了10%

​ 周一下午加了hr的微信,因为个人原因推到了周四面试

​ 周四面试当天面试官有事,又推到了周五。。。

一面

​ 时间:4月2号早上11点,总共60分钟

​ 微信面试

一.自我介绍与项目

​ 挑选了其中一个项目去讲

1.如何进行身份验证
2.注销时如何使身份无效化
3.通用权限系统的设计
4.为什么不用cookie表示状态

二.Java

1.HashMap
​ 包括实现流程、并发安全等

​ 并发安全问了一个:仅仅只是修改数据导致不一致吗?我回答了一个:有可能会导致扩容出现问题,以及死循环

2.concurrentHashMap
​ 1.7和1.8的实现方式,1.8提到了CAS和加锁

3.volatile
​ 重点讲了内存屏障和lock前缀

4.CAS
4.1 如何实现的
4.2 CAS的缺点和可能存在的问题
​ ABA问题、自旋对CPU开支高

5.Lock与AQS
​ AQS的流程

​ 感觉这里太亏了,就大致介绍了插入、等待和释放的流程,本想让面试官具体深入,结果面试官直接跳过了

三.操作系统

​ 只记得一个,好像还有别的,都是很基础的问题

1.进程的通信方式
四.数据库
1.为什么数据库里用B+树
​ 与红黑树、二叉平衡树比较,然后跟B树比较

五.Redis

1.有什么可以使用的对象类型
​ string、list、set、hash、zset

2.每一个对象用什么实现的

六.其他

1.是否使用过其他框架
​ 项目经验有限,没有。。。

2.大文件读取到2G内存里,如何查找其中一个数据
​ 本场面试唯一完全说不出来的地方。。。

3.Spring框架的特性
​ 讲到了DI,IOC,AOP

​ AOP用什么实现的,答了一个动态代理+cglib字节码增强

七.算法

​ 题目:最长不重复子串

​ 写完以后面试官给了几个case,要我分析是否成立

​ 面试完以后才发现其实有bug,只是面试官给的case都没发现这个bug

八.反问与感受

1.本次面试哪里还有改善空间
​ 面试官回答的也有点玄乎,大概也是说项目经验+框架使用等内容

2.什么时候出结果
​ 三个工作日内

3.感受
​ 感觉有点不如意吧,本来自己花了很多心思去看并发的,结果没怎么问到

​ 结果当天下午hr就邀我二面了。。。选在了4月8号二面

二面

​ 时间:4月8号二面早上10:30, 整场面试花了 50mins

​ 微信面试

一.自我介绍与项目

​ 跟一面类似

​ 问了的问题也是Token相关的:

JWT的加密流程
Token放在前端哪里
Token与cookie相比有什么好处
​ 这里我解释了很久,但面试官不是很满意,认为我对Token的理解还不深入。。。

二.JVM

1.JVM的内存区域
​ 五大部分,每个部分的作用和细节

2.JVM的判断对象算法
​ 引用计数器、可达性分析算法

3.JVM的GC算法
​ 三种,每一种的好处

4.JVM的堆内存分代机制
​ 新生代的Eden、Surivior区,老生代的分区,某个GC算法适合哪一个代的区

三.Java并发

​ 问我懂哪些,我大概说了几个,然后面试官让我谈谈synchronized

​ 大概就是用法、原理(对象头的Mark Word、锁升级机制)

四.算法
​ 求两个节点的公共祖先,没有写代码,叫我写思路

​ 我的思路不太好,面试官认为应该可以做出来,但是可以进一步改善

五.反问与感想

1.反问
​ 大概问了面试的表现,以及啥时候出结果

2.感想
​ 没想到的是面试官会对我的项目追问的比较深入,而且算法题做得也不好,感觉凉了一半。。。还好面试官说我JVM和Java说的还不错

HR沟通

还以为要很久才等到结果,没想到第二周周一hr就跟我说过了。。。算是OC了吧,然后进行了HR沟通,介绍了福利、工作环境、业务这些东西。

我的面试经验汇总

下面先给大家上一个总的目录大纲,基础的东西就不进行过多的赘述,我们将会从面试必问的说起,同时由于每篇的内容过多,我们也只说重点,太过基础的内容谁都会,我就不多敲字浪费大家的时间了!
有需要的朋友点击这里自取就好了,希望资料对你有帮助!

SpringCloud

Redis

JVM

MySQL

Zookeeper

Kafka

Dubbo

spring

Rabbitmq

springboot

最后

由于文章篇幅有限,PDF的内容又很多,全部手敲下来很累…所以需要阅读阅读学习的,大家“一件三连后:“查看下方””即可拿到手之后自己学习吧,博主真的打字打累了。

有需要的朋友点击这里自取就好了,希望资料对你有帮助!
预祝大家前程似锦,工作顺利!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值