设计模式

  • 了解23种设计模式
  • 会使用常用设计模式
    • 单例、策略、工厂、适配器、责任链。
  • 实现AOP
  • 实现IOC
  • 不用synchronized和lock,实现线程安全的单例模式
  • nio和reactor设计模式

    网络编程

  • tcp、udp、http、https等常用协议

    • 三次握手与四次关闭、流量控制和拥塞控制、OSI七层模型、tcp粘包与拆包
  • http/1.0 http/1.1 http/2之前的区别
  • Java RMI,Socket,HttpClient
  • cookie 与 session
    • cookie被禁用,如何实现session
  • 用Java写一个简单的静态文件的HTTP服务器
    • 实现客户端缓存功能,支持返回304 实现可并发下载一个文件 使用线程池处理客户端请求 使用nio处理客户端请求 支持简单的rewrite规则 上述功能在实现的时候需要满足“开闭原则”
  • 了解nginx和apache服务器的特性并搭建一个对应的服务器
  • 用Java实现FTP、SMTP协议
  • 进程间通讯的方式
  • 什么是CDN?如果实现?
  • 什么是DNS?
  • 反向代理

    框架知识

  • Servlet线程安全问题

  • Servlet中的filter和listener
  • Hibernate的缓存机制
  • Hiberate的懒加载
  • Spring Bean的初始化
  • Spring的AOP原理
  • 自己实现Spring的IOC
  • Spring MVC
  • Spring Boot2.0
    • Spring Boot的starter原理,自己实现一个starter
  • Spring Security

    搜索引擎

  • Solr、Lucene、Nutch、Elasticsearch

    应用服务器

  • JBoss

  • tomcat
  • jetty
  • Weblogic

    工具

  • git & svn

  • maven & gradle