作为一名优秀的程序员,技术面试都是不可避免的一个环节,一般的技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。

大部分程序员认为面试的东西都是极为高大上的,这基本是所有企业面试的共性,考察的东西肯定是要比实际用到的东西更多一点,对于一家正常的企业来讲这也是无可厚非的。

在这里分享的是JVM调优、Spring、Springboot、并发编程、Nginx、设计、SQL、中间件等面试文档,这些面试题都是经过BAT面试实战精选过的重点内容。

也有一部分朋友面试的经历会比较惨烈,就比如我这样的,你们肯定会想:一个开发3年的,难道一个5分钟都坚持不了?
程序员面试知识清单全在这些电子文档里,JVM调优、Spring、并发、Nginx、设计、中间件等_第1张图片
Java基础面试专题

关于 JVM JDK 和 JRE 最详细通俗的解答

Oracle JDK 和 OpenJDK 的对比

什么是 Java 程序的主类 应用程序和小程序的主类有何不同

字符型常量和字符串常量的区别

String StringBuffer 和 StringBuilder 的区别是什么 String 为什么是不可变的

在一个静态方法内调用一个非静态成员为什么是非法的

什么是方法的返回值?返回值在类的方法里的作用是什么?
![](https://s1.51cto.com/images/blog/202002/05/d6db 50cfccccab94a4394ea1e0b2f1ed.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

JVM调优面试题

如何判断一个对象是否存活?(或者 GC 对象的判定方法)

java 中垃圾收集的方法有哪些?

java 类加载过程?

什么是类加载器,类加载器有哪些?

简述 java 内存分配与回收策率以及 Minor GC 和Major GC

程序员面试知识清单全在这些电子文档里,JVM调优、Spring、并发、Nginx、设计、中间件等_第2张图片

spring面试题

请解释下 Spring 框架中的 IoC?

BeanFactory 和 ApplicationContext 有什么区别?

如何用基于 XML 配置的方式配置 Spring?

如何用基于 Java 配置的方式配置 Spring?

请解释 Spring Bean 的生命周期?
程序员面试知识清单全在这些电子文档里,JVM调优、Spring、并发、Nginx、设计、中间件等_第3张图片

springboot面试题

如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?

如何在 Spring Boot 中禁用 Actuator 端点安全性?

如何实现 Spring Boot 应用程序的安全性

如何集成 Spring Boot 和 ActiveMQ?

什么是 Swagger?你用 Spring Boot 实现了它吗?

您使用了哪些 starter maven 依赖项?程序员面试知识清单全在这些电子文档里,JVM调优、Spring、并发、Nginx、设计、中间件等_第4张图片

并发编程面试专题

Synchronized 用 过 吗 , 其 原 理 是 什 么 ?

你刚才提到获取对象的锁 , 这 个 “ 锁 ” 到底是什么 ? 如何确定对象的锁 ?

除 了 ReetrantLock, 你 还 接 触 过 JUC 中 的 哪 些 并 发 工 具 ?

如何让Java 的线程彼此同步 ? 你了解过哪些同步器 ? 请分别介绍 下 。

CyclicBarrier 和 CountDownLatch 看起来很相似 , 请对比下呢 ?
程序员面试知识清单全在这些电子文档里,JVM调优、Spring、并发、Nginx、设计、中间件等_第5张图片

Nginx面试专题

请列举 Nginx 的一些特性

在 Nginx 中,如何使用未定义的服务器名称来阻止处理请求?

请解释 Nginx 服务器上的 Master 和 Worker 进程分别是什么?

使用“反向代理服务器”的优点是什么?

请解释 ngx_http_upstream_module 的作用是什么?
程序员面试知识清单全在这些电子文档里,JVM调优、Spring、并发、Nginx、设计、中间件等_第6张图片

Mysql面试题

Mysql 的技术特点是什么?

请简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

在 Mysql 中 ENUM 的用法是什么?

TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 数据类型上做什么?

列设置为 AUTO INCREMENT 时,如果在表中达到最大值,会发生什么情况?
程序员面试知识清单全在这些电子文档里,JVM调优、Spring、并发、Nginx、设计、中间件等_第7张图片

设计模式

什么是设计模式?你是否在你的代码里面使用过任何设计模式?

在 Java 中,什么叫观察者设计模式(observer design pattern)?

Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式

使用工厂模式最主要的好处是什么?在哪里使用?
程序员面试知识清单全在这些电子文档里,JVM调优、Spring、并发、Nginx、设计、中间件等_第8张图片

RabbitMQ面试题

RabbitMQ 中的 broker 是指什么?cluster 又是指什么?

RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?

为什么 heavy RPC 的使用场景下不建议采用 disk node ?

routing_key 和 binding_key 的最大长度是多少?
程序员面试知识清单全在这些电子文档里,JVM调优、Spring、并发、Nginx、设计、中间件等_第9张图片

Netty面试题

Netty有什么特点?

说下Netty的线程模型?

了解哪几种序列化协议?

Netty 的高性能表现在哪些方面?

Netty 的零拷贝实现?

程序员面试知识清单全在这些电子文档里,JVM调优、Spring、并发、Nginx、设计、中间件等_第10张图片
有需要获取面试体系文档的朋友可以点击以下
https://shimo.im/docs/TC9Jq63Tp6HvTXdg

即可获得以上所面试PDF文档资料的领取方式!

来源:https://zhuanlan.zhihu.com/p/102528978