一次腾讯面试经历(社招Java)

一面

1、说说对JVM的理解?

2、treemapHashMap的区别?

1HashMap是通过hashcode()对其内容进行快速查找的;HashMap中的元素是没有顺序的;TreeMap中所有的元素都是有某一固定顺序的,如果需要得到一个有序的结果,就应该使用TreeMap

2HashMap继承AbstractMap类;覆盖了hashcode() equals() 方法,以确保两个相等的映射返回相同的哈希值;TreeMap继承SortedMap类;他保持键的有序顺序;

3HashMap:基于hash表实现的;使用HashMap要求添加的键类明确定义了hashcode() equals();为了优化HashMap的空间使用,可以调优初始容量和负载因子;TreeMap:基于红黑树实现的;TreeMap就没有调优选项,因为红黑树总是处于平衡的状态;


3、多线程的五大状态?

新建状态、就绪状态、运行状态、阻塞状态、线程结束


4、MySQL主键和索引的区别?

5、聊聊做的一些项目

6、如何实现session共享?用Redis该如何实现?

7、缓存击穿的概念和解决方案?

8、聊聊微服务,以及微服务之间是如何进行管理的


二面

1、Javanioio的区别?常用的类有哪些?

2、Java里面的同步锁了解吗? CountDownLaunchCylicbarrior的区别,分别在什么场景下使用?

3、JVM的内存结构,哪些是共享的,哪些是线程私有的? Java虚拟机里堆栈分别存放什么?

4、如何实现一个线程池?

5、Java的类加载在哪些情况下会触发?

6、手写代码:快速排序,单利模式, 画一个工厂模式和装饰者模式的UML类图

7、AOP的实现原理

8、怎么优化慢查询?

1)索引没起作用的情况,使用LIKE关键字的查询语句

2)优化数据库结构;

3)分解关联查询;

4)优化LIMIT分页;


9、Java的锁有哪些?可重入锁和不可重入锁的区别?

10、LockSynchronized的区别?他们都是可重入锁吗?哪个效率更高?

11、手写SpringMVC DispatcherServlet的大致实现?


三面

1、聊一聊平时的项目并发经验

2、Redis的数据结构? 线程模型? Redis的数据淘汰机制?

3、读过Redis的源码吗?

4、MySQL实现事务的原理

5、MQ底层原理的实现?

6、数据库事务acid,事务操作,怎么加锁?分布式系统锁?

7、什么情况下会发生雪崩?如何解决?


四面

1、介绍一些并发项目

2、技术含量较高的项目,从架构设计到部署问了一遍

3、高并发架构的设计思路

#面经##社招##腾讯##Java工程师#
全部评论
楼主投的哪个部门呢
点赞 回复
分享
发布于 2020-08-13 12:31

相关推荐

8 43 评论
分享
牛客网
牛客企业服务