面试面经-真实篇

面试面经-真实篇
mengnankkzhou自我介绍
2025.8.4版本:
您好,我叫xxx,来自齐鲁工业大学,主攻 Java 后端开发方向。
在校期间,我积极参与开源社区,在 GitHub 上持续贡献代码。比如在 Spring AI Alibaba 项目中,我实现了模板节点功能、修复了 NPE 异常,并完善了 JSON 结构的表达逻辑;也为 Fastjson2 提交了多个 PR,修复了关键 Bug,并深入学习了其源码设计。
在技术栈方面,我熟练掌握 Spring Boot 与 MyBatis 框架,能够独立进行完整的接口开发;熟悉 Redis、MySQL、RocketMQ 等常见中间件,了解其使用场景与性能优化思路。我也习惯于搭建本地环境做实测,熟练使用 Docker、IDEA、Apifox 等工具进行开发与调试。
同时,我也热衷于知识分享,平时喜欢通过写博客总结学习过程中的技术要点和实战经验,一方面加深理解,也希望能帮助到其他开发者。
我对后端架构设计与工程实践充满热情,感谢您给我这次面试机会,期待有机会为贵公司贡献力量。
自我真实面试
6.30宁波某小厂
40min腾讯会议,项目是外卖和MyDB
1.问的学业情况,课程情况,到岗情况
2.悲观锁和乐观锁
CAS and AQS
3.java常用的集合,List/Map
Arraylist,LinkedList HashMap,线程安全
4.常用集合来做什么,具体的应用
HashMap去重
5.MVCC的实现原理
read view,当前读 快照读 事务id
6.双token的应用和设计
token refreshtoken
7.了解若依平台吗?只知道是个啥。。。。
8.项目中并发的场景
行级锁,updata语句
9.索引是啥,索引失效的情况。
聚簇,联合,非聚簇,覆盖索引
最左前缀原则,or 函数 运算 范围查询 联合索引没覆盖 索引跳跃 模糊匹配
数据类型不匹配
进行了大量更新,没更新索引和没更新alayls
10.mybits和mybits-plus的比较,复杂查询不用mybits-plus
11.还有一个xxx缓存啥的,我都没听清他说话,就直接说没听过了。
12.乐观锁的实现
Atomic原子类,时间戳,版本号
13.问用没用过python,答会用点,会点简单的爬虫
14.最近在学什么技术
15.反问业务,工资等等
16.线程池怎么使用
线程池参数,流程,使用场景
8.12 上海某小厂
1.自我介绍
2.redis的数据类型,加上实际的应用场景
3.sql查topk(limit,rank)
1.limit
2.使用rank函数,RANK()函数会为每一行数据计算一个排名,相同数值的记录排名相同,下一个排名会跳过相应的名次。
3.子查询和UNION ALL来实现
1 | SELECT * |
4.java中的值传递和引用传递(忘了)
- 值传递:方法接收的是实参值的拷贝,会创建副本。
- 引用传递:方法接收的直接是实参所引用的对象在堆中的地址,不会创建副本,对形参的修改将影响到实参。
5.反问,答的都忘差不多了,直接给我结束了
尴尬了,好久没面试都忘差不多了,哭,但是竟然过了,上海120一天,肯定不去的啊
8.14济南某20人AI小厂
1.开源贡献
2.什么是MCP?
3.聊天持久化是怎么实现的
4.SpringAIalibaba里面的秒级搜索是怎么实现的
5.方法重写和方法重载
6.ConcurrentHashmap
7.RAG模式流程
8.了不了解python,相关的AI框架,Python库,FastAPI
9.Docker拉取镜像,启动项目,数据集
10.Git开发的流程
8.18 航图纵横北京500人+厂
- 请简单做个自我介绍。
- 你做的两个项目是在学校里自己做的吗?(追问:是否有模板,二次开发?)
- 这两个项目中哪个熟悉一点,可以简单介绍一下?
- 为什么要做多级缓存?
- 你这个数据一致性是怎么保证的?(追问:有没有重试策略?Redis和本地缓存更新是分开还是原子操作?原子性如何保证?如果更新失败如何回滚?编程式事务如何实现?人工处理的细节?有监控报警吗?)
- 请解释一下缓存穿透、缓存击穿和缓存雪崩,并分别说明你的解决方案。
- JWT双Token认证,你这块是怎么做的?
- 你知道JWT里边都分为哪些部分吗?
- 你用
ThreadLocal去存储,都是在哪些过程当中去存储的?(追问:请求结束后会释放吗?在哪个过程去释放?直接在注册接口里写吗?如果很多接口都需要存Token,如何避免重复工作?了解过滤器、拦截器吗?) - 你这个分布式锁是怎么用的?
- 你知道Redis分布式锁它底层是怎么实现的吗?
- 释放过程你看过吗?(追问:为什么要判断是不是当前线程持有的锁?什么情况下两个线程会持有同一把锁?)
- 你集成的是什么大模型?怎么集成的?
- RAG模式具体是怎么实现的?
- 聊天记录持久化是怎么做的?持久化数据存到哪了?
- 你知道什么是流式输出和非流式输出吗?
- 了解过MCP吗?
- 项目部署过吗?(追问:部署到线上抛异常怎么排查?根据关键字查日志怎么查?根据trace ID怎么查?)
- 用到过线程池吗?
- 线程池都有哪些参数?
- 了解过异步编排吗?
- Java本地锁有哪些?
synchronized是怎么实现的?(追问:markword的作用?与volatile的区别?)- 策略模式是怎么实现的?可以我说一下实现细节吗?
- Kafka了解过吗?(追问:线上消息积压了怎么处理?为什么要一个消费者端对应一个partition?)
- 反问
我吐,被抓着直接问场景题,问我项目出现问题了怎么解决,方案是什么。我直接傻眼了/(ㄒoㄒ)/~~,然后一紧张脑子还抽抽了还把ThreadLocal这个东西是啥给忘了。
8.19 商越科技 一面 100-499
20min的非常见八股拷打
1.HashMap的remove操作的过程,当从链表中删除一个节点后,它的前后节点应该如何处理?
2.@ConditionalOnClass 具体是干啥的,@ConditionalOnClass(User.class)这行代码能编译通过,说明User.class`肯定存在于classpath中,那为什么还需要这个注解呢?
3.UserMapper这个类为啥要是接口呢,你使用的持久层框架是什么?MyBatis 还是 MyBatis Plus?
4.ThreadLocal 在线程池中的失效问题
5.需要实现一个功能——“用户在10分钟之内连续输错三次密码,就禁止其登录”。如果使用 Redis,你会选择哪种数据结构来实现这个需求?如何具体实现“10分钟之内3次”这个时间窗口和计数逻辑?
6.你平时是否使用过 JUC(java.util.concurrent)包中的工具?可以举例说明吗?
7.最近在干什么?
答得一塌糊涂,平常没看过啊
8.26 优财云链 一面 100-499
Base杭州 30min钉钉会议
1.数组和链表的区别,加上ArrayList,LinkedList
2.面向对象,三大特性
3.反射&动态代理,构造器,动态代理JDK,Cglib
4.设计模式,单例,模板,策略,代理
5.Mysql索引,Innodb索引,SQL优化
6.SpringIOC,解释,三级缓存。
8.27 阿丘科技 100-499
1.自我介绍
2.了解微服务吗
3.线上问题排查
4.数组 vs 链表 (百万数据随机插入)
5.JMM
6.B+树
7.前端点击查询按钮到返回表格,整个过程的数据是怎么流转的?
8.点击按钮无反应排查
8.30 易招标 秦皇岛100-499
1.自我介绍
2.多级缓存一致性
3.双 Token 无感续签 & 退出登录
4.面向对象,抽象类,接口
5.JMM
6.IOC,AOP
7.30分钟未支付关单
8.SQL编写,人傻了,太紧张连group by 和order by 说反了,他还提醒我了😂
9.反问
易招标 二面 9.1
- 请做个自我介绍。
- 你有没有实习经历?
- 你是哪一年毕业的?现在大几?
你目前在哪个城市?家是哪里的?
你在 GitHub 上参与开源项目,修改完源码后是如何提交的?(提 PR)
- 参与开源项目有什么激励吗?(比如积分)
- 除了 Fastjson,还改过哪些项目的源码?
- 可以具体讲讲你对 RocketMQ 源码的修改吗?(追问了丢失第零条消息的问题)
- 你有没有自己做过一些小项目,把刚才说的技术(比如 AOP)应用进去?
(追问 AOP 限流项目)你自己写过自定义注解吗?
介绍一下你所熟悉的技术栈。
- (针对 RocketMQ)它的底层是用 Java 写的吗?
- (针对自定义注解)如果想让一个注解作用在类上,对整个类生效(比如事务注解),应该怎么写?
- 你觉得数据库设计时,应该要注意哪些东西?
数据库里加索引,对更新(UPDATE)和删除(DELETE)数据在性能上有什么影响?
如果分配给你的任务,你评估后觉得无法按时完成,你会怎么处理?
我们这份工作在河北秦皇岛,可以接受吗?
- 对于加班怎么看?如果项目赶进度,加班会比较晚。
- 能接受出差吗?
- 如果面试通过,大概多久能入职?
9.4 均胜汽车 一面
一个小时,基本全程AI+聊天,无八股
- 深入探讨了MCP(模型/微服务调用中间件)的原理和工作流程。
分享了AI在生活中的应用场景,并延展到了构建AI Agent、自动化工作流(如Zapier, n8n)的宏大构想。
讨论了日常的学习途径(GitHub, Google, YouTube等)以及如何利用AI辅助学习。
- 分享了一次通过向阿里巴巴的开源项目提交PR(Pull Request)获得巨大成长的关键经历。
探讨了对知识付费和工具付费(如ChatGPT Plus, Claude)的看法和实践。
阐述了未来3-5年专注于Java与AI结合的职业规划。
- 回答了一个关于“力挽狂澜”解决挑战的行为问题,以一个校内小组项目为例。
详细介绍了一套解决技术难题的系统性方法论。
解释了SQL中
INNER JOIN和LEFT JOIN的区别。- 现场完成了一个关于“电视机开关状态”的编程题,并探讨了其设计模式(状态模式)的优化方向。
9.5 北京粽子科技 0-20AI小厂 一面
20min 腾讯会议
1.自我介绍
2.介绍项目,介绍开源项目
3.Springboot版本
4.@Bean 和 @Component 注解的区别。
5.实现注册和登录功能的业务逻辑和流程。
6.全局统一异常处理的概念和相关注解。(忘了咋写了哈哈哈,@ControllerAdvice)
7.微服务间的通信方式,doubbo,grpc(我都没写微服务,怎么就问我了)
8.泛型(Generics)的理解和应用场景。
9.创建线程的多种方式。
10.竟然无反问,可恶啊,感觉答得也没那么糟糕吧
9.8 北京明光科技 20-99一面
1.自我介绍
2.开源项目
3.B+树索引
4.redis缓存三大问题
5.数据库一致性
6.多级缓存优化
7.线程池的使用
8.团队协作
9.微服务分布式(稍微说了说)
10.学业情况
11.和前端的协作
12.TCP三次握手四次挥手
9.10 郑州 安晨信息技术 100-499
1.hashmap和hashtable
2.IO多路复用
3.redis数据结构
4.间隙锁
5.同步锁
6.线程池
7.springboot的优化,自动配置
8.tcp三次握手四次握手
9.渐进式hash
10.B+树
11.LLM
12.设计一个用户登录表
13.设计一个订单表
14.sql联表查询
15.












