一、java部分

1、集合:集合的结构图、常用集合的特性,包括是否可以为null、是否允许重复元素、是否有序

2、线程:创建线程的方式?每种方式之间的异同点

3、线程池:如何创建线程池?常用的线程池有哪些?创建线程池需要的参数有哪些及含义?在深入还要掌握每种参数有哪些类型可选(比如队列有哪几种?区别是什么?拒绝策略有哪些并知道怎么使用?)

4、ThreadLocal类的使用:ThreadLocal使用目的(解决什么问题)?原理是什么?  这个很常用,很实用。

5、JVM内存划分?JVM堆、方法区、栈、常量池各存放什么?及哪一块的内存共享哪些不共享?常量池内存用的方法区的内存。

类加载流程?什么是双亲委派机制?

二、框架部分

1、spring:spring容器如何创建?spring事务传播特性?spring事务隔离级别?spring IOC和AOP?常用的设计模式?

2、springMVC:springMVC原理?常用注解?springMVC容器和spring容器的区别?

3、mybatis:#和&的区别?一级缓存原理?二级缓存原理及配置方式?

三、数据库

1、三范式?BCNF范式?存储引擎有哪些及各自的优缺点及适用场景?数据库事务、ACID及隔离级别?不考虑隔离性容易产生哪几种情况?mysql数据库索引结构?常用的索引有哪些?mysql对in和exists的用法的理解?

2、性能分析:如何开启慢查询?如何使用show Profile进行sql分析?如何通过Explain+SQL分析性能?

3、锁:什么是行锁、表锁、读锁、写锁、间隙锁?

4、加强实际对问题分析书写SQL的能力(group by和having的使用很常用)。

四、javaWeb

1、什么是servlet,servlet的生命周期?

2、session和cookie及之间的联系?

3、JSP八大隐含对象?

4、JSP四个域对象的作用范围?

5、post和get的区别?

6、转发和重定向的区别?

7、拦截器和过滤器的区别?

五、附加

1、dubbo负载均衡策略?

2、spring boot自动装配原理?

3、redis如何实现分布式缓存?

4、单点登录原理?

5、Tomcat如何优化?

6、常用Linux命令?

7、后台系统怎样防止请求重复提交?

8、maven的依赖、继承及聚合?

9、版本控制Git暂存区与工作区的区别?Git如何创建、回退及撤销版本?

分布式技术:

分布式缓存、分布式消息、分布式锁、分布式事务框架(LCN、Fescar(seata))、分布式常用集群搭建

各部分可能还有其他内容,会后续更新。