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