1. JDK、JRE、JVM关系是什么?
2. Java支持的数据类型有哪些?什么是自动拆装箱?
3. 什么是值传递和引用传递?
4. 解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法。
5. String和StringBuilder、StringBuffer的区别?
延伸: StringBuffer如何实现线程安全的?
Jvm对Synchronize的实现(monitor指令、cas(compare and swap))
6. Jvm调优经历以及命令的使用(jstat jstack jinfo jmap jprofile heapAnlyzer)
7. Hashmap和ConcurrentHashmap的不同
ConcurrentHashmap 的实现 jdk1.8以及之前版本的不同
8. Hashmap 的实例方式,hashmap哈希桶初始化长度,put数据的流程(java8 长度大于8链表转红黑树),扩容的实现机制capacity*loadFactor=哈希桶数组长度
9. 怎么保证一个对象在多线程中的操作是安全的?
Volatile能不能保证线程安全
10. Spring常见创建对象的注解?
11. Spring管理事务有几种方式?
12. Springmvc 中有哪些核心类,各有什么作用?
13. mybatis 如何防止sql注入?
14. mybatis 如何实现分表?
延伸:分库分表的一些插件(sharding-jdbc mycat)
分库分表下1:数据的维护(主键设计算法 snowflake(时钟回拨等问题)、leaf segment)2: 多表联查的解决方案
15. 阐述事务及隔离级别(不同隔离级别对库存等场景的数据保障方案)
16. sql调优经验
17. 聚簇索引和非聚簇索引的区别?
18. innodb mmvc阐述
19. 实现分布式锁的方式(memercached.Add redis.Setnx zookeeper顺序临时节点)
20. redis集群的理解?(从一个指令到路由,region,slot概念,数据结构的理解 )
21. redis集群如何保证高可用的?如果一台几点宕机后redis会做哪些事情?
22. 对微服务的理解?soa与微服务的区别?(esb存在的问题、以及微服务是如何解决的这些问题的、去中中心的一些思想)
23. Dubbo 是怎么实现的rpc调用的?
24. Dubbo 常用注解有哪些?
25. Spring cloud对于dubbo的优势是什么?
26. Maven常用命令?
27. Maven打包多环境切换怎么做?
28. Maven下jar包冲突如何解决?
29. Linux常用命令/工具?文件夹权限如何修改?文件夹所有者如何修改?