Skip to content

大厂后端面试完整还原试题(结合AI编码工具相关背景)

一、AI辅助编码相关问题

  1. 借助AI生成代码后,你会如何对产出的代码开展测试工作?
  2. 在使用AI写代码的过程中,你会通过哪些方式、指令约束AI,保障最终代码的优雅规范?
  3. 一段代码的正确性该如何判定?是由你人工判断还是交给AI判断?如果依靠AI评判,你会给AI定义怎样的“代码正确”标准?
  4. 代码可维护性由谁负责评判把控,是你本人还是AI?具体从哪些维度判断可维护性好坏?
  5. 当需要实现某一业务功能时,你和AI配合的完整思考流程是什么?

二、需求拆解问题

  1. 拿到一份完整项目业务需求,第一步如何拆分梳理所有需求点?
  2. 详细说下你的需求拆解完整思路;拆解完成后若存在多种实现方案,你会从哪些维度做横向对比、完成最终选型?
  3. 整体项目开发时,你是如何逐层拆解业务需求的?

三、项目架构、脚手架、AOP、AI上下文优化

  1. 你的项目架构有参考哪些开源项目?项目脚手架是直接选用网上现成脚手架参考改造,为什么不自己从零开发脚手架?
  2. 不要只说AOP基础用法,结合组件化设计思维谈谈你对AOP的理解,以及在项目中的落地场景。
  3. 整套项目架构完整搭建思路是什么?日常使用AI写代码时,有哪些手段能够减少对话上下文带来的损耗?

四、Redis相关连环提问

  1. 项目中为什么引入Redis?数据库承载多大并发、数据压力会出现崩溃打崩的情况,你实际压测验证过吗?
  2. 若前期预估业务流量、数据体量都很小,项目同时引入Redis和MQ,会不会造成多余性能与维护负担?如何权衡取舍?
  3. 你是否熟悉自己项目里Redis完整配置?分别讲解核心配置参数以及各自作用。
  4. 项目中需要存储类Map结构数据时,你选用Redis哪种底层数据类型实现?缓存数据如何划分冷热分级存储?Redis的key目录命名、分层规则是怎么设计的?
  5. 基于Redis实现限流的完整思路是什么?你项目内落地的限流具体方案是什么?
  6. 分布式锁解决的核心问题是什么?你的项目为什么必须引入分布式锁,不加会出现什么业务问题?
  7. 你项目里定时轮询逻辑用MQ实现,仅依靠Redis是否也能实现定时轮询?既然Redis可以做到,为什么还要额外引入MQ?

五、数据库、连接池、Mybatis-Plus

  1. Druid连接池的核心作用是什么?既然项目使用Mybatis-Plus,为什么还要额外搭配Druid?
  2. 你了解原生Mybatis吗?Mybatis-Plus对比原生Mybatis有哪些独有的特性、优势?

六、WebSocket、HTTPS、推拉模式、消息有序

  1. WebSocket和HTTPS二者有什么区别?项目中引入WebSocket是为了实现什么业务功能?
  2. 说说你对消息推拉模式的理解,分别适合什么业务场景?
  3. 梳理WebSocket相关网络基础知识点,讲清楚客户端与服务端建立完整长连接的全过程。
  4. 在消息推送、MQ消费场景下,如何保证消息处理、推送顺序不乱序?
  5. 再详细讲解一次消息推拉两种模式的原理与适用场景。

七、Kafka相关

  1. 谈谈你对Kafka的理解,底层基于TCP通信,Kafka如何处理TCP粘包、拆包问题?

八、文件上传存储

  1. 项目文件存储方案做了哪些容灾兜底、异常处理方案?
  2. 当前项目大小文件均采用直传方式,有哪些方案优化大文件上传速度?如果用户上传中途失败,你设计了什么重试、断点恢复机制?

九、鉴权、Java版本、AI开发工具

  1. JWT完整认证流程是什么?讲清楚JWT底层细节、优缺点以及项目踩坑点。
  2. 整套项目开发为什么选择Java21,而不是Java18、Java8?
  3. 你日常开发会使用Vibe Coding这类AI编码工具吗?平时怎么使用它辅助开发?
  4. 当前开发岗位要求掌握AI相关技术知识,你都了解哪些AI开发、大模型落地相关内容?

十、性能压测

  1. 项目上线前你有没有独立做过压力测试?使用什么工具进行压测?压测重点关注哪些指标,如何定位性能瓶颈?

十一、项目复盘思考

  1. 你手上两个完整项目,在架构选型、技术落地、性能优化层面,有哪些属于你自己独立深度思考的内容?

十二、个人竞争力面试题

  1. 对比985院校计算机应届生,你的核心竞争力、不可替代的优势体现在哪些地方?

Powered by VitePress 1.6.4 | 持续更新中