第三节 Java基础
1. 面向对象可以解释下吗?都有哪些特性?
2. JDK,JRE和JVM的区别与联系有哪些?
3. Java语言的平台无关性是如何实现的?
4. Java语言是编译型还是解释型语言?

第四节 Java基础
1. 抽象类和接口有什么区别?
2. 抽象类和接口应该如何选择?分别在什么情况下使用呢?
3. Java中的8种基本数据类型及其取值范围
4. Java中的元注解有哪些?
5. 说说Java中反射机制?

第五节 Java基础
1. Java中的Exception和Error有什么区别?
2. JIT编译器有了解吗?
3. Java中的值传递和引用传递可以解释下吗?

第六节 三大集合 上
1. 说说Java中常见的集合吧。
2. HashMap和Hashtable的区别有哪些?
    HashMap是线程不安全的是吧?你可以举一个例子吗?
    Java集合中的快速失败(fast-fail)机制
    那么快速失败机制底层是怎么实现的呢?
3. HashMap底层实现结构有了解吗?
    HashMap的长度为什么是2的幂次方?
    HasMap的存储和获取原理
    HasMap的扩容步骤
    解决Hash冲突的方法有哪些?
    哪些类适合作为HashMap的键?
4. ConcurrentHashMap和Hashtable的区别?
    ConcurrentHashMap的具体实现方式

第七节 三大集合 下
1. TreeMap有哪些特性?
    那么Comparable接口和Comparator接口有哪些区别呢?
2. ArrayList和LinkedList有哪些区别?
3. HashSet和TreeSet有哪些区别?
4. LinkedHashMap和LinkedHashSet有了解吗?
    什么是LRU算法?LinkedHashMap如何实现LRU算法?
5. List和Set的区别?
6. Iterator和ListIterator的区别是什么?
7. 数组和集合List之间的转换
8. Collection和Collections有什么关系?

第八节 高效并发编程 上
1. 进程与线程的区别
进程间常见的通信方式
2. 多线程与单线程的关系
3. 线程的状态有哪些?
4. sleep 和 wait 的区别, join 方法,yield 方法
5.  线程活性故障有哪些?

第九节 高效并发编程 中
1. 原子性,可见性与有序性
2. 谈谈你对synchronized关键字的理解
3. 谈谈你对volatile关键字的理解
4. ReentrantLock和synchronized的区别
----------补充------------------
5. volatile 和 synchronized 的区别

第十节 高效并发编程 下
1. Java中的线程池有了解吗?
线程池的好处
2. CountDownLatch和CyclicBarrier有了解吗?
3. ThreadLocal有了解吗?
4. Atmoic有了解吗?

第十一节 JVM内存机制 上
1. JVM中的内存是怎么划分的
2. 说一下对象创建过程中的内存分配
3. 对象被访问的时候是怎么被找到的
4. 内存分配与垃圾回收
5. JVM如何判定一个对象是否应该被回收

第十二节 JVM内存机制 中
1. JVM垃圾回收算法有哪些?
2. JVM的垃圾收集器? (重点CMS收集器)

第十三节 JVM内存机制 下
1. JVM常用内存调优命令
2. JDK8中在内存管理上的变化
3. Java中的类加载机制有了解吗

第十四节 Spring必会知识点
1. Spring中的反转控制(IOC)
2. AOP面向切面编程
3. IOC容器的初始化过程
4. Spring中Bean的作用域有哪几种
5. Spring的事务有了解吗
6. SpringMVC的消息处理流程
7. 简单说下SpringBoot


第十五节 Mybatis必会知识点
1. Mybatis是什么?
2. Mybatis的核心组件
3. Mybatis的动态sql
4. Mybatis中的Mapper中的常见标签(挑常见的标签给面试官阐述)
5. Mybatis中的Dao接口的工作原理?(了解)
6. Dao接口中的方法可以重载吗? 不可以
    不同映射文件xml中的id值可以重复吗?不能
7. Mybatis中#和$的区别是什么?
8. Mybatis的缓存机制
9. Mybatis的接口绑定是什么?有哪些实现方式?


第十六节 Redis解析
1. Redis有了解吗
   redis相比memcached有哪些优势?
   redis都支持哪些数据类型?应用场景有哪些?
  redis的配置文件有了解吗?
2. Redis是单线程的吗?为什么执行速度这么快?
3. 使用redis可能出现的问题
4. redis的持久化方式有哪些
5. redis数据的过期回收策略与内存淘汰机制
6. redis的主从复制机制
7.redis对事务支持

第十七节 消息队列——Kafka介绍
1. 消息队列kafka有了解吗
    Kafka使用磁盘存储,为什么具有高性能的特点?
2. Kafka中的核心概念
3. Kafka副本机制
4.kafka文件存储机制
5.topic和partition
6. kafka消息传输的三大语义
7. kafka中关于可靠性的配置

第十八节 网络协议 上
1. OSI七层协议模型
2. TCP/IP协议有了解吗
3. 三次握手以及四次挥手
4. TCP和UDP协议的区别
5. 一个网络数据包包括哪些?
6. TCP协议中的数据包分片与重组功能有了解吗?
7. TCP协议的拥塞避免算法有哪些?

第十九节 网络协议 下
1.  HTTP和HTTPS的区别
     HTTP请求中的get和post方法有哪些区别
     常见的get和post方法有哪些区别
     常见的HTTP Code有哪些
     常见的HTTP协议的状态码
     cookie和seession有了解吗
     ssl协议
2. HTTP1.0,HTTP1.1以及HTTP2.0协议的区别
3. 路由汇聚
4. 子网掩码的求法

第二十节 web开发安全 
1. XSS跨站脚本攻击
2. CSRF跨站请求伪造
3. SSRF服务端请求伪造
4. SQL注入

第二十一节 MySQL 上
1. MySQL的索引有了解吗?
   为什么Innodb底层使用B+树,而不是B树
   聚簇索引和非聚簇索引有了解吗
   MySQL回表
   覆盖索引
   索引的最左前缀原则
   索引下推
   哪些列上适合创建索引?创建索引有哪些开销?
   自增主键
2. MySQL常见的存储引擎有哪些?
3. MySQL中where、group by、having关键字
    having和where的区别
4.当同时含有where子句、group by 子句 、having子句及聚集函数时,执行顺序如下

第二十二节 MySQL 下
1. MySQL的日志模块binlog和redo log有了解吗
  为什么MySQL会突然变慢一下
2. MySQL事务有哪些特性
    如果不做控制,多个事务并发操作数据库会产生哪些问题
    MySQL事务的隔离级别有了解吗
3. MySQL的锁机制
    行级锁为什么会锁住整个表
    乐观锁的ABA问题有了解吗?如何解决?
4. 有SQL优化或者MySQL故障排查经历吗
5. MySQL建表的约束条件有哪些?

第二十三节 linux命令
1. grep
2. awk
3. top,ps
4. se

    
第二十四节 Maven命令
1. maven是什么
2. maven的仓库
3. 什么是***
4. 什么是中央仓库
5. maven的生命周期

第二十五节 git命令
1. git的工作原理
  git init, git add, git commit -m "first commit", 
  git remote add origin “远程仓库地址”, git push origin master:master

第二十六节 高频算法面试
1. 快速排序、冒泡排序、选择排序
2. 单链表反转、合并有序链表
3、二叉树分层遍历、前序遍历


第二十七节 高频算法面试
1. 包含min函数的栈、