JAVA开发岗面经整理

书籍

  • Java并发编程实战
  • 剑指offer
  • 深入理解JVM

TODO:

  • ZooKeeper
  • Keepalived
  • Dubbo
  • Haproxy
  • Java Concurrent包
  • 手撸常见排序算法,树、堆。
  • JVM调优参数

别人整理的面经特别全

https://github.com/CyC2018/CS-Notes

 

Linux类

  1. Core dump  详情
  2. Nginx负载均衡  详情  详情
  3. 一致性哈希算法(可以用于负载均衡、服务器集群)  详情
  4. 用户态与内核态  详情    详情
  5. 零拷贝   详情
  6. Docker简单介绍   详情

服务器类

  1. RabbitMQ 核心概念及简单教程   详情
  2. 消息队列技术   详情
  3. 解决幂等性    详情
  4. 高并发限流   详情   详情
  5. RPC服务基本概念  详情   详情
  6. 几种分布式Session的实现(另ZooKeeper)   详情
  7. Kubernetes简介(了解即可)  详情   详情   详情

Spring类

  1. AOP  详情
  2. IOC(实际就是各种@Service类注解)  详情   详情2
  3. beanfactory与Applicationcontext   详情
  4. AOP两种代理机制  详情
  5. Spring 事务传播机制   详情
  6. Spring Cloud 微服务简介  详情

JAVA类

  1. Java垃圾回收  详情
  2. 调用GC函数后不会立即进行回收   详情
  3. Java内存模型  详情
  4. Java中volatile、synchronized和lock解析  详情
  5. 乐观锁与悲观锁   详情
  6. 自旋锁、互斥锁  详情
  7. 偏向锁、轻量级锁、自旋锁、重量级锁   详情   详情
  8. 可重入锁   详情
  9. 类锁、对象锁   详情
  10. 队列同步器   详情
  11. 线程池参数的理解  详情
  12. ThreadLocal   详情
  13. 四种线程池  详情     详情
  14. 可以并行计算的线程池   详情   任务窃取特性
  15. 异步线程池获取结果  简易   详细
  16. HashMap线程安全  详情   详情
  17. HashMap、HashTable、ArrayList及LinkedList   详情   CurrentMap currentMap2
  18. HashMap 底层实现(Java8中由RBTree代替链表)  详情(最后一段)   详情(代码)   详情
  19. 双亲委派模型   详情
  20. Java常量池   详情
  21. Java编译器重排列 详情  详情
  22. 接口和抽象类  详情
  23. 检查性异常和非检查性异常   详情   详情
  24. 序列化和反序列化(Transient 关键字可以让指定字段不参与序列化)  Github    详情
  25. Java动态加载Jar包   详情
  26. Java为什么要重写equals 和hashcode(在比较自定义类的时候)   详情
  27. Java 反射机制  详情1  详情2   详情3
  28. NIO(buffer、channel、selector)三大组件   详情
  29. clone 深拷贝浅拷贝   详情
  30. T Object  详情
  31. lambda语法   详情

JavaConcurrent包

  1. CountDownLatch、CyclicBarrier和 Semaphore   详情
  2. AbstractQueuedSynchronizer  详情
  3. Atomic  TODO
  4. ThreadPoolExecuter  TODO

数据库类

  1. Mysql事务隔离级别的实现  详情1 详情2
  2. Redis持久化  详情
  3. Redis高可用   详情
  4. Mysql两种引擎   详情1   详情2写的一般
  5. 高并发数据库分表   详情
  6. Mysql索引类型  详情    详情
  7. 数据库中的乐观锁和悲观锁     详情
  8. Redis布隆过滤器(可以防止缓存击穿)   详情
  9. Mybatis $  #区别  详情
  10. 缓存击穿、缓存穿透、缓存雪崩  详情
  11. limit优化  详情
  12. 组合索引   详情
  13. Redis失效KEY清理  详情
  14. Mysql 死锁   详情
  15. 时序数据库(了解)  详情

程序设计类

  1. 常用23个设计模式   详情
  2. 单例模式  详情
  3. 死锁及条件 详情
  4. 哈希表解决冲突的三个办法  详情
  5. 进程、线程通信方法  详情   详情
  6. 进程同步   详情
  7. 缓存数据处理 LRU  详情
  8. 分布式锁三种方式  详情
  9. 同步异步阻塞非阻塞   详情

操作系统类

  1. 进程与线程区别  详情
  2. 线程5种状态   详情
  3. CPU调度  详情
  4. 线程中断   详情
  5. 几种常见的I/O模型及其区别   详情
  6. epoll, poll, select   详情

计算机网络

  1. OSI七层模型与TCP/IP五层模型  详情
  2. 常见网络协议及分层   详情
  3. TCP三次握手与四次挥手   详情
  4. DNS解析过程(附带域名)  详情
  5. ARP解析过程  详情
  6. TCP\UDP  详情
  7. 一次完整的HTTP请求  &&  HTTP/HTTPS  详情   详情2
  8. 常见协议及端口号   详情
  9. HTML解析过程  详情   详情
  10. Cookie和Session区别  详情   详情
  11. HTTPS   详情
  12. HTTP状态码  详情
  13. HSTS   详情
  14. CSRF跨站攻击   详情
  15. 反向代理   详情
  16. HTTP2   详情

算法类

  1. 常见动态规划  详情
  2. 动态规划解最长公共子序列问题  详情
  3. 最小生成树(普里姆和克鲁斯卡尔算法)  详情
  4. 快速排序Ktop  详情
  5. LRU cache(最近最少使用)  详情
  6. 常见排序算法   TODO
  7. 100亿条数据,找出其中最大的20条   TODO
  8. 大数据处理算法–bitmap   详情

数据结构  数据结构图像化网站

  1. B树与B+树  详情
  2. Hash索引和B树索引   详情
  3. 红黑树  详情
  4. 聚簇索引和非聚簇索引   详情