01:Java底层
1:字节码,Class文件格式
2:CPU缓存,L1,L2,L3和伪共享
3:尾递归
4:位运算
用位运算实现加、减、乘、除、取余
02:Java设计模式
设计模式的七大原则:
开闭原则(Open Close Principle)、里氏替换原则(Liskov Substitution Principle)、依赖倒置原则(Dependence Inversion Principle)、单一职责原则((Simple Responsibility Pinciple)、接口隔离原则(Interface Segregation Principle)、迪米特法则(最少知道原则)(Demeter Principle)、合成复用原则(Composite Reuse Principle)
1:了解23种设计模式
创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter 模式)、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。
2:会使用常用的设计模式
单例的七种写法:懒汉——线程不安全、懒汉——线程安全、饿汉、饿汉——变种、静态内部类、枚举、双重校验锁
工厂模式、适配器模式、策略模式、模板方法模式、观察者模式、外观模式、代理模式等必会
3:不用synchronized和lock,实现线程安全的单列模式
4:实现AOP
5:实现IOC
6:NIO和reactor设计模式
03:网络编程知识
1:tcp、udp、http、https 等常用协议
三次握手与四次关闭、流量控制和拥塞控制、OSI 七层模型、tcp 粘包与拆包
2:http/1.0 http/1.1 http/2 之前的区别
http 中 get 和 post 区别
常见的 web 请求返回的状态码
404、302、301、500分别代表什么
3:http/3
4:Java RMI,Socket,HttpClient
5:cookie 与 session
cookie 被禁用,如何实现 session
6:用 Java 写一个简单的静态文件的 HTTP 服务器
7:了解 nginx 和 apache 服务器的特性并搭建一个对应的服务器
8:用 Java 实现 FTP、SMTP 协议
9:进程间通讯的方式
10:什么是 CDN?如果实现?
11:DNS
什么是 DNS 、记录类型: A 记录、CNAME 记录、AAAA 记录等
域名解析、根域名服务器
DNS 污染、DNS 劫持、公共 DNS:114 DNS、Google DNS、OpenDNS
12:反向代理
正向代理、反向代理
反向代理服务器
04:框架知识
1:Servlet
生命周期
线程安全问题
filter 和 listener
web.xml 中常用配置及作用
2:Hibernate
什么是 OR Mapping
Hibernate 的懒加载
Hibernate 的缓存机制
Hibernate / Ibatis / MyBatis 之间的区别
3:Spring
Bean 的初始化
AOP 原理
实现 Spring 的IOC
Spring 四种依赖注入方式
4:Spring MVC
什么是 MVC
Spring mvc 与 Struts mvc 的区别
5:Spring Boot
Spring Boot 2.0、起步依赖、自动配置、
Spring Boot 的 starter 原理,自己实现一个 starter
6:Spring Security
7:Spring Cloud
服务发现与注册:Eureka、Zookeeper、Consul
负载均衡:Feign、Spring Cloud Loadbalance
服务配置:Spring Cloud Config
服务限流与熔断:Hystrix
服务链路追踪:Dapper
服务网关、安全、消息
05:应用服务器知识
1:JBoss
2:tomcat
3:jetty
4:Weblogic
06:工具
1:git & svn
2:maven & gradle
3:Intellij IDEA
常用插件:Maven Helper 、FindBugs-IDEA、阿里巴巴代码规约检测、GsonFormat
Lombok plugin、.ignore、Mybatis plugin
网友评论