• 22年牛客最新大厂Java岗面试题大合集(含答案)


    我从21年的1月份准备实习开始,到8月中旬,已拿到多家心仪大厂offer,经过漫长的8个月,终于尘埃落定,最后的结果还算满意。大家在 知乎分享的各种经验贴对自己获益颇丰,但到目前为止,自己还没给大家分享过啥。在这里分享些自己的经验,希望给找工作的小伙伴一点帮助。

     

    一、JVM面试专题

    1. 内存模型以及分区,需要详细到每个区放什么?
    2. 什么情况下会发生栈内存溢出?
    3. 详解JVM内存模型
    4. JVM内存为什么要分成新生代,老年代,持久代。新生代中为什么
    5. 要分为Eden和Survivor
    6. 堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。
    7. GC 的两种判定方法:
    8. SafePoint 是什么
    9. GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
    10. GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
    11. 类加载的几个过程:
    12. JVM 内存分哪几个区,每个区的作用是什么?
    13. 如何判断一个对象是否存活?(或者 GC 对象的判定方法)
    14. 简述 java 垃圾回收机制?
    15. java 内存模型
    16. 类加载器双亲委派模型机制?
    17. 垃圾收集器相关
    18. 怎么打出线程栈信息
    19. 强引用、软引用、弱引用、虚引用的区别?
    20. 什么是类加载器,类加载器有哪些?
    21. 内存屏障
    22. 说一下 JVM由那些部分组成,运行流程是什么?
    23. 说一下 JVM 运行时数据区
    24. 详细的介绍下程序计数器?(重点理解)
    25. 你能给我详细的介绍Java堆吗?
    26. 能不能解释一下方法区
    27. 什么是JVM字节码执行引擎
    28. 堆栈的区别是什么?
    29. Java会存在内存泄漏吗?请说明为什么?
    30. 垃圾回收器的原理是什么?有什么办法手动进行垃圾回收?
    31. 简单说说你了解的类加载器,可以打破双亲委派么,怎么打破。
    32. 为什么需要双亲委派模型?
    33. 说说你知道的几种主要的JVM参数
    34. 简述 java 内存分配与回收策率以及 Minor GC 和Major GC

    二、Linux面试专题

    1. Linux 中主要有哪几种内核锁?
    2. 怎样申请大块内核内存?
    3. 通过伙伴系统申请内核内存的函数有哪些?
    4. 如何加载、卸载一个模块?
    5. Linux 中的浮点运算由应用程序实现还是内核实现?
    6. 模块程序能否使用可链接的库函数?
    7. 字符设备驱动程序的关键数据结构是哪个?
    8. 如何唯一标识一个设备?
    9. 什么是Linux
    10. Unix和Linux有什么区别?
    11. Linux的基本组件是什么?
    12. BASH和DOS之间的基本区别是什么?
    13. Linux 开机启动过程?
    14. Linux 使用的进程间通信方式?
    15. Linux系统安装多个桌面环境有帮助吗?
    16. 什么是BASH?
    17. 什么是GUI?
    18. GNU项目的重要性是什么?
    19. 简单 Linux 文件系统?
    20. 什么是硬链接和软链接?
    21. 一台 Linux 系统初始化环境后需要做一些什么安全工作?
    22. 什么是网站数据库注入?
    23. 如何选择 Linux 操作系统版本?
    24. 请问当用户反馈网站访问慢,你会如何处理?
    25. Linux 性能调优都有哪几种方法?
    26. 基本命令:cd、pwd、ls、ll、touch、mkdir、cat、more、less、tail

    三、MyBatis面试专题

    1、什么是 MyBatis?

    答:MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架。

    2、讲下 MyBatis 的缓存

    答:MyBatis 的缓存分为一级缓存和二级缓存,一级缓存放在 session 里面,默认就有,二级缓

    存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现 Serializable 序列化

    接口(可用来保存对象的状态),可在它的映射文件中配置

    3、Mybatis 是如何进行分页的?分页插件的原理是什么?

    4、简述 Mybatis 的插件运行原理,以及如何编写一个插件?

    5、Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述一下动态 sql 的执行原理不?

    6、为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?

    答:Hibernate 属于全自动 ORM 映射工具,使用 Hibernate 查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的。而 Mybatis 在查询关联对象或关联集合对象时,需要手动编写 sql 来完成,所以,称之为半自动 ORM 映射工具。

    7、MyBatis 与 Hibernate 有哪些不同?

    8、MyBatis 的好处是什么?

    9、MyBatis 实现一对一有几种方式?具体怎么操作的?

    10、Mybatis 能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区

    别?

    11、MyBatis 里面的动态 Sql 是怎么设定的?用什么语法?

    12、Mybatis 是如何将 sql 执行结果封装为目标对象并返回的?都有哪些映射形式?

    13、Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?

    14、当实体类中的属性名和表中的字段名不一样,如果将查询的结果封装到指定 pojo?

    15、Mybatis 映射文件中,如果 A 标签通过 include 引用了 B 标签的内容,请问,B 标签能否定义在 A 标签的后面,还是说必须定义在 A 标签的前面?

    16、Mybatis 中如何执行批处理?

    17、Mybatis 都有哪些 Executor 执行器?它们之间的区别是什么?

    18、Mybatis 执行批量插入,能返回数据库主键列表吗?

    19、Mybatis 是否可以映射 Enum 枚举类?

    20、如何获取自动生成的(主)键值?

    四、SpringBoot面试专题

    1、什么是 Spring Boot?

    2、SpringBoot与SpringCloud 区别?

    3、Spring Boot 有哪些优点?

    4、推荐和默认的日志框架是哪个?

    5、它主要由哪几个注解组成的?

    6、Spring Boot 的核心注解是哪个?

    7、Spring Boot 支持哪些日志框架?

    8、SpringBoot的缺点

    9、与 1.X 有什么区别?

    10、SpringBoot Starter的工作原理

    11、Spring Boot 2.X 有什么新特性?

    12、SpringBoot支持什么前端模板?

    13、Spring Boot 需要独立的容器运行吗?

    14、SpringBoot的自动配置原理是什么?

    15、SpringBoot 实现热部署有哪几种方式?

    16、如何在 Spring Boot 启动的时候运行一些特定的代码?

    17、什么是 JavaConfifig?

    18、Spring Boot 是否可以使用 XML 配置 ?

    19、什么是 YAML?

    20、、bootstrap.properties 和application.properties 有何区别 ?

    五、Spring面试专题

    1. 什么是 Spring 框架?
    2. Spring 框架有哪些主要模块?
    3. 使用 Spring 框架能带来哪些好处?
    4. 什么是依赖注入?
    5. 什么是控制反转(IOC)?
    6. 请解释下 Spring 框架中的 IoC?
    7. 核心容器(应用上下文) 模块
    8. XMLBeanFactory
    9. Spring的优缺点是什么?
    10. Spring框架的设计目标,设计理念,和核心是什么?
    11. Spring 框架中都用到了哪些设计模式?
    12. 解释 JDBC 抽象和 DAO 模块
    13. 解释对象/关系映射集成模块
    14. 什么是 Spring IOC 容器?
    15. BeanFactory 和 ApplicationContext有什么区别?
    16. Spring 如何设计容器的,BeanFactory和ApplicationContext的关系详解:
    17. 有哪些不同类型的依赖注入实现方式?
    18. Spring 有几种配置方式?
    19. 如何用基于 Java 配置的方式配置 Spring?
    20. 怎样用注解的方式配置 Spring?

    SQL优化面试专题

    1. Mysql 的技术特点是什么?
    2. MySQL 中有哪几种锁?
    3. 唯一索引比普通索引快吗, 为什么?
    4. Heap 表是什么?
    5. MySQL 中有哪些不同的表格?
    6. MySQL由哪些部分组成, 分别用来做什么?
    7. 与 Oracle 相比,Mysql 有什么优势?
    8. 简述在MySQL 数据库中 MyISAM 和InnoDB 的区别?
    9. MySQL查询缓存有什么弊端, 应该什么情况下使用, 8.0版本对查询缓存有什么变更?
    10. 如何区分 FLOAT 和 DOUBLE?
    11. 区分 CHAR_LENGTH 和 LENGTH?
    12. MySQL 中InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?SQL 标准定义的四个隔离级别为?
    13. MyISAM和InnoDB的区别有哪些?
    14. MySQL怎么恢复半个月前的数据
    15. 如果一个表有一列定义为TIMESTAMP,将发生什么?
    16. 你怎么看到为表格定义的所有索引?
    17. 做过哪些MySQL索引相关优化?
    18. 一千万条数据的表, 如何分页查询
    19. MySQL_fetch_array 和MySQL_fetch_object 的区别是什么?

    七、Tomcat面试专题

    1. tomcat 有哪几种Connector 运行模式(优化)?
    2. Tomcat有几种部署方式?
    3. Tomcat的缺省端口是多少,怎么修改?
    4. tomcat 如何优化?
    5. tomcat容器是如何创建servlet类实例?用到了什么原理?
    6. 垃圾回收策略调优
    7. 共享session处理
    8. 内存调优
    9. 专业点的分析工具有
    10. 添加JMS远程监控
    11. 打印类的加载情况及对象的回收情况
    12. 关于Tomcat的session数目
    13. 监视Tomcat的内存使用情况
    14. .Tomcat工作模式?
    15. get方式和post方式有何区别
    16. Servlet相关 API
    17. 什么是cookie?Session和cookie有什么区别?

    八、zookeeper面试专题

    1. ZooKeeper和dubbo的区别?
    2. ZooKeeper是什么?
    3. ZooKeeper 提供了什么?
    4. 说说Zookeeper 文件系统:
    5. Zookeeper的java客户端都有哪些?
    6. 说说ZAB协议?
    7. 四种类型的数据节点 Znode
    8. Zookeeper Watcher 机制 -- 数据变更通知
    9. Zookeeper节点宕机如何处理?
    10. Zookeeper的典型应用场景?
    11. 服务端处理 Watcher 实现
    12. ACL 权限控制机制
    13. 客户端回调 Watcher
    14. 服务器角色
    15. 说一下Zookeeper Watcher机制
    16. 服务端处理Watcher的流程?
    17. 客户端回调 Watcher流程?
    18. 客户端注册Watcher的流程?
    19. 说说ACL权限控制机制?
    20. Zookeeper 下 Server 工作状态
    21. zookeeper 是如何保证事务的顺序一致性的?
    22. 分布式集群中为什么会有 Master?
    23. 集群最少要几台机器,集群规则是怎样的?
    24. 集群支持动态添加机器吗?
    25. chubby 是什么,和 zookeeper 比你怎么看?
    26. ZAB 和 Paxos 算法的联系与区别?

    由于篇幅有限,获取完整面试题和答案解析可以转发后私信关键字【大厂】获取!

    九、消息中间件面试专题

    1. activemq 如果数据提交不成功怎么办?
    2. activemq 的几种通信方式:
    3. 如何解决消息重复问题
    4. activeMQ 发送消息的方式有哪些?
    5. 大量的消息每页被消费,能否发生 oom 异常?
    6. 消息通信的基本方式有哪两种?分别是哪些?
    7. 什么是死信队列?
    8. activeMQ 如何调优
    9. Basic.Reject 的用法是什么?
    10. 为什么不应该对所有的 message 都使用持久化机制?
    11. 向不存在的 exchange 发 publish 消息会发生什么?
    12. 为什么 heavy RPC 的使用场景下不建议采用 disk node ?
    13. 向不存在的exchange 发 publish 消息会发生什么?
    14. queue 执行 consume 动作会发生什么?
    15. 什么情况下 producer 不主动创建 queue 是安全的?
    16. “dead letter”queue 的用途?

    十、Dubbo面试(上)

    1、Dubbo 支持哪些协议,每种协议的应用场景,优缺点?

    • dubbo:
    • rmi:
    • webservice:
    • http:
    • hessian:
    • memcache:
    • redis:

    2、Dubbo 超时时间怎样设置?有几种设计方式?

    3、Dubbo 集群的负载均衡有哪些策略 ?

    4、Dubbo 提供了哪些常见的集群策略实现?

    5、Dubbo 是什么?

    6、Dubbo 的主要应用场景?

    7、Dubbo 的核心功能?

    8、Dubbo 的架构设计?

    9、Dubbo 框架设计一共划分了 10 个层,每个对应的作用是?

    • 服务接口层(Service)
    • 配置层(Config)
    • 服务代理层(Proxy)
    • 服务注册层(Registry)
    • 集群层(Cluster)
    • 监控层(Monitor)
    • 远程调用层(Protocol)
    • 信息交换层(Exchange)
    • 网络传输层(Transport)

    十一、Dubbo面试专题(下)

    1. dubbo 服务负载均衡策略?
    2. Dubbo 中 zookeeper 做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?
    3. dubbo 连接注册中心和直连的区别?
    4. dubbo 服务集群配置(集群容错模式)
    5. Dubbo 在安全机制方面是如何解决的
    6. dubbo 通信协议 dubbo 协议为什么要消费者比提供者个数多:
    7. dubbo 通信协议 dubbo 协议为什么不能传大包:
    8. . RMI 协议
    9. dubbo 通信协议 dubbo 协议为什么采用异步单一长连接:
    10. dubbo 通信协议 dubbo 协议适用范围和适用场景
    11. Hessian 协议
    12. Webservice
    13. Thrif

    十二、MongoDB面试专题

    1. MySQL 与 MongoDB 之间最基本的差别是什么?
    2. NoSQL 数据库有哪些类型?
    3. 为什么要使用和不使用NoSQL 数据库?
    4. 说一说 NoSQL 数据库的几个优点?
    5. 你说的 NoSQL 数据库是什么意思?
    6. NoSQL 与 RDBMS 直接有什么区别?
    7. 你怎么比较 MongoDB、CouchDB 及 CouchBase?
    8. 32 位系统上有什么细微差别?
    9. MongoDB 成为最好 NoSQL 数据库的原因是什么?
    10. 如果用户移除对象的属性,该属性是否从存储层中删除?
    11. 允许空值 null 吗?
    12. 分析器在 MongoDB 中的作用是什么?
    13. 更新操作立刻 fsync 到磁盘?
    14. 为什么我的数据文件如此庞大?
    15. 如何执行事务/加锁?
    16. 启用备份故障恢复需要多久?
    17. 我必须调用 getLastError 来确保写操作生效了么?
    18. 分片(sharding)和复制(replication)是怎样工作的?
    19. 数据在什么时候才会扩展到多个分片(shard)里?
    20. 我可以把 moveChunk 目录里的旧文件删除吗?
    我在网上找了很多面试题来看,最近又赶上跳槽的高峰期,好多粉丝,都问我要有没有最新面试题,索性,我就把我看过的和我面试中的真题,及答案都整理好,整理了《互联网大厂面试题》 涵盖了Java后端面试必问的35个技术点:JVM、Linux、MyBatista、Spring Boot、Spring、SQL优化、Tomcat、Zookeeper、消息中间件、Dubbo、MongoDB、MySQL、RabbitMQ、Redis、Spring Cloud、并发编程、开源框架、ActiveMQ、等35个专题技术栈分享给到大家,希望年后能助大家一臂之力,挺进一线互联网大厂,冲刺年薪百万《Java核心面试》 ——打开

     

  • 相关阅读:
    2022英特尔® FPGA中国技术周
    关于C++11中封装的lock_guard等类——粗浅记录
    Biotinyl-εAhx-Amyloid β-Protein (1-40) CAS:1802086-72-1
    转换流和(字符输入流和字节输入流)
    【TypeScript】TypeScript 与 JavaScript 有何不同?
    Excel表格总是处于只读状态怎么解决?
    Seata 基于改良版雪花算法的分布式 UUID 生成器分析
    HTML CSS 网页设计作业「动漫小站」
    (三)什么是Vite——Vite 主体流程(运行npm run dev后发生了什么?)
    如何利用人工智能减少塑料垃圾?
  • 原文地址:https://blog.csdn.net/BASK2312/article/details/127749559