java中高级面试题

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常用命令/工具?文件夹权限如何修改?文件夹所有者如何修改?

你可能感兴趣的:(java中高级面试题)