JAVA高级-面试题总结
最近面试了一些公司,针对面试中遇到的问题在此记录,提高本身,造福你们
1、java源码相关
-
ArrayList建立和add等各类api使用原理
-
HashMap 的建立,put原理,和HashTable的区别,resize的原理
-
HashMap和HashTable在1.7版本以后的区别,针对建立时和put时处理的方式不一样(红黑树,CAS、ABA处理)
-
各类IO交互(AIO/ NIO/ BIO)
2、 JVM相关
(bookname:深刻理解java虚拟机)
-
jvm分区
-
java文件加载到gc全流程
-
gc收集算法(标记计数算法,可达性算法)gc清理逻辑
-
G1/CMS收集器
-
堆栈溢出缘由,处理
-
内存分配和回收策略
-
虚拟机贱虫和故障处理工具
-
jvm调优
-
web容器加载器架构实现(tomcat,jetty……)
-
线程安全,锁优化
3、多线程
-
线程池的建立有几种方式
-
submit和excute使用的区别,怎样避免死锁
-
线程的锁机制(lock和synchronized)
-
线程调度相关
4、数据库
-
mysql中innodb myisam 两种引擎区别,是否支持事物,索引实现(B+,Hash)复合索引/二叉树
-
group by和order by
-
数据库调优
-
大量数据下分库分表处理
-
跨多数据库查询
-
cap,CAP即,一致性(Consistency), 可用性(Availability), 分区容忍性(Partition tolerance);
-
redis有什么优势(单线程,分布式,持久化,事务,原子性)
-
redis的主从 、哨兵的实现原理
-
redis支持的数据操做类型,发布订阅,计数器
-
redis做为注册中心的优势,和zk的区别
5、Spring框架相关
-
ioc实现原理
-
aop具体实现,动态代理
-
工厂bean和bean工厂
-
反射使用
-
注解实现
6、分布式
-
dubbo具体调用原理(消费者&服务者)
-
多注册中心的使用场景
-
负载均衡策略
-
注册中心的注册原理(zk和redis注册中心有什么区别)
目前遇到的问题是这些,欢迎各位看官留言补充。BX
欢迎关注本站公众号,获取更多信息