面试评分维度对应面试题(面试官专用)
一、专业能力(80%)
(一)JAVA语言能力(满分15分)
1-4分(基础层面)
-
ArrayList和LinkedList的区别是什么?日常开发中你会怎么选择?
-
try-catch-finally中,finally一定会执行吗?举一个不会执行的例子。
5-7分(基础进阶层面)
-
重载和重写的区别是什么?重写有哪些核心规则?
-
你在开发中如何处理异常?举一个你实际处理过的异常场景。
8-12分(深入应用层面)
-
volatile关键字的作用是什么?能否保证原子性?为什么?
-
线程池的核心参数有哪些?任务的执行流程是怎样的?
-
JVM运行时数据区分为哪几块?各自的作用是什么?
-
常见的垃圾回收算法有哪些?CMS和G1收集器的区别是什么?
-
你在项目中如何做性能优化?请举例说明你排查过的性能问题。
-
Code Review时,你会重点关注哪些方面?
13-15分(底层与架构层面)
-
双亲委派模型的作用是什么?如何打破双亲委派模型?举一个实际应用场景。
-
CAS原理是什么?ABA问题如何解决?
-
线程池的拒绝策略有哪些?请详细说明CallerRunsPolicy的适用场景。
-
你主导过哪些复杂系统的设计?技术选型时主要考虑哪些因素?
-
线上出现OOM异常,你会如何排查?请说说具体步骤。
-
你如何推动团队技术能力提升?举一个你实际推动过的技术优化案例。
(二)框架应用能力(满分15分)
1-4分(基础搭建层面)
- Spring IoC和DI的概念是什么?简单说说它们的作用。
5-7分(整合应用层面)
- @Transactional注解的作用是什么?rollbackFor属性的用途是什么?
8-12分(底层与优化层面)
-
Spring Boot的自动配置原理是什么?核心注解有哪些?
-
Spring AOP的JDK动态代理和CGLIB代理的区别是什么?
-
Spring循环依赖是什么?三级缓存如何解决循环依赖?
-
MyBatis拦截器的实现原理是什么?你在项目中用过吗?举个例子。
-
Spring Boot如何做缓存优化?Actuator监控主要能查看哪些信息?
-
Spring事务失效的常见场景有哪些?
13-15分(扩展与架构层面)
-
如何自定义Spring Boot Starter?请说说具体步骤。
-
Spring Cloud的核心组件有哪些?Eureka和Nacos的区别是什么?
-
Feign和Ribbon的作用是什么?如何实现服务熔断和降级?
-
BeanPostProcessor后置处理器的作用是什么?你在项目中如何使用它?
-
Spring Boot内嵌Tomcat的启动原理是什么?
-
你如何主导架构设计和中间件选型?举一个实际案例。
(三)数据库能力(满分15分)
1-4分(基础操作层面)
- InnoDB mysam
5-7分(查询与优化层面)
8-12分(高并发与集群层面)
-
分库分表的常见方案有哪些?各自的优缺点是什么?
-
如何诊断和优化慢查询SQL?举一个你实际优化过的案例。
-
数据库主从复制的原理是什么?如何搭建主从集群?
-
数据库容灾方案有哪些?如何制定在线变更方案?
13-15分(底层与治理层面)
-
InnoDB的MVCC原理是什么?
-
数据库锁的类型有哪些?行锁和表锁的适用场景是什么?
-
分布式事务的常见解决方案有哪些?各自的优缺点是什么?
-
NewSQL和NoSQL的区别是什么?在什么场景下会选择NoSQL?
(四)中间件能力(缓存和消息队列)(满分15分)
1-4分(基础集成层面)
-
Redis的基本作用是什么?日常开发中你用Redis做过什么?
-
如何在Spring Boot项目中集成Redis?
-
简单说说你对RocketMQ/Kafka的理解,如何发送和接收一条消息?
5-7分(应用与基础运维层面)
-
Redis的常用数据结构有哪些?各自的适用场景是什么?
-
缓存穿透、缓存击穿、缓存雪崩的解决方案是什么?
-
Redis的RDB和AOF持久化方式的区别是什么?
-
RocketMQ的生产端和消费端如何保证消息的可靠性?
-
消息重试的机制是什么?如何处理消息重试失败的情况?
8-12分(高可用与问题排查层面)
-
如何用Redis实现分布式锁?需要注意哪些问题?
-
Redis大Key的危害是什么?如何治理大Key?
-
消息队列的死信队列是什么?如何处理死信消息?
-
如何搭建Redis集群?集群的故障转移机制是什么?
-
如何排查K8s环境下中间件的Pod故障?
-
消息积压的原因是什么?如何处理消息积压?
13-15分(底层与平台层面)
-
Redis的底层数据结构(如跳表、哈希表)原理是什么?
-
Kafka的分区机制和副本机制是什么?
-
如何设计中间件的跨地域多活方案?
-
如何建立统一的缓存/消息平台?需要考虑哪些方面?
-
中间件的熔断和降级方案如何设计?
-
你如何推动中间件领域的工程化与稳定性提升?
(五)系统设计与架构能力(满分10分)
1-3分(基础设计层面)
-
软件开发的基本流程是什么?你在流程中主要负责什么工作?
-
MVC架构的核心思想是什么?各层的作用是什么?
-
请简单设计一个用户登录模块的接口。
4-5分(模块设计层面)
-
如何根据需求进行技术方案设计?请说说你的设计思路。
-
常用的设计模式有哪些?请举例说明你在项目中用过的设计模式。
-
如何进行模块建模和接口设计?需要注意哪些规范?
-
简单说说你对ER图的理解,如何设计一张合理的数据库表?
6-8分(核心架构层面)
-
如何独立设计一个核心模块的架构?请说说具体的设计步骤。
-
高并发高可用系统的设计要点有哪些?如何实现限流、降级、熔断?
-
DDD建模的核心思想是什么?你在项目中如何应用DDD?
-
如何进行系统的容量评估?
-
系统设计中如何识别和规避风险?
9-10分(总体架构层面)
-
如何主导复杂系统的总体架构设计和演进?
-
如何建立架构治理体系和评审机制?
-
大型系统重构的核心要点是什么?请举一个你主导过的重构案例。
-
如何设计系统的多活和容灾方案?
-
你如何向客户展示技术方案?需要注意哪些方面?
(六)团队与管理能力(满分10分)
1-3分(个人协作层面)
-
你平时如何安排自己的工作进度?如何反馈工作中的问题?
-
面对新的业务和技术,你如何快速适应?
-
在团队协作中,你如何配合其他成员完成工作?
4-5分(团队参与层面)
-
你如何参与团队的代码评审和设计评审?
-
如何与产品、测试、运维等角色高效沟通?
-
你平时会写技术文档吗?主要写哪些类型的文档?
-
你在团队中做过哪些知识分享?
6-8分(任务牵头层面)
-
你如何牵头一个模块或关键任务的交付?如何拆解工作和把控进度?
-
跨团队协作中遇到阻塞问题,你如何解决?
-
你如何带教新人?有哪些带教方法?
-
你如何组织团队的技术分享和复盘?
9-10分(团队管理层面)
-
你如何制定团队的目标和路线图?如何进行资源统筹?
-
面对复杂问题,你如何做出关键决策?
-
如何打造团队的学习和创新文化?
-
你如何建设人才梯队?如何提升组织整体产出?
二、业务知识(20%)
(一)行业经验(满分10分)
-
你之前做过哪些行业的项目?请详细说说你在该行业的项目经验。
-
你对我们这个行业有什么了解?
-
不同行业的项目开发,有哪些核心差异?
-
你在目标行业中,积累了哪些核心的业务认知?
(二)产品知识(满分10分)
-
你对我们公司的产品有多少了解?请说说产品的核心功能。
-
你之前接触过类似的产品吗?它们的区别是什么?
-
从技术角度,你如何理解产品的业务逻辑?
-
如果产品提出一个新需求,你如何快速理解并落地技术实现?
(注:文档部分内容可能由 AI 生成)