专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java程序员,面试题汇总(java程序员面试笔试真题库)

temp10 2024-10-10 12:13:37 java教程 11 ℃ 0 评论

如上篇文章所述(找工作感想),近一个月以来参加了几次面试,包括一面、二面以及现场面试,先针对面试过程中的问题进行整理,看大家是否熟悉并能顺利的答出来,该篇文章只是把面试题列出来,而不会列出答案或者本人的回答,根据大家的评论情况,看是否后续再发片针对问题的我的回答以及参考答案,欢迎大家留言。

我面试的岗位是java,面试过程中的问题,涉及到了java的基础知识、jvm的相关内容以及数据库、分布式、管理经验等相关的内容,具体如下:

Java程序员,面试题汇总(java程序员面试笔试真题库)

一、Java相关

  1. 覆盖类的equal方法时,为什么要同时设置hashcode
  2. ThreadLocal 的内部实现,以及为什么会发生内存泄漏的问题,如何避免
  3. Java有几种实现线程池的方式
  4. 结合第三个问题,线程池的几个核心参数的含义以及在相关中如何设置这些参数(设置的依据是啥)
  5. 对拦截器以及AOP的理解,以及在项目中的应用场景
  6. 项目中用到的设计模式以及对哪些设计模式比较了解,进行简述
  7. synchronized的内部实现原理
  8. synchronized 与 Lock的比较,及选择依据
  9. Java的内存模型
  10. 垃圾回收算法有哪些,在项目中使用的时哪个以及选择的依据
  11. 是否进行过jvm的性能调优,以及修改过哪些参数
  12. 对jvm调优的过程进行简述
  13. 是否有过jvm不同参数的调优对比,如果做的,效果如何
  14. 是否做过线上问题的排除,已经解决了什么样的问题
  15. jvm中如何识别垃圾的对象
  16. GC Root的根有哪些


二、数据库

  • 索引有哪几种类型
  • 什么是索引的最左匹配原则
  • 索引失效的场景
  • mysql有哪几种锁,每种锁的应用场景
  • 是否做过分库分表,已经使用的哪种方式,随后沟通进行分库分表的算法以及带来的问题
  • 做过哪些数据库优化
  • 遇到数据库问题时的排查路径(方案)
  • redis的使用场景
  • 如何做到redis和mysql的数据一致性
  • redis的雪崩和解决方案
  • redis zset数据结构的实现原理
  • redis的服务部署模式
  • mysql中sql语句的执行过程
  • mysql中redo、undo以及binlog的作用和使用场景
  • 简述什么是两阶段提交,以及他的优劣

三、框架相关

  • spring bean的生命周期
  • 事务的传播类型
  • 事务失效的场景
  • 简述从前端请求到后台controller的整个过程,以及在这个过程中,过滤器、aop和拦截器的使用场景和作用,在项目中的使用情况
  • 简述IOC和DI
  • 用户的认证和授权方案
  • jwt包括几个部分,以及每个部分的含义

四、消息队列

  • 使用过哪些消息队列
  • 如何保证消息不丢失
  • 如何保证消息不被重复消费
  • 如何解决消息堆压
  • 消息发送端、borker节点以及接收端常见参数的含义

五、项目

  • 简述做过的项目
  • 针对一个最近的项目,简述自己所承担的角色、实现的功能以及针对某个功能,是否还可以继续优化,优化方案如何
  • 如何评估工作量
  • 技术选型如何进行抉择
  • 简述一下让自己印象深刻的功能或者问题,在整个过程中,自己是如何解决的,以及对自己的提高有哪些
  • 让你带领N个人左右的团队进行项目的开发,人员如何分配、项目进度如何把握以及如何提供项目中成员的开发能力等


以上是我在面试的过程中,问到的一些问题,不全但是大部分应该都包含了,对于找工作的同学,可以做个参考,如果你也是Java开发,我相信,这里面的问题必定你也会遇到其中的几个,可以做个提前的准备。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表