今年的金九银十跳槽的难度明显比往年要大很多,今天在这里给大家分享一些 BATj 面试 Java 程序员真题,让大家进行突击复习,查漏补缺,希望大家都能在这个金九银十拿到满意的 offer!(文末有答案分享哦!)
JVM 面试真题:
-
类加载器是有了解吗?
-
Java 虚拟机是如何判定两个 Java 类是相同的?
-
类加载器是如何加载 class 文件的?
-
双亲委派模型(Parent Delegation Model)?
-
双亲委派模型的工作过程?
-
双亲委派模型为什么这样设计呢?
-
JVM 内存划分:
-
对象分配规则?
-
简述一下 Java 中创建一个对象的过程
网络编程与高效 IO
-
BIO、NIO 和 AIO 的区别?
-
NIO 的组成?
-
Netty 的特点?
-
Netty 的线程模型?
-
TCP 粘包/拆包的原因及解决方法?
-
了解哪几种序列化协议?
-
如何选择序列化协议?
-
Netty 的零拷贝实现?
-
Netty 的高性能表现在哪些方面?
-
NIOEventLoopGroup 底层源理是?
mysql 优化 索引
-
索引的好处和坏处是什么?
-
数据库中,哪些列需要创建索引,哪些列不适合创建索引?
-
说说你对索引的认识(结构、对 dml 的影响、为什么提高查询性能)
-
若果一个 sql 查询语句很长,执行速度慢,你会想到哪些优化的方法?
-
数据库里有些数据会反复被查询,问有什么好方法提高效率?
-
什么是跨站脚本攻击,有何危害,sq|注入攻击如何防范?
-
在工作中,一台线上 MSSQL 数据库查询数据突然变得异常缓慢,如果交给你排查,请写出排查思路。
Linux 面试
-
随意写文件命令?怎么向屏幕输出带空格的字符串,比如”hello world”?
-
终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?
-
Grep 命令有什么用?如何忽略大小写?如何查找不含该串的行
-
Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?
-
把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令?
Spring&SpringMVC
-
什么是 spring?
-
使用 Spring 框架的好处是什么?
-
解释一下什么是 IOC?
-
解释一下什么是 AOP?
-
spring 有哪些主要模块?
-
spring 常用的注入方式有哪些?
-
spring 中的 bean 是线程安全的吗?
-
spring 支持几种 bean 的作用域?
-
spring 自动装配 bean 有哪些方式?
-
说一下 spring 的事务隔离?
-
什么是 Spring 的 MVC 框架?
-
说一下 spring mvc 运行流程?
-
spring mvc 有哪些组件?
-
@RequestMapping 的作用是什么?
-
@Autowired 和 @Resource 的区别?
并发与高性能
-
有个每秒钟 5k 个请求,查询手机号所属地的笔试题(记得不完整,没列出),如何设计算法?请求再多,比如 5w,如何设计整个系统?
-
高并发情况下,我们系统是如何支撑大量的请求的
-
集群如何同步会话状态
-
负载均衡的原理
-
如果有一个特别大的访问量,到数据库上,怎么做优化(DB 设计,DBIO,SQL 优化,Java 优化)
-
如果出现大面积并发,在不增加服务器的基础上,如何解决服务器响应不及时问题“。
-
假如你的项目出现性能瓶颈了,你觉得可能会是哪些方面,怎么解决问题。
-
如何查找 造成 性能瓶颈出现的位置,是哪个位置照成性能瓶颈。
-
你的项目中使用过缓存机制吗?有没用用户非本地缓存
分布式技术面试
-
为什么使用 MQ??
-
Kafka, ActiveMQ, RabbitMQ, RocketMQ 各有什么优缺点?
-
消息中间件产生的背景
-
Netty 有什么用?NIO/BIO/AIO 有什么用?有什么区别?
-
为什么要进行系统拆分?拆分不用 Dubbo 可以吗?
-
内容大纲
分布式
中间件
大数据与高并发
数据库
设计模式与实践
数据结构与算法
大厂面试题举例
内容精选
秒杀架构设计
常见的限流算法
一致性 Hash 算法
MVCC(多版本并发控制)
设计模式
工厂模式
红黑树
跳表
JVM 内存管理算法
面试题举例
总结
这份笔记是对 Java 程序员面试必备知识点的总结,详细讲解了分布式、中间件、大数据与高并发、数据库、设计模式与实践、数据结构与算法等面试必备知识点,在讲解时不拖泥带水,力求精简。
这份笔记可以作为大家面试突击的一份宝典,肯定会有奇效!