面试题如下
一面(主要是jvm,并发,锁,数据结构等基础)
1.自我介绍(说说自己的擅长及拿手的技术)
2.自我介绍(说说自己的擅长及拿手的技术)说说treemap和HashMap的区别?HashMap和ConcurrentHashMap的区别?
3.HashMap底层如何实现(JDK1.8有所改动)?
4.说说Hash的一致算法?
5.你知道的GC算法和回收策略有哪些?GC的机制是什么?
6.垃圾回收器的基本原理?是否可以立即回收内存?怎么样主动的通知JVM进行垃圾回收?
7.双亲委派模型机制
8.线程池创建的几个核心构造参数是什么?
9.乐观锁和悲观锁?可重入锁和Synchronized?
10.他们都是可重入锁吗?哪个效率更高?
11.CountDownLaunch和Cylicbarrior的区别以及分别是在哪样场景下使用的?
12.Http和Https的区别以及Https加密的方式?
13.以后的职业规划和想法
二面(主要是数据库,协议,Spring等)
1.自我介绍,聊下自己认为做得很好的项目!
2.InnoDB支持的四种事务隔离级别名称是什么? 之间的区别是什么?MySQL隔离级别是什么?
3.说说事务的特性?讲讲对慢查询的分析?
4.你理解的BTree机制?
5.有哪些MySQL常用的优化方法?
6.Http请求过程,DNS解析的过程?
7.三次握手和四次握手的过程?
8.B+树索引和Hash索引之间的区别?
9.Spring IOC如何管理Bean之间的依赖关系,怎么样避免循环依赖?
10.SpringBean创建过程中的设计模式?
11.说说AOP的实现原理?
12.Tomcat的基本架构是什么?
三面(主要是缓存,高并发,分布式)
1.自己项目中的总结的并发经验
2.说说MySQL的锁并发?加锁的机制是什么?
3.高并发场景下如何防止死锁,保证数据的一致性?
4.集群和负载均衡的算法与实现?
5.说说分库与分表设计?
6.分库分表带来的分布式困境与对应之策有哪些?
7.Redis和Setnx命令使如何实现分布式锁的?使用Redis怎么进行异步队列?会有什么缺点?
8.缓存击穿的概念和解决方案?
9.Redis的数据结构? 线程模型? Redis的数据淘汰机制
10.Redis的数据一致性问题
11.MQ底层原理的实现?
12.阻塞队列不用Java提供的该怎么实现?
13.讲讲负载均衡的原理?
14.如何实现高并发环境下的削峰、限流?
四面(主要项目入手)
1.讲讲项目中用到的中间件(Dubbo/MQ/Zookeeper/Redis/Kafka)?
2.什么情况下会造成雪崩?该怎么避免这种情况?
3.高并发架构的设计思路?
4.以前的项目中遇到的问题和解决策略?
5.生活中遇到过哪些挫折?最后怎么解决的?
---------------------
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有