面试问题汇总

原创
2020/03/10 10:03
阅读数 280

本文整理了一些面试时面试官必问的知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。

以下是文档涉及的主要内容:

JVM

  1. 线程

  2. JVM内存区域

  3. JVM运行时内存

  4. 垃圾回收与算法

  5. JAVA 四种引用类型

  6. GC分代收集算法 VS 分区收集算法

  7. GC垃圾收集器

  8. JAVA IO/NIO

  9. JVM 类加载机制

 

 

 

JAVA集合

  1. 接口继承关系和实现

  2. List

  3. ArrayList(数组)

  4. Vector(数组实现、线程同步)

  5. LinkList(链表)

  6. Set

  7. HashSet(Hash表)

  8. TreeSet(二叉树)

 

 

 

JAVA多线程并发

  1. JAVA并发知识库

  2. JAVA线程实现/创建方式

  3. 4种线程池

  4. 线程生命周期(状态)

  5. 终止线程4种方式

  6. sleep与wait 区别

  7. start与run区别

  8. JAVA后台线程

  9. JAVA锁

  10. 线程基本方法4.1.11. 线程上下文切换

  11. 同步锁与死锁

  12. 线程池原理

  13. JAVA阻塞队列原理

  14. CyclicBarrier、CountDownLatch、Semaphore的用法

  15. volatile关键字的作用(变量可见性、禁止重排序)

  16. 如何在两个线程之间共享数据

 

 

 

JAVA基础

  1. JAVA异常分类及处理

  2. JAVA反射

  3. JAVA注解

  4. JAVA内部类

  5. JAVA泛型

  6. JAVA序列化(创建可复用的Java对象)

  7. JAVA复制

 

 

 

Spring 原理

  1. Spring 特点

  2. Spring 核心组件

  3. Spring 常用模块

  4. Spring 主要包

  5. Spring 常用注解

  6. Spring第三方结合

  7. Spring IOC原理

  8. Spring APO原理

  9. Spring MVC原理

  10. Spring Boot原理

  11. JPA原理

  12. Mybatis缓存

  13. Tomcat架构

 

 

 

微服务

  1. 服务注册发现

  2. API 网关

  3. 配置中心

  4. 事件调度(kafka)

  5. 服务跟踪(starter-sleuth)

  6. 服务熔断(Hystrix)

  7. Hystrix断路器机制

  8. API管理

 

 

 

Netty 与RPC

  1. Netty 原理

  2. Netty 高性能

  3. Netty RPC实现

  4. 关键技术

  5. 核心流程

  6. 消息编解码

  7. 通讯过程

  8. RMI实现方式

 

 

 

分布式缓存

  1. 缓存雪崩

  2. 缓存穿透

  3. 缓存预热

  4. 缓存更新

  5. 缓存降级

 

 

 

网络

  1. 网络7层架构

  2. TCP/IP原理

  3. TCP三次握手/四次挥手

  4. HTTP原理

  5. CDN 原理

  6. 分发服务系统

  7. 负载均衡系统

  8. 管理系统

 

 

 

日志

  1. Slf4j

  2. Log4j

  3. LogBack

  4. Logback优点

  5. ELK

 

 

 

Zookeeper

  1. Zookeeper概念

  2. Zookeeper角色

  3. Zookeeper工作原理(原子广播)

  4. Znode有四种形式的目录节点

 

 

 

Kafka

  1. Kafka概念

  2. Kafka数据存储设计

  3. partition的数据文件(offset,MessageSize,data)

  4. 数据文件分段segment(顺序读写、分段命令、二分查找)

  5. 数据文件索引(分段索引、稀疏存储)

  6. 生产者设计

  7. 负载均衡(partition会均衡分布到不同broker上)

  8. 批量发送

  9. 压缩(GZIP或Snappy)

  10. 消费者设计

 

 

 

RabbitMQ

  1. RabbitMQ概念

  2. RabbitMQ架构

  3. Exchange 类型

 

 

 

设计模式

  1. 设计原则

  2. 工厂方法模式

  3. 抽象工厂模式

  4. 单例模式

  5. 建造者模式

  6. 原型模式

  7. 适配器模式

  8. 装饰器模式

  9. 代理模式

  10. 外观模式

  11. 桥接模式

  12. 组合模式

  13. 享元模式

  14. 策略模式

  15. 模板方法模式

  16. 观察者模式

  17. 迭代子模式

  18. 责任链模式

  19. 命令模式

  20. 备忘录模式

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部