1. 简单的自我介绍
2. 为什么Java会被称为平台无关的编程语言
3. JVM的组成部分
4. JVM除了运行时数据区,还有其他的部分,比如说类加载器,本地方法接口,你还知道其他的吗
5. JVM怎么判断一个垃圾可以被回收的
6. 知道一个完整的一个GC过程吗
7. 有哪些垃圾回收算法
8. 接口和抽象类的区别
9. 在什么情况下会选择使用接口而不是抽象类(接口是底层规范、自上而下,抽象类是自下而上)
10. 创建一个对象的方式
11. 深拷贝和浅拷贝
12. 创建线程的方式
13. 项目中用什么工具做版本管理的,描述一下分支策略
14. ArrayList和LInkedList的区别
15. 在开发中用过synchronized关键字吗?
16. 讲一下是怎么用的
17. synchronized修饰代码块或者访问非静态的方法,占用的是当前实例的锁还是锁的对象
18. 数据库的范式
19. 事务的隔离级别,分别可以解决什么问题
20. 对幻读的理解,你觉得幻读是什么
21. sql慢查询优化方法
22. 在什么时候可以对字段加索引
23. 索引失效的场景
24. 有没有 没有使用最左匹配,索引也不会失效的情况?(mysql8.0之后不符合最左匹配索引不一定会失效)
25. 为什么不符合最左匹配索引会失效
26. 为什么要使用Spring,Spring有什么好处(轻量级框架,AOP,IOC)
27. 展开讲一下AOP和IOC
28. Redis的持久化机制
29. 项目中使用的是什么持久化机制,有自己配置过吗
30. 写一个简单的单例模式(不知道咋写)
31. 写一个反转链表
32. 拷打实习
33. ThreadLocal是什么(说实习的时候用到了ThreadLocal,说成了LocalThread)
34. 接口幂等性怎么判断订单的重复?幂等性只是针对下单的接口吗?那我短时间就是想要下两次单不可以吗
35. 让你设计一个购票、抢票的应用,你会从哪些方面着手?(提示说分模块开发,架构设计,模块之间的数据交换)
37. 某个页面响应速度很慢怎么解决?可能会有哪些方面的问题?(数据库,服务器的CPU,内存,网络)
38. 实习期间碰到的棘手的问题,怎么解决的
39. 面试过程中还有哪些技术亮点没有展示的
40. 反问
大概1h