腾讯Java岗实习面试
记录第一次参加腾讯暑期实习的面试,因为刚好有认识的老师提供内推机会就跑去参加了。
初试一面
问题
- 数据库发生死锁的原因,如何解决?
- 多线程同步机制除了用锁还有其他方式没?
- 数据库的索引,联合索引如何实现?
- 排序算法,时间复杂度,稳定性,手撕代码
- 重载重写虚函数
- 多线程出现问题如何定位?
- Java内存模型以及内存结构
- HTTP协议以及版本
- 网络字节序与主机字节序
- 三次握手以及四次挥手
- 动态规划
- HashMap,ArrayList等Java集合
- 数据库的各种锁
- 数据库最左前缀
复试二面
问题
- 多线程之间如何通信?
- 数据库事务如何实现?
- 进程与线程的区别,切换的过程?
- AOP IOC的实现方式
- Java的四种线程池以及阻塞队列
- 垃圾回收算法
- TCP的计时器
- 实现LRU
- jdk动态代理 cglib代理
- RMI了解吗?
复试三面(总监面)
问题
- 面向对象与面向编程的区别以及特点
- 数据库索引的实现方式,为什么索引能加快查询效率?
- 数据库查询慢如何优化?
- MySQL的存储引擎以及区别
- 堆栈的区别
- 排序算法
- 线程的状态 sleep wait的区别等
- HTTP code状态码了解多少?
现在还在等hr面通知中
总结
文中提到的问题是自己比较记得的一些问题,然后还问了项目相关的,因为自己做的方向是区块链相关,所以还有一些区块链的问题这里就没有贴出来了。
个人觉得腾讯实习面试基础考核较多,特别是数据库,因为自己较少用数据库只对一些基本操作有了解所以在回答数据库的问题的时候答得较浅,算法题目基本也只考察排序算法,只有二面的时候问了一道动态规划的题。可能因为项目里只写了区块链的项目,所以面试官也没有考察各种中间件的掌握情况。
#腾讯暑期实习##腾讯##实习##Java工程师##面经#