【⾯试必备】常见Java⾯试题⼤综合
⼀、Java基础
1、Arrays.sort实现原理和Collections.sort实现原理
答:Collections.sort⽅法底层会调⽤Arrays.sort⽅法,底层实现都是TimeSort实现的。TimSort算法就是到已经排好序数据的⼦序列,然后对剩余部分排序,然后合并起来.
2、foreach和while的区别(编译之后) 线程池的种类,区别和使⽤场景
3、分析线程池的实现原理和线程的调度过程
4、线程池如何调优
5、线程池的最⼤线程数⽬根据什么确定
6、动态代理的⼏种⽅式
7、HashMap的并发问题
8、了解LinkedHashMap的应⽤吗
9、反射的原理,反射创建类实例的三种⽅式是什么?
10、cloneable接⼝实现原理,浅拷贝or深拷贝
11、Java NIO使⽤
12、hashtable和hashmap的区别及实现原理,hashmap会问到数组索引,hash碰撞怎么解决
13、arraylist和linkedlist区别及实现原理
14、反射中,Class.forName和ClassLoader区别
15、String,Stringbuffer,StringBuilder的区别?
16、有没有可能2个不相等的对象有相同的hashcode
17、简述NIO的最佳实践,⽐如netty,mina
18、TreeMap的实现原理
matplotlib的subplots⼆、JVM相关
1、类的实例化顺序,⽐如⽗类静态数据,构造函数,字段,⼦类静态数据,构造函数,字段,他们的执⾏顺序
2、JVM内存分代
3、Java 8的内存分代改进
4、JVM垃圾回收机制,何时触发MinorGC等操作
5、jvm中⼀次完整的GC流程(从ygc到fgc)是怎样的,重点讲讲对象如何晋升到⽼年代,⼏种主要的jvm参数等
5、jvm中⼀次完整的GC流程(从ygc到fgc)是怎样的,重点讲讲对象如何晋升到⽼年代,⼏种主要的jvm参数等
6、你知道哪⼏种垃圾收集器,各⾃的优缺点,重点讲下cms,g1
7、新⽣代和⽼⽣代的内存回收策略
linux操作系统性能优化8、Eden和Survivor的⽐例分配等
frequency函数应用
9、深⼊分析了Classloader,双亲委派机制
10、JVM的编译优化
11、对Java内存模型的理解,以及其在并发中的应⽤
12、指令重排序,内存栅栏等
13、OOM错误,stackoverflow错误,permgen space错误
14、JVM常⽤参数
15、tomcat结构,类加载器流程
16、volatile的语义,它修饰的变量⼀定线程安全吗
17、g1和cms区别,吞吐量优先和响应优先的垃圾收集器选择
18、说⼀说你对环境变量classpath的理解?如果⼀个类不在classpath下,为什么会抛出ClassNotFoundException异常,如果在不改变这个类路径的前期下,怎样才能正确加载这个类?
二维数组输入赋值19、说⼀下强引⽤、软引⽤、弱引⽤、虚引⽤以及他们之间和gc的关系
20、常见Java⾯试题⼤综合,⾮常值得⼀看,⾯试必备
三、JUC/并发相关
1、ThreadLocal⽤过么,原理是什么,⽤的时候要注意什么
2、Synchronized和Lock的区别
3、synchronized 的原理,什么是⾃旋锁,偏向锁,轻量级锁,什么叫可重⼊锁,什么叫公平锁和⾮公平锁
3、synchronized 的原理,什么是⾃旋锁,偏向锁,轻量级锁,什么叫可重⼊锁,什么叫公平锁和⾮公平锁
4、concurrenthashmap具体实现及其原理,jdk8下的改版
5、⽤过哪些原⼦类,他们的参数以及原理是什么
6、cas是什么,他会产⽣什么问题(ABA问题的解决,如加⼊修改次数、版本号)
7、如果让你实现⼀个并发安全的链表,你会怎么做
8、简述ConcurrentLinkedQueue和LinkedBlockingQueue的⽤处和不同之处
9、简述AQS的实现原理
10、countdowlatch和cyclicbarrier的⽤法,以及相互之间的差别?
11、concurrent包中使⽤过哪些类?分别说说使⽤在什么场景?为什么要使⽤?
12、LockSupport⼯具
13、Condition接⼝及其实现原理
14、Fork/Join框架的理解
15、jdk8的parallelStream的理解
16、分段锁的原理,锁⼒度减⼩的思考
17、常见Java⾯试题⼤综合,⾮常值得⼀看,⾯试必备
四、Spring
1、Spring AOP与IOC的实现原理
2、Spring的beanFactory和factoryBean的区别
format factory可用资源3、为什么CGlib⽅式可以对接⼝实现代理?
4、RMI与代理模式
5、Spring的事务隔离级别,实现原理
6、对Spring的理解,⾮单例注⼊的原理?它的⽣命周期?循环注⼊的原理,aop的实现原理,说说aop中的⼏个术语,它们是怎么相互⼯作的?
7、Mybatis的底层实现原理
8、MVC框架原理,他们都是怎么做url路由的
9、spring boot特性,优势,适⽤场景等
10、quartz和timer对⽐
11、spring的controller是单例还是多例,怎么保证并发的安全
五、分布式相关
1、Dubbo的底层实现原理和机制
2、描述⼀个服务从发布到被消费的详细过程
3、分布式系统怎么做服务治理
4、接⼝的幂等性的概念
5、消息中间件如何解决消息丢失问题
6、Dubbo的服务请求失败怎么处理
7、重连机制会不会造成错误
8、对分布式事务的理解
9、如何实现负载均衡,有哪些算法可以实现?
10、Zookeeper的⽤途,选举的原理是什么?
11、数据的垂直拆分⽔平拆分。
12、zookeeper原理和适⽤场景
13、zookeeper watch机制
14、redis/zk节点宕机如何处理
15、分布式集下如何做到唯⼀序列号
16、如何做⼀个分布式锁
17、⽤过哪些MQ,怎么⽤的,和其他mq⽐较有什么优缺点,MQ的连接是线程安全的吗
18、MQ系统的数据如何保证不丢失
19、列举出你能想到的数据库分库分表策略;分库分表后,如何解决全表查询的问题。
20、算法&数据结构&设计模式
21、海量url去重类问题(布隆过滤器)
22、数组和链表数据结构描述,各⾃的时间复杂度
23、⼆叉树遍历
24、快速排序
六、BTree相关的操作
1、在⼯作中遇到过哪些设计模式,是如何应⽤的
1、在⼯作中遇到过哪些设计模式,是如何应⽤的
2、hash算法的有哪⼏种,优缺点,使⽤场景
3、什么是⼀致性hash
4、paxos算法
5、在装饰器模式和代理模式之间,你如何抉择,请结合⾃⾝实际情况聊聊
6、代码重构的步骤和原因,如果理解重构到模式?
7、数据库
8、MySQL InnoDB存储的⽂件结构
9、索引树是如何维护的?
mysql面试题sql优化
10、数据库⾃增主键可能的问题
11、MySQL的⼏种优化
12、mysql索引为什么使⽤B+树
13、数据库锁表的相关处理
14、索引失效场景
15、⾼并发下如何做到安全的修改同⼀⾏数据,乐观锁和悲观锁是什么,INNODB的⾏级锁有哪2种,解释其含义
16、数据库会死锁吗,举⼀个死锁的例⼦,mysql怎么解决死锁
七、Redis缓存相关
1、Redis的并发竞争问题如何解决了解Redis事务的CAS操作吗
2、缓存机器增删如何对系统影响最⼩,⼀致性哈希的实现
3、Redis持久化的⼏种⽅式,优缺点是什么,怎么实现的
4、Redis的缓存失效策略
5、缓存穿透的解决办法
6、redis集,⾼可⽤,原理
7、mySQL⾥有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据
8、⽤Redis和任意语⾔实现⼀段恶意登录保护的代码,限制1⼩时内每⽤户Id最多只能登录5次
9、redis的数据淘汰策略
⼋、⽹络相关

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。