hhh

3 阅读8分钟

面试评分维度对应面试题(面试官专用)

一、专业能力(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 生成)