26届,阿里后端2面

面试者背景 :::warning 1.平时做的项目属于什么业务 2.Java Object类有哪些方法,分别作用 3.HashMap原理,线程安全? 4.Java如何进行线程同步 5.CAS原理 6.JVM垃圾回收之GC算法 7.Mysql索引原理以及查询优化: 8.TCP,拥塞控制 9.算法: 给定一棵二叉树,找到这棵树最中最后一行中最左边的值。 10.电商平台中订单未支付过期如何实现自动关单? 11.如何设计一个秒杀系统 12.如果你的系统的 OPS 突然提升 10 倍你会怎么设计? 13.如何设计一个支持 10 万 OPS 的会员系统 14.关于索引的底层实现,为什么选择 B+Tree而不是红黑树? 15.你如何理解前后端分离 16.有哪些后端开发经验,做了什么 17.介绍HashMap,与TreeMap区别 18.用HashMap实现一个有过期功能的缓存,怎么实现 19.平时怎么学习新知识 20.最近看了什么书 ::: 题目解析 几乎都是原题,我甚至怀疑面试官看过我的面试宝典,好几个问题几乎都是一模一样的原题问法。直接贴链接了, hashMap相关的太多了,直接搜一下吧,就在集合类的分类下。 ✅线程同步的方式有哪些? ✅什么是CAS?存在什么问题? ✅新生代和老年代的GC算法 ✅InnoDB中的索引类型? ✅你是如何进行SQL调优的? ✅介绍下TCP是如何实现拥塞控制的? ✅订单到期关闭如何实现 ✅让你设计一个秒杀系统,你会考虑哪些问题? ✅如果你的业务量突然提升100倍QPS你会怎么做? ✅InnoDB为什么使用B+树实现索引? ✅实现一个LRU缓存淘汰策略,支持get和put操作 ✅你最近在看什么书?

March 22, 2026 · 1 min · santu

1年经验,数字藏品&电商项目

面试者背景 :::warning ** 专升本,24年毕业,数字藏品项目,文化&IP数字化藏品,售卖&展示,spring clo****ud Alibaba(nacos、dubbo、sentinel、redis、mysql、shardingjdbc、es),高并发** 负责交易和订单模块,平台用户量多少?注册用户100万,交易用户60万,订单量多少?5000万存量。最近半年卖的最火的是哪一款?河南博物馆陶土小狗,预定量7W。 下单前都需要预定吗?VIP先购买,开启预定,预定后正常售卖。如何做的购买权限控制?布隆过滤器?刚开通vip还没来得及进入布隆过滤器怎么办?为啥这里要用布隆过滤器?才100万用户,直接查数据库不就行了么?过滤恶意攻击流量,布隆过滤器是基于内存的还是redis的? 如果用户的vip到期了,布隆过滤器没办法删除怎么办?预约怎么做的?redis,set,如何避免一个用户预约多次? 抗500 qps的方案介绍下?redis做流量拦截?lua扣减、创建订单、500QPS算高并发么?同一个商品抗3000-4000,阿里云数据库,订单创建为啥要搞2步?要一个订单号 订单的状态是怎么设计的?INIT,confirm,paid, 上链,链是自己开发的吗?以太坊 下单过程什么情况会出现数据不一致,redis扣成功,应用挂了。旁路验证, Redis和数据库库存不一致问题怎么解决?核对告警,人工操作。核对任务怎么做的?redis流水存储什么数据结构?如何扫描同一个商品的流水?为啥不搞个hash****结构, 如何判断一个商品是否走秒杀链路,网关检查商品过热,如何切流? 藏品的唯一编号?雪花算法?不需要给用户展示吗? 藏品的持有编号(顺序)高并发情况下怎么生成的?编号生成好,写库失败了怎么办?藏品id加分布式锁。分布式锁怎么做的?注解+aop切面+redisson, 分布式锁的自定义注解是你自己写的吗?怎么设计的?key&keyExpression(el表达式),waitTime,releaseTime。AOP拦截,如何确保解锁成功?finally, 注解的AOP顺序问题如何解决(锁和事务)?加锁了还是有重复数据(事务还没提交,锁就释放了),怎么解决的?order注解。 介绍下AOP的原理?代理的注册过程, 分表算法怎么选的?自定义算法,取模,分了多少表?4张??? 介绍下redis的线程模型?单线程执行命令,为什么?原子性,为啥单线程也能很快? Redis如何实现多个命令以原子性方式执行?lua脚本为啥能保证原子性?lua脚本执行过程中失败了咋办、lua会回滚吗?不回滚咋保证原子性?redis支持事务吗?不支持。 代码中写lua有什么缺点吗?不好debug。Redisson框架,jedis用过吗?redisTemplate****,各自适合什么场景? AI熟吗?RAG的原理是什么?向量库是怎么做检索的?怎么判断相似度?用过哪个向量数据库,FAISS。知道混合检索吗?如何判断一个rag效果好不好? ::: 题目解析 :::color4 如何做的购买权限控制?布隆过滤器?刚开通vip还没来得及进入布隆过滤器怎么办?为啥这里要用布隆过滤器?才100万用户,直接查数据库不就行了么?过滤恶意攻击流量,布隆过滤器是基于内存的还是redis的? 如果用户的vip到期了,布隆过滤器没办法删除怎么办?预约怎么做的?redis,set,如何避免一个用户预约多次? ::: ✅什么是布隆过滤器,实现原理是什么? ✅布隆过滤器无法删除的问题如何解决? :::color4 抗500 qps的方案介绍下?redis做流量拦截?lua扣减、创建订单、500QPS算高并发么?同一个商品抗3000-4000,阿里云数据库,订单创建为啥要搞2步?要一个订单号 ::: 本方案在项目实战课中: 🧣🧣🧣项目实战课介绍&老用户福利 :::color4 订单的状态是怎么设计的?INIT,confirm,paid, 上链,链是自己开发的吗?以太坊 ::: ✅基于状态机+乐观锁解决订单支付和关单的并发问题 :::color4 下单过程什么情况会出现数据不一致,redis扣成功,应用挂了。旁路验证, Redis和数据库库存不一致问题怎么解决?核对告警,人工操作。核对任务怎么做的?redis流水存储什么数据结构?如何扫描同一个商品的流水?为啥不搞个hash结构, 如何判断一个商品是否走秒杀链路,网关检查商品过热,如何切流? ::: 本方案在项目实战课中: 🧣🧣🧣项目实战课介绍&老用户福利 :::color4 藏品的唯一编号?雪花算法?不需要给用户展示吗? 藏品的持有编号(顺序)高并发情况下怎么生成的?编号生成好,写库失败了怎么办?藏品id加分布式锁。分布式锁怎么做的?注解+aop切面+redisson, ::: 藏品编号适合用redis自增id,而不是雪花算法,因为用户要看到顺序的序号,如1 2 3 4。 失败的问题解决方式是加分布式锁,避免并发情况下出现序号乱序的问题。 :::color4 分布式锁的自定义注解是你自己写的吗?怎么设计的?key&keyExpression(el表达式),waitTime,releaseTime。AOP拦截,如何确保解锁成功?finally, 注解的AOP顺序问题如何解决(锁和事务)?加锁了还是有重复数据(事务还没提交,锁就释放了),怎么解决的?order注解。 介绍下AOP的原理?代理的注册过程, ::: ✅用了一锁二查三更新,为啥还出现了重复数据? ✅介绍一下Spring的AOP :::color4 分表算法怎么选的?自定义算法,取模,分了多少表?4张??? ...

March 22, 2026 · 1 min · santu

27届,数藏项目,交易链路开发,秒杀

面试者背景 :::warning 27届,双一流本科,数藏项目,交易链路开发,秒杀,Java, 介绍下项目,秒杀下单,订单防重提交、订单超时关单。 订单的超时关单怎么实现的?主动关单**&被动关单。Xxl-job,关单扫表扫描条件?30分钟是代码中配置的?如果改成15分钟,怎么不改代码?SQL有用到索引吗?状态+时间,为什么这么设计?状态区分度不高为什么还建索引?除了XXL-JOB****还有其他 方案吗?MQ延时消息。** SQL****扫表关单,有做分页吗?没做,那会不会把内存干爆呢?为啥不做分页。如果要做怎么做? XXL-JOB****扫表有缺点吗?被动关单,同步的还是异步的?怎么实现的异步的?虚拟线程, 介绍下什么是虚拟线程?守护线程,你这里用守护线程没问题吗? 主动关单和被动关单,如果并发了,怎么办?状态机控制、乐观锁版本号,介绍下用乐观锁实现版本号的原理,CAS。关单的幂等怎么做?订单操作流水。主动**&**被动用的幂等号是同一个吗?用的订单号。Xxl-job如何确保只有一台实例可以执行任务,DB锁。Select for update,这个方案好吗。 **Select for update ****是乐观锁还是悲观锁,锁的是什么?锁的是哪个索引。**name <-> age 你的关单任务是单机的还是分布式。单机任务,什么时候会做优化? 秒杀的下单和非秒杀下单的难点是什么?数据库热点行更新,超卖问题。什么是超卖? 数据库热点行更新存在啥问题?锁等待、死锁检测、数据库链接被占用。耗CPU, **怎么做的防超卖?redis预扣减、lua脚本做库存判断。****Sql **做库存检测。 为啥要在redis搞个库存?流量过滤做限流不行吗?不关心顺序呢?如果做限流器可以用什么方案?限流算法了解么?漏桶**&令牌桶,滑动窗口?短信验证码5****分钟内只能发一次。** **Redis中什么时候做的初始化?手动set???**上架、 如果redis库存扣成功了,数据库扣失败了怎么办?一直重试**+人工对账。没办法保证一致性,少卖怎么办?秒杀方案中的MQ的作用是什么?削峰填谷。减少瞬时流程。订单的创建延迟问题怎么处理?怎么提高MQ消费速率,批量消费。MQ异步创单成功之后怎么通知前端,前端通过预生成的订单号轮询,前端一直轮训吗?大量的轮询任务+秒杀用户数多,对数据库造成很大压力?只能靠数据库抗。MQ用的RocketMQ****,RocketMQ如何保证的消息的可靠性的?怎么保证消息不丢。** 项目中用过线程池吗?用的哪个线程池,有哪些核心参数?核心线程数、最大线程数、工作队列、时间、拒绝策略。拒绝策略都有哪些?队列可以用哪些队列。ArrayBlockingQueue,LinkedBlockingQueue有啥区别?线程池和虚拟线程之间有必要配合使用么? 介绍下AQS?队列为啥用双向链表、 G1和CMS区别,ZGC知道么。介绍下垃圾清理的过程。GCRoot ,三色标记法、初始标记、并发标记、重新标记、垃圾清除。哪个过程是STW的?清理需要STW吗?为啥并发标记可以不需要STW**?** 从1TB的搜索日志,查询出搜索量最高的10个关键词 ::: 题目解析 :::color4 订单的超时关单怎么实现的?主动关单**&被动关单。Xxl-job,关单扫表扫描条件?30分钟是代码中配置的?如果改成15分钟,怎么不改代码?SQL有用到索引吗?状态+时间,为什么这么设计?状态区分度不高为什么还建索引?除了XXL-JOB****还有其他 方案吗?MQ延时消息。** SQL****扫表关单,有做分页吗?没做,那会不会把内存干爆呢?为啥不做分页。如果要做怎么做? XXL-JOB扫表有缺点吗?被动关单,同步的还是异步的?怎么实现的异步的?虚拟线程, ::: ✅基于XXL-JOB的分片实现分库分表后的扫表 ✅数据库扫表任务如何避免出现死循环 ✅定时任务扫表的缺点有什么? :::color4 介绍下什么是虚拟线程?守护线程,你这里用守护线程没问题吗? ::: ✅JDK21 中的虚拟线程是怎么回事? :::color4 主动关单和被动关单,如果并发了,怎么办?状态机控制、乐观锁版本号,介绍下用乐观锁实现版本号的原理,CAS。关单的幂等怎么做?订单操作流水。主动**&**被动用的幂等号是同一个吗?用的订单号。Xxl-job如何确保只有一台实例可以执行任务,DB锁。Select for update,这个方案好吗。 **Select for update ****是乐观锁还是悲观锁,锁的是什么?锁的是哪个索引。**name <-> age 你的关单任务是单机的还是分布式。单机任务,什么时候会做优化? ::: ✅基于状态机+乐观锁解决订单支付和关单的并发问题 ✅乐观锁与悲观锁如何实现? :::color4 秒杀的下单和非秒杀下单的难点是什么?数据库热点行更新,超卖问题。什么是超卖? 数据库热点行更新存在啥问题?锁等待、死锁检测、数据库链接被占用。耗CPU, **怎么做的防超卖?redis预扣减、lua脚本做库存判断。****Sql **做库存检测。 为啥要在redis搞个库存?流量过滤做限流不行吗?不关心顺序呢?如果做限流器可以用什么方案?限流算法了解么?漏桶**&令牌桶,滑动窗口?短信验证码5****分钟内只能发一次。** **Redis中什么时候做的初始化?手动set???**上架、 如果redis库存扣成功了,数据库扣失败了怎么办?一直重试+人工对账。没办法保证一致性,少卖怎么办?秒杀方案中的MQ的作用是什么?削峰填谷。减少瞬时流程。订单的创建延迟问题怎么处理?怎么提高MQ消费速率,批量消费。MQ异步创单成功之后怎么通知前端,前端通过预生成的订单号轮询,前端一直轮训吗?大量的轮询任务+秒杀用户数多,对数据库造成很大压力?只能靠数据库抗。MQ用的RocketMQ,RocketMQ如何保证的消息的可靠性的?怎么保证消息不丢。 ::: ...

March 22, 2026 · 1 min · santu

大模型应用开发,RAG客服

面试者背景 :::warning 30****岁,中途转行的,2本,制造业外包,全干工程师,PLM平台、RAG客服(langchain4j)、人才信息平台,HR管理平台,都是单机项目 哪个项目做的时间长,或者最有亮点? 介绍下智能客服都做了哪些功能?JDK 17,langchain4j,RAGFlow(分词**+embedding****),flux。分词是怎么分的?ragflow默认的分段。分段效果你觉得怎么样?** PDF****中如果有图片如何处理?OCR,召回无法支持图片? RAG****的完整流程是怎么样的?文档读取、分块、向量化、数据库、检索、混合检索 混合检索解决什么问题? RAG****检索效果不好,有哪些优化手段?语料,rerank、 介绍下什么是rerank?怎么做的重排? 如果用户问题不好,不会问,怎么办?HyDE知道么? RAG****的效果是什么?不能答非所问。准确率和召回率有啥区别? Langchain4j****帮你做了啥?和大模型交互,FunctionCall, Langchain4j的function call的实现原理?模型的function call****的原理? @AiService的实现原理?低阶API&高阶API**?** Langchain4j****是你选型的吗?为啥用他?如果现在让你选你怎么选?spring ai Alibaba? 这个项目干了多久?你觉得还有哪些优化方向?模型、知识图谱、提示词优化。 提示词都做过哪些优化?防止prompt注入、生成流程图、few shot? 怎么防止prompt注入的? 用的哪个向量数据库? 向量相似度是怎么算的?余弦相似度、 介绍下transformer的原理?Attention机制、 :::

March 22, 2026 · 1 min · santu

6年经验,电商平台,分布式事务,分布式

(本面经实战的内容来自我的数藏项目,该候选人是拿我的项目做了包装,里面涉及的所有问题项目课中都有详细讲解,可以在项目课中和我们一起学) 面试者背景 :::warning 19年毕业,Java开发,国企,做电商平台 电商平台做了多久?2年,系统多大体量,日活5-6万。你负责了哪些业务?订单、库存、交易、 **介绍下这个系统的架构?分布式架构,springcloud Alibaba,nacos、dubbo、**sentinel 分了哪些微服务?支付、订单、交易、用户,营销有吗?么有营销???商品模块有吗? 交易模块和订单模块的区别是啥?订单**-订单生命周期管理,交易-**聚合模块。 一次下单流程都需要哪些模块的配合?交易、库存、订单。 商品上的库存是怎么设计的?可售库存数、冻结库存、库存总量。 冻结库存是干嘛的?TCC的try做冻结。订单、库存等模块在TCC的不同步骤中分别做了啥? TRY**:库存做冻结、订单创建(用户看不到),Confirm:库存冻结转化成扣减,订单确认。** Cancel**:库存解冻、订单废弃。Confirm之后的cancel呢?事务表、** 先操作库存还是订单?如何解决的TCC的空回滚和悬挂问题?怎么知道有空回滚过? TCC过程中,还没来得及confirm****服务挂了怎么办? 自己实现的TCC吗,为啥不用seata中的? TCC和XA相比区别,优缺点?效率。为啥TCC****是最终一致性?中间状态、 除了TCC还用过其他的分布式事务方案吗?事务消息、RocketMQ,为啥不用本地消息表。 项目中做了分库分表,订单表多大数据量?为啥不用分布式数据库? 分库分表后主键ID是怎么生成的?介绍下雪花算法。雪花算法什么时候会重复?时钟回拨、如果没有时钟回拨还可能重复么?如何解决时钟回拨的问题?抛异常、等待?切换机器码、提前准备一批id? 代码中雪花算法是用框架做的吗?hutool,机器码是怎么设置的?redis自增。Hutool的workerid不能超过32,如果超过了32台机器怎么办? 分库分表后,如何做扫表?没有分表字段,怎么查询?shardingjdbc如果没有分表键,怎么查的? ShardingJdbc是你选的吗。知道其他的框架么?为啥不用mycat**,你在做技术选型的时候怎么考虑的** 订单号的生成逻辑是怎么样的?基因法,你怎么知道订单能分到哪张表? 分表算法怎么实现的?uid hash 取余,为啥要先hash再取余? 项目中解决过哪些线上问题?CPU高问题,arthas、获取数据库链接?连接失效?keep-alive,防火墙。 如果让你设计一个点赞系统,你会考虑哪些问题,难点可能是什么。你的方案是怎样的?并发、多少并发算高?如果是直播间点赞会有其他方案吗? Free看到机器上内存还有很多,但是有频繁的fullgc,可能的原因是什么?JVM分配的内存少、 ::: 题目解析 :::color4 **介绍下这个系统的架构?分布式架构,springcloud Alibaba,nacos、dubbo、**sentinel 分了哪些微服务?支付、订单、交易、用户,营销有吗?么有营销???商品模块有吗? 交易模块和订单模块的区别是啥?订单**-订单生命周期管理,交易-**聚合模块。 一次下单流程都需要哪些模块的配合?交易、库存、订单。 ::: ✅能不能介绍下你项目的整体架构情况 :::color4 商品上的库存是怎么设计的?可售库存数、冻结库存、库存总量。 冻结库存是干嘛的?TCC的try做冻结。订单、库存等模块在TCC的不同步骤中分别做了啥? TRY**:库存做冻结、订单创建(用户看不到),Confirm:库存冻结转化成扣减,订单确认。** Cancel**:库存解冻、订单废弃。Confirm之后的cancel呢?事务表、** 先操作库存还是订单?如何解决的TCC的空回滚和悬挂问题?怎么知道有空回滚过? TCC过程中,还没来得及confirm****服务挂了怎么办? 自己实现的TCC吗,为啥不用seata中的? TCC和XA相比区别,优缺点?效率。为啥TCC****是最终一致性?中间状态、 除了TCC还用过其他的分布式事务方案吗?事务消息、RocketMQ,为啥不用本地消息表。 ::: ✅库存扣减、创建订单,如何拆成TCC? ✅TCC的空回滚和悬挂是什么?如何解决? ✅什么是TCC,和2PC有什么区别? ✅常见的分布式事务有哪些? :::color4 项目中做了分库分表,订单表多大数据量?为啥不用分布式数据库? 分库分表后主键ID是怎么生成的?介绍下雪花算法。雪花算法什么时候会重复?时钟回拨、如果没有时钟回拨还可能重复么?如何解决时钟回拨的问题?抛异常、等待?切换机器码、提前准备一批id? 代码中雪花算法是用框架做的吗?hutool,机器码是怎么设置的?redis自增。Hutool的workerid不能超过32,如果超过了32台机器怎么办? 分库分表后,如何做扫表?没有分表字段,怎么查询?shardingjdbc如果没有分表键,怎么查的? ShardingJdbc是你选的吗。知道其他的框架么?为啥不用mycat**,你在做技术选型的时候怎么考虑的** 订单号的生成逻辑是怎么样的?基因法,你怎么知道订单能分到哪张表? 分表算法怎么实现的?uid hash 取余,为啥要先hash再取余? ::: ✅如果单表数据量大,只能考虑分库分表吗? ✅什么是雪花算法,怎么保证不重复的? ✅什么是雪花算法的时钟回拨问题,如何解决? ...

March 22, 2026 · 1 min · santu

8年,双非一本,车企区块链项目(溯源、NFT商城-订单)

面试者背景 :::warning **8年,双非一本,非科班,车企区块链项目(溯源、NFT商城-**订单) 车企为啥会有区块链项目?有自己链么?有 这两个项目都做了多久?NFT 1年,溯源** 2****年,合约是自己写的吗?直接用的。** 项目有啥亮点么?没亮点干了2年?分布式项目么?架构介绍下。 定时任务为啥单独搞个服务**?xxl-job****分片任务的实现原理?** 多节点同时执行如何避免并发问题?分布式锁?如何避免状态不重复?能做优化么? Xxl-job****如何避免多个节点同时执行同一个任务?怎么加的锁?该状态? NFT****项目上线了么,现在还能访问么?主要卖啥?最多的藏品发行了多少份? 藏品还有哪些功能**?**转增,空投,空投你做了?订单量有多少? **项目的技术栈?spring cloud Alibaba, ** 下单这部分有啥亮点吗?流量集中,有并发问题。QPS最高有多少?6000 QPS,商品详情接口。 下单的QPS?** 1000****,单个商品最高多少?** 下单这部分你觉得有瓶颈么?redis预扣减**+**数据库扣减,为啥不直接扣数据库。 最开始就是这个方案么?这不是过度设计么?为啥数据库热点行扛不住?加行锁,慢。两次扣减不更慢么?redis扣减完就创建订单,再发MQ,数据库再扣减。 Redis****扣减成功,但是订单没创建成功怎么办?订单实际创建成功但是返回给你失败了怎么办? 超卖怎么解决?redis的库存和数据库库存的一致性怎么确保? 旁路验证是什么介绍一下?库存扣减流水,对比。如果对比不一致,怎么办。 **Redis中的流水是如何设计的?key:事件类型+**幂等号(uuid?),value: 怎么保证redis的流水写入成功?lua脚本, 有什么情况会需要加库存的么?业务一般不加库存,哪些异常情况会调加库存方法?关单的时候,取消订单时候。 用户取消订单流程,数据一致性方案?关单并发加分布式锁,检查流水,加库存。 介绍下事务消息的原理?本地事务。还没来得及发第二个半消息,挂了怎么办?回查 RocketMQ****要实现事务消息,需要哪些配置和代码?本地事务监听器? 分布式锁怎么实现的?redisson,tryLock,有啥好处。 介绍下订单表是怎么设计的?订单号、买卖家id、商品id、快照、金额、数量、支付单号???状态怎么设计的。(INIT CONFIRM TIMEOUT CLOSED PAID),退款怎么办? **Confirm状态,同时来了TIMEOUT和PAID****的操作,怎么避免出问题?怎么检测状态?****SQL **中加当前转态 支付成功之后都需要干啥。发藏品、订单状态。藏品的序列号如何生成的?提前生成好。为啥要这么做? 项目做过压测么?介绍下。单机800。压测都关注哪些指标?RT、错误率、CPU、内存。 CPU**、load什么范围算正常?** 限流做过么?技术选型做过?考虑哪些因素?学习成本、社区**&**支持、性能、 AI接触过么?用过哪个AI****编程工具?TRAE,cursor。知道代码补全的原理是啥么?什么是大模型,大在哪里?数据集,成本大, ::: 题目解析 :::color4 定时任务为啥单独搞个服务**?xxl-job****分片任务的实现原理?** 多节点同时执行如何避免并发问题?分布式锁?如何避免状态不重复?能做优化么? Xxl-job如何避免多个节点同时执行同一个任务?怎么加的锁?该状态? ::: ✅xxl-job 支持分片任务吗?实现原理是什么? ✅xxl-job如何保证一任务只会触发一次? :::color4 NFT****项目上线了么,现在还能访问么?主要卖啥?最多的藏品发行了多少份? 藏品还有哪些功能**?**转增,空投,空投你做了?订单量有多少? **项目的技术栈?spring cloud Alibaba, ** ::: 他这个是包装的我的数藏项目,具体介绍如下: 🧣🧣🧣项目实战课介绍&老用户福利 :::color4 下单这部分有啥亮点吗?流量集中,有并发问题。QPS最高有多少?6000 QPS,商品详情接口。 下单的QPS?** 1000****,单个商品最高多少?** ...

March 22, 2026 · 1 min · santu

26届,双一流硕士,2段大厂实习

面试者背景 :::warning 26****届,双一流硕士,2段大厂实习(CICD系统、资金结算系统) 资金结算实习四个月,干的最难的工作是什么?数据库稳定性治理,分库分表、解决数据倾斜问题, 分表前多少数据?1000万、为啥要分,300万**/****月,参与实现了其中哪部分? ** 分表键和分表算法介绍下?费用单,商户id,分了多少张表?128表,16库?怎么定出来的。 费用单的历史数据还有用吗?为啥不考虑归档或者搜索引擎。 分表后主键是怎么生成的?号段模式**、你这个sequence数据的存储在哪个库哪张表?某个单库中。** 数据倾斜问题,大商户。有多少量?5万**/**日,现在他有多少数据? 怎么解决的数据倾斜问题?二次分表。客商白名单、单独加时间二次分表。 客商的数据查询怎么办?为啥不干脆直接按照时间分? 分库分表之后数据迁移怎么做的?读旧双写(双写是怎么实现的双写?先写哪个库?失败了咋办?)、存量数据迁移(怎么定义存量数据?根据时间、开增量双写的时间?) 你做过的项目中,做过哪些比较好的设计模式吗?多渠道资金打款**>策略模式+模板+**工厂,分别起到了什么作用?三种工厂模式有什么区别? AOP+自定义注解实现了啥功能?日志处理。如何实现的AOP****可以切到这个注解上?你这个直接里有参数吗?日志要打什么? 如何统计一个bean的某个方法被调用多少次?如果方法执行过程失败了怎么办? finally****的代码什么情况可能会不执行?守护线程了解么?JAVA中可以创建守护线程吗? JAVA****中多个线程做同步,有哪些方案?加锁、JUC,JUC中都有啥?原子类、并发控制工具、锁、并发容器、线程池。CoW是啥意思?你用过原子类么?使用场景是啥? AQS中已经用了CAS**,为什么还需要CAS?volatile怎么保证的可见性。CAS本身不是基于CPU缓存一致性协议(MESI)做的吗,为啥还需要保证一致性?** Mysql 定义varchar(10)和varchar(100),同时存6****个字符的时候,有区别么?存储无区别,排序有区别?排序上有啥区别? 如果是char(10)和char(100)呢?MySQL的深分页如何解决?子查询就没有深分页的问题了吗?用es。Es就没深分页了么?跳页咋办? MySQL的主从同步是怎么做的?为什么需要relay log****中转一下?binlog是拉的还是推的?什么情况可能会主从延迟? 线上一个接口响应时间不符合预期,如何排查和解决?trace ,比如说是慢SQL可能是啥原因导致的。 自己不慢,下游接口慢怎么办?异步? 如果你trace发现你并不慢,但是上游就说你慢,怎么办? ::: 题目解析 :::color4 资金结算实习四个月,干的最难的工作是什么?数据库稳定性治理,分库分表、解决数据倾斜问题, 分表前多少数据?1000万、为啥要分,300万**/****月,参与实现了其中哪部分? ** 分表键和分表算法介绍下?费用单,商户id,分了多少张表?128表,16库?怎么定出来的。 费用单的历史数据还有用吗?为啥不考虑归档或者搜索引擎。 分表后主键是怎么生成的?号段模式**、你这个sequence数据的存储在哪个库哪张表?某个单库中。** 数据倾斜问题,大商户。有多少量?5万**/**日,现在他有多少数据? 怎么解决的数据倾斜问题?二次分表。客商白名单、单独加时间二次分表。 客商的数据查询怎么办?为啥不干脆直接按照时间分? 分库分表之后数据迁移怎么做的?读旧双写(双写是怎么实现的双写?先写哪个库?失败了咋办?)、存量数据迁移(怎么定义存量数据?根据时间、开增量双写的时间?) ::: ✅分表后全局ID如何生成? ✅什么是分库?分表?分库分表? ✅分表算法都有哪些? ✅如果单表数据量大,只能考虑分库分表吗? ✅什么是数据倾斜,会带来哪些问题?如何解决? ✅分库分表中,如何预估需要分多少个库?多少张表? ✅如何做平滑的数据迁移? :::color4 你做过的项目中,做过哪些比较好的设计模式吗?多渠道资金打款**>策略模式+模板+**工厂,分别起到了什么作用?三种工厂模式有什么区别? AOP+自定义注解实现了啥功能?日志处理。如何实现的AOP可以切到这个注解上?你这个直接里有参数吗?日志要打什么? 如何统计一个bean的某个方法被调用多少次?如果方法执行过程失败了怎么办? ::: ✅你在工作中是如何使用设计模式的? ✅使用自定义注解+切面减少冗余代码,提升代码的鲁棒性 ✅如何统计一个Bean中的方法调用次数 :::color4 finally****的代码什么情况可能会不执行?守护线程了解么?JAVA中可以创建守护线程吗? JAVA****中多个线程做同步,有哪些方案?加锁、JUC,JUC中都有啥?原子类、并发控制工具、锁、并发容器、线程池。CoW是啥意思?你用过原子类么?使用场景是啥? AQS中已经用了CAS,为什么还需要CAS?volatile怎么保证的可见性。CAS本身不是基于CPU缓存一致性协议(MESI)做的吗,为啥还需要保证一致性? ::: ✅finally中代码一定会执行吗? ✅什么是守护线程,和普通线程有什么区别? ✅介绍下JUC,都有哪些工具类? ✅什么是COW,如何保证的线程安全? ✅如何理解AQS? ✅有了MESI为啥还需要JMM? ✅有了CAS为啥还需要volatile? :::color4 Mysql 定义varchar(10)和varchar(100),同时存6****个字符的时候,有区别么?存储无区别,排序有区别?排序上有啥区别? ...

March 22, 2026 · 1 min · santu

26届,百度一面&二面 美团一面

美团一面八股 hashcode equal什么时候需要重写 ✅有了equals为啥需要hashCode方法? hashmap原理 ✅HashMap的数据结构是怎样的? ✅HashMap是如何扩容的? ✅JDK1.8中HashMap有哪些改变? ✅HashMap的hash方法是如何实现的? hashmap是线程安全的吗 不安全的话用什么?他的原理是什么样的 ✅HashMap、Hashtable和ConcurrentHashMap的区别? 线程池使用过吗?怎么用的?什么场景? ✅什么是线程池,如何实现的? spring事务怎么做到的 spring事务传播机制 ✅Spring中如何开启事务? ✅Spring的事务传播机制有哪些? mysql怎么建索引?怎么判断是否要建索引 mysql索引失效? mysql慢查询排查 ✅设计索引的时候有哪些原则(考虑哪些因素)? ✅索引失效的问题是如何排查的,有哪些种情况? ✅慢SQL的问题如何排查? 百度一面 JMM Java内存模型 ✅什么是Java内存模型(JMM)? mysql 索引 有哪些 ✅InnoDB中的索引类型? 你知道哪些设计模式,分别举例说明 ✅使用哪种设计模式可以提高代码可维护性? ✅你在工作中是如何使用设计模式的? 《更多请直接查看设计模式专题》 三次握手 ✅什么是TCP三次握手、四次挥手? 垃圾回收算法 ✅JVM有哪些垃圾回收算法? 抽象类,接口,普通类的区别 ✅接口和抽象类的区别,如何选择? 重载和重写 ✅如何理解Java中的多态? 百度二面 mq如何防止丢失 ✅RabbitMQ如何保证消息不丢 ✅RocketMQ如何保证消息不丢失? ✅Kafka如何保证消息不丢失? mq如何防止重复消费 消费端如何保证消息不重复消费 ✅如何解决消息重复消费、重复下单等问题? ✅RabbitMQ如何防止重复消费 redis实现分布式锁需要注意哪些? redis 会删除错锁吗? ✅实现一个分布式锁需要考虑哪些问题? 反射原理?在什么阶段? ✅什么是反射机制?为什么反射慢? 你怎么理解幂等? 你开发了一个接口,如何保证幂等 ✅如何解决接口幂等的问题? 加密,签名,摘要分别是什么?使用场景?摘要用的私钥还是公钥验签? ✅加密&解密、加签&验签做的事情一样吗?

March 22, 2026 · 1 min · santu

10年,深圳证券公司,系统架构组架构师,监控平台、电商平台,秒杀

面试者背景 :::warning 10年,深圳证券公司,系统架构组架构师,监控平台、电商平台,秒杀 监控平台有多少应用接入了?整体多少台机器**?2-4台,** 监控平台建设介绍下?数据采集层、运行时监控、skywalking监控、数据展示层、告警治理层、消息推送层。 业务监控是如何实现的?websocket,业务其他方案了解过吗? **机器上面的指标是如何采集的,****Prometheus exporter **原理知道吗? 推送平台、通过滑动窗口限流、lua脚本实现滑动窗口的大致内容是咋样的? 链路追踪的主要实现原理?traceId、Span都包含哪些信息?Span的作用是啥?耗时记录 你觉你做的这个监控系统,在业内处于什么样的水平? 你平常是如何做架构设计的?有哪些设计觉得自己做的比较好,有哪些如果重新设计可以做的更好的? 电商项目的整体秒杀方案介绍一下?前端:限流、置灰。** Token****防重,Redis库存预扣减,MQ,异步扣减。为哈异步扣数据库库存?热点行更新会有啥问题?行锁、具体的瓶颈在哪?** Redis****和数据库分别如何防止超卖?redis lua脚本、乐观锁? 还有其他方案可以解决数据库热点扣减吗?库存拆分 分库分表做过吗?2000万,多少库多少表?为啥?一个库不行吗?分表字段?买家id,为啥不用订单号。订单号如何分表?基因法 分库分表后会带来哪些问题?不带分表键跨表查询问题、二次分表问题、数据倾斜问题、 卖家查询怎么解决?双写一张卖家表。卖家表倾斜怎么办? 除了分库分表,有其他方案解决数据量大的问题吗?冷热分离、 **分库分表后需要定时任务扫表,怎么办?**xxl-job 线上问题定位和排查有做过哪些?OOM。线程池,内存泄漏, 你在设计架构的时候,除了技术方面还会考虑其他因素吗?机器资源、 ::: 题目解析 :::color4 推送平台、通过滑动窗口限流、lua脚本实现滑动窗口的大致内容是咋样的? ::: ✅什么是滑动窗口限流? ✅如何基于Redis实现滑动窗口限流? :::color4 链路追踪的主要实现原理?traceId、Span都包含哪些信息?Span的作用是啥?耗时记录 ::: ✅如何实现应用中的链路追踪? :::color4 你平常是如何做架构设计的?有哪些设计觉得自己做的比较好,有哪些如果重新设计可以做的更好的? ::: ✅什么样的架构才算是好的架构? :::color4 电商项目的整体秒杀方案介绍一下?前端:限流、置灰。** Token****防重,Redis库存预扣减,MQ,异步扣减。为哈异步扣数据库库存?热点行更新会有啥问题?行锁、具体的瓶颈在哪?** Redis****和数据库分别如何防止超卖?redis lua脚本、乐观锁? 还有其他方案可以解决数据库热点扣减吗?库存拆分 ::: ✅让你设计一个秒杀系统,你会考虑哪些问题? ✅库存扣减如何避免超卖和少卖? ✅MySQL怎么做热点数据高效更新? :::color4 分库分表做过吗?2000万,多少库多少表?为啥?一个库不行吗?分表字段?买家id,为啥不用订单号。订单号如何分表?基因法 分库分表后会带来哪些问题?不带分表键跨表查询问题、二次分表问题、数据倾斜问题、 卖家查询怎么解决?双写一张卖家表。卖家表倾斜怎么办? 除了分库分表,有其他方案解决数据量大的问题吗?冷热分离、 分库分表后需要定时任务扫表,怎么办?xxl-job ::: ✅什么是分库?分表?分库分表? ✅分表字段如何选择? ✅分库分表后会带来哪些问题? ✅分库分表的取模算法策略如何避免数据倾斜 ✅如果单表数据量大,只能考虑分库分表吗? ✅基于XXL-JOB的分片实现分库分表后的扫表 :::color4 你在设计架构的时候,除了技术方面还会考虑其他因素吗?机器资源、 ::: ✅架构设计中最重要的三个要素是什么? ✅如何做技术选型?

March 22, 2026 · 1 min · santu

3年经验,985本科,电商财务相关业务

面试者背景 :::warning 3年经验,985本,2份工作(0.5+2.5),电商财务系统,财报相关,账户管理,银企直联,介绍下这个项目的主要流程?直接接的银行?大额支付。 银行的对接怎么做的?网关、前置机(盾、证书),如何能高效的对接银行?网关,模板**+**策略, 和银行的接口如何保证安全?单号幂等、异常case,核对。 银行的大额通道下班了怎么办?定时任务查询,对接时有遇到过一些问题么? 定时任务框架,多久调度一次?5分钟,支付单表多少数据?百万级。如果数据量更大的话,这个方案会有什么问题么?这张表是怎么建的索引?状态**+**发起支付时间,为什么要按照银行扫? 如果后面表中数据变大,扫表慢,如何优化?分片扫、归档、分表, 知道分片任务的原理?如何实现多线程同时扫表?按照银行, 项目中什么地方做了限流?哪个接口做了限流?咋实现的限流?redis+aop,有时间窗口吗?没有 如果finally还没来得及执行,机器就挂了。 为啥不用成熟的限流算法?漏桶、令牌桶区别?突发流量、令牌桶可以处理突发流量的原因是啥? 一个接口,什么情况用漏桶做限流、什么情况用令牌桶? 限流的数字是怎么定的?日常QPS? 你们和银行是怎么对账的?定时任务扫银行拉流水???支付单**&银行流水、支付单&**上游, 如果你没有支付单,但是银行有流水呢?银行账单,落库吗?然后如何核对的? 日切时间点,对账不一致怎么办?没有日切问题。如果有这种问题,怎么办呢? 对账这部分,你有什么最佳实践么?多方核对、及时告警、人工处理、 做过实时核对吗?代码中反查? 支付单是你设计的吗?有哪些设计的好,哪些有优化空间。支付单怎么设计的?code,bizno,id,时间,账号,银行,日期,状态(INIT、审批、支付中、支付成功、支付失败),有用状态机么? 支付单表和哪些表有关联关系?银行流水表(银行流水号、账号、银行code、时间、借贷方向、)。为什么不直接冗余到支付单上,要创建一张表?附言、 财务业务项关的做过哪些?关帐系统、发票系统, **介绍下什么是借贷记账法。**ABS 工作中遇到过哪些线上问题么?消息堆积如何处理? 一个JAVA进程突然挂了,可能什么原因?OOM?OOM了进程一定会挂么? ::: 题目解析 :::color4 银行的对接怎么做的?网关、前置机(盾、证书),如何能高效的对接银行? 和银行的接口如何保证安全? ::: ✅和其他公司做数据交互时,有什么需要注意的? :::color4 定时任务框架,多久调度一次?5分钟,支付单表多少数据?百万级。如果数据量更大的话,这个方案会有什么问题么?这张表是怎么建的索引?状态**+**发起支付时间,为什么要按照银行扫? 如果后面表中数据变大,扫表慢,如何优化?分片扫、归档、分表, 知道分片任务的原理?如何实现多线程同时扫表?按照银行, ::: ✅定时任务扫表的缺点有什么? ✅xxl-job 支持分片任务吗?实现原理是什么? :::color4 项目中什么地方做了限流?哪个接口做了限流?咋实现的限流?redis+aop,有时间窗口吗?没有 如果finally还没来得及执行,机器就挂了。 为啥不用成熟的限流算法?漏桶、令牌桶区别?突发流量、令牌桶可以处理突发流量的原因是啥? 一个接口,什么情况用漏桶做限流、什么情况用令牌桶? 限流的数字是怎么定的?日常QPS? ::: ✅什么是限流?常见的限流算法有哪些? ✅什么是滑动窗口限流? ✅漏桶和令牌桶有啥区别? ✅什么是压测,怎么做压测? ✅finally中代码一定会执行吗? :::color4 你们和银行是怎么对账的?定时任务扫银行拉流水???支付单**&银行流水、支付单&**上游, 如果你没有支付单,但是银行有流水呢?银行账单,落库吗?然后如何核对的? 日切时间点,对账不一致怎么办?没有日切问题。如果有这种问题,怎么办呢? 对账这部分,你有什么最佳实践么?多方核对、及时告警、人工处理、 做过实时核对吗?代码中反查? ::: ✅怎么做数据对账? :::color4 工作中遇到过哪些线上问题么?消息堆积如何处理? 一个JAVA进程突然挂了,可能什么原因?OOM?OOM了进程一定会挂么? ::: ✅RocketMQ消息堆积了怎么解决? ✅Java进程突然挂了,可能是什么原因? ✅Java发生了OOM一定会导致JVM 退出吗?

March 22, 2026 · 1 min · santu

留言给博主