一、Java基础
1. 接口,继承,多肽
理解接口与抽象类的关系,百度查找设计模式中的模版方法,策略模式,单例模式,工厂方法并自己手写出这四种模式代码。
2. 集合框架
- 理解java集合框架的接口,类继承关系架构图,Set,Collector,Map 之间的关系,
- 为什有数组还要有ArrayList,他们之间有什么关系,ArrayList 和linkedList 有什么区别(数组和链表的区别) ,
- HashMap 通过key 找Value 为什是O(1)复杂度,HashMap的底层数据结构实现,自动扩容,hash冲突都是怎么实现的。
- HashSet 和HashMap 之间的关系
- java 自带集合框架的工具类Collections 的使用 ,谷歌Java集合框架工具类的使用guava
- java8 中的集合框架 流式api 的使用
3. 多线程
- 怎么创建多线程 ,java8 创建多线程
- 为什要用线程池 , java提供了创建哪几种线程池api
- 什么是线程安全, 锁怎么用
4.springIOC&AOP , springMVC ,mybatis
- 为什么要用springIOC , 了解工厂模式&单例模式,spring容器的beanFactor,依赖注入的方式
- AOP 是什么 ?spring 数据库事务的支持用aop 怎么实现的
- springMVC & mybatis 找例子写一个最简单的http接口查询数据库结果返回一个json 数据
付费课程
还有你上课时候的录屏
二、数据库
- sql 语句的增删改查, join 查询 ,子查询,exists 的使用
sql语句 - mysql innodb 实现,索引B+树结构,什么是事务,什么是隔离性,原子性,持久性
mysql
付费课程,mysql索引结构 - redis (用我发给你的redis pdf书)
- 什么是redis , redis 所有的数据类型
- redis 可以用在哪些场景,缓存,分布式锁,抢购等
三、MQ
重点了解RoketMQ(用我发给你的资料) ,学之前需要理解为什么要用MQ - 削峰和解耦 。
那什么是削峰 ,为什么要削峰
解耦 是属于分布式的理论。可以放最后了解
四、分布式
很有可能你进去的公司不会用,但是面试官为了了解你的深度喜欢问。
为什么要用分布式 , dubbo 框架是在分布式中是什么角色
dubbo官网
了解后台架构的演变进程,什么是分布式架构中的熔断,降级,分布式事务怎么办
五、其他
maven : 要知道是什么, 怎么用 https://www.runoob.com/maven/maven-tutorial.html
git : 要知道什么,怎么用,常用命令https://www.runoob.com/git/git-tutorial.html
六、背面试题
一定要看一遍:java面试题精讲