PDD海外用增一面

背景:工作2年 面试问题: 为什么找机会 公司使用的技术栈是啥 项目的最高QPS有多高 遇到的开发问题有哪些? 觉得自己从校招到现在有哪些提升 项目-搭建的xx平台 如何处理下游超时,一致性怎么保证 ✅如何基于本地消息表实现分布式事务? RocketMq的特性 ✅RocketMQ的架构是怎么样的? 如何用Redis统计亿级网站的uv ✅除了做缓存,Redis还能用来干什么? 遇到过什么线上问题,如何处理 ✅RocketMQ消费堆积问题排查 分布式锁如何设计 ✅如何用SETNX实现分布式锁? 分布式框架的服务发现怎么做 ✅Dubbo实现服务调用的过程是什么样的? TheadLocal的使用场景,如何防止内存泄露 ✅什么是ThreadLocal,如何实现的? JVM的堆栈各存储什么内容 ✅JVM的运行时内存区域是怎样的? 写过什么公共组件么? 反问:用增营销和交易营销的区别、技术栈,生活 作息等 写题: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 import java.util.Arrays; public class Main { public static int[] findClosestElements(int[] arr, int k, int x) { //书写算法逻辑 int left = 0, right = arr.length - 1; int mid = (left + right)/2; while(left < right) { if(arr[mid] > x) { right = mid; } else if(arr[mid] < x) { left = mid + 1; } else { break; } mid = (left + right)/2; } int lp = mid, rp = mid, count = 1; while(count < k) { if(rp > arr.length - 1) { lp --; } if(lp < 0) { rp ++; } if(x - arr[lp] > arr[rp] - x) { rp ++; } else { lp --; } count ++; } int[] ans = new int[rp - lp + 1]; for(int i = lp; i <= rp; i ++) { ans[i - lp] = arr[i]; } return ans; } // 获取到离x最近的k个数 public static void main(String[] args) { int[] arr = {0, 0, 1, 2, 3, 3, 4, 7, 7, 8}; int k = 3; int x = 5; int[] res = findClosestElements(arr, k, x); System.out.println(Arrays.toString(res)); } }

March 22, 2026 · 2 min · santu

PDD海外用增二面

背景:工作两年 问题: 看机会的原因 技术成长 业务机会 QPS有多高 工作中遇到什么复杂的场景 目前的offer进展 为啥考虑pdd,譬如作息问题 一幅随机的扑克牌,找到同花顺 将扑克牌先按照花色再按照大小进行排序,然后双指针遍历扑克牌即可,复杂度为o(lgn) 100T数据,在4C8G的机器中如何找到出现频率最高的 这是典型的topK问题,可以利用分治思想处理 📝top n 问题如何解答? 字符串中出现频率最高的单词(注意符号和其他非法字符) 这个问题是对于上一个问题分治后的处理,可以直接通过Map进行统计。这里有一个特殊点就是符号和其他非法字符,需要加上一行判断:if((s.charAt(i) > 'a' && s.charAt(i) < 'z') || (s.charAt(i) > 'A' && s.charAt(i) < 'Z')) 100W用户,100个商品(库存1000),设计思路 主要考虑安全,限流,缓存预热等问题 ✅让你设计一个秒杀系统,你会考虑哪些问题?

March 22, 2026 · 1 min · santu

白龙马科技一面

背景:5年经验 问题列表: rpc框架,区别及对比; spring shutdownhook作用 ✅Spring中sutdownhook作用是什么? aop 在什么场景下不生效; ✅Spring的AOP在什么场景下会失效? 事务性规范如何避免死锁场景; ✅数据库死锁如何解决? 算法:单列表倒数第n个节点;

March 22, 2026 · 1 min · santu

27届,数藏项目(订单、交易、用户模块)

(面试者的项目来自我的数藏项目实战课,更多项目亮点难点(50+),更详细的落地方案和讲解,可以在项目课中和我们一起学) 面试者背景 :::warning 今日**面试者:27届,有一段物联网实习,智能设别接入,文件导入导出,自定义规则校验,数藏项目(订单、交易、用户模块),MQ事务消息,redis预扣减,秒杀压测,对账,分布式技术栈。** 实习了多久?3个多月, 文件导入导出功能介绍下。EasyExcel,同一份文件**/**多份文件中有重复数据了,内存处理,去重怎么去的? 如果数据量很大,乜办法一次性导入内存,如何去重? 文件导入有用多线程吗?单线程读excel,多线程并发写数据库。占内存问题。 EasyExcel****有什么优势? 项目中还有其他的亮点么?规则校验?redis的key过期了,会如何处理? Redis的内存如果满了,会怎么样?淘汰策略,LRU和LFU****有啥区别? AOP****是如何实现切到一个自定义注解的? 数藏项目哪个模块最熟悉。交易模块和订单模块有啥关系和区别?为啥要搞个交易模块?编排了其他模块,用户、库存、订单。交易模块都提供了哪些方法?下单(秒杀**/**普通交易)、 交易和订单模块是不同的微服务,用dubbo通信,注册中心nacos。一个应用要接入dubbo,需要做哪些事情?导入依赖, 如何做订单防重?详情页生成token,并发情况下如何确保token只能用一次?用lua脚本, Token如何防止伪造?加密。如何防止用户囤一批token刷下单接口?如何实现的一个用户+一个商品只能有一个token**?token的生成,用户id和商品id是前端传的么?** 下单防重还有其他方案么?前端置灰,购物车下单如何做防重? 订单的状态是怎么设计的?init、confirm、cancel、discard、paid。状态机是如何实现的?这样做的好处是什么? 订单号是怎么生成的?业务标识、随机数(雪花算法)、基因法。有没有重复的概率?概率低、 订单表的主键id是怎么生成的?为啥不直接用订单号? 分库分表了解么?单库多表, 项目中用过分布式锁?什么地方用了分布式锁。用户手机号分布锁避免短信重复发送? 分布式锁怎么实现的?redisson,lock,tryLock你用的哪个?redisson好处?看门狗机制,怎么实现的?还有其他的分布式锁实现方案么?分布式锁和单机锁主要区别是啥? 压测过程有遇到过什么问题么?日志被打满,logback?问题则呢么发现的?CPU占用率,问题怎么解决的? ::: 题目解析 :::color4 文件导入导出功能介绍下。EasyExcel,同一份文件**/**多份文件中有重复数据了,内存处理,去重怎么去的? 如果数据量很大,乜办法一次性导入内存,如何去重? 文件导入有用多线程吗?单线程读excel,多线程并发写数据库。占内存问题。 EasyExcel有什么优势? ::: ✅基于EasyExcel+线程池+批量插入实现百万级数据导入 ✅EasyExcel为啥内存占用小? :::color4 项目中还有其他的亮点么?规则校验?redis的key过期了,会如何处理? Redis的内存如果满了,会怎么样?淘汰策略,LRU和LFU有啥区别? ::: ✅Redis 的过期策略是怎么样的? ✅Redis的内存淘汰策略是怎么样的? :::color4 AOP是如何实现切到一个自定义注解的? ::: ✅使用自定义注解+切面减少冗余代码,提升代码的鲁棒性 :::color4 数藏项目哪个模块最熟悉。交易模块和订单模块有啥关系和区别?为啥要搞个交易模块?编排了其他模块,用户、库存、订单。交易模块都提供了哪些方法?下单(秒杀**/**普通交易)、 交易和订单模块是不同的微服务,用dubbo通信,注册中心nacos。一个应用要接入dubbo,需要做哪些事情?导入依赖, ::: 项目实战内容,详见数藏项目实战课 :::color4 如何做订单防重?详情页生成token,并发情况下如何确保token只能用一次?用lua脚本, Token如何防止伪造?加密。如何防止用户囤一批token刷下单接口?如何实现的一个用户+一个商品只能有一个token**?token的生成,用户id和商品id是前端传的么?** 下单防重还有其他方案么?前端置灰,购物车下单如何做防重? ::: ✅基于Token校验避免订单重复提交 项目实战内容,详见数藏项目实战课 :::color4 订单的状态是怎么设计的?init、confirm、cancel、discard、paid。状态机是如何实现的?这样做的好处是什么? 订单号是怎么生成的?业务标识、随机数(雪花算法)、基因法。有没有重复的概率?概率低、 订单表的主键id是怎么生成的?为啥不直接用订单号? ::: ✅利用雪花算法+Redis 自增 ID,实现唯一订单号生成 :::color4 分库分表了解么?单库多表, 项目中用过分布式锁?什么地方用了分布式锁。用户手机号分布锁避免短信重复发送? 分布式锁怎么实现的?redisson,lock,tryLock你用的哪个?redisson好处?看门狗机制,怎么实现的?还有其他的分布式锁实现方案么?分布式锁和单机锁主要区别是啥? ::: ...

March 22, 2026 · 1 min · santu

工作4年,供应链相关,分库分表、分布式锁

面试者背景 :::warning 20****年毕业,4年,供应链相关、分布式、微服务、 介绍下一个核心的业务流程,收发货,核心单据数据量有多少?流水表、5000万。 有做分库吗?分表怎么分的?shardingjdbc、发货子单号分表、64张表, **发货单号:业务类型、时间戳、自增****ID-> hash -> **取模。列表查询怎么做? Shardingjdbc**,如果没带分表字段还能查询吗?算法是如何实现的(配置还是实现了算法类)?** 如何实现去指定单表查询?hint知道吗? 主键是如何实现的?雪花算法。为啥不直接用redis的自增id?生成的雪花算法多少位?一定19位吗?什么情况下可能会重复?nanoid用过吗? 为啥只做了分表,没做分库?原因是什么?为啥没考虑用归档解决数据量大的问题? 后期如果64张表不够了,怎么办? 如何设计一个分库分表方案?选分表键、选中间件,同步方案、切流方案。。。除了insert,还有update怎么办? 项目中有哪些难点?springboot升级,兼容问题。 遇到过哪些线上问题?oom,excel导出,导出接口限流,poi->easyexcel。。dump是如何获取的? 导出接口限流是怎么做的?redisson,ratelimiter。 OOM排查流程、、除了内存泄漏还有其他原因吗?Java发生OOM后会立刻挂掉吗?先发生OOM还是先GC**?** Nacos****用来做什么?应用如何感知到配置变化的?长轮询??为啥不建长连接? Nacos是AP还是CP**?配置中心是哪种?为啥配置中心C比A更重要呢?** 分布式锁的粒度和事务粒度如何控制?平时是如何加事务的?编程式事务。 分布式如何做链路追踪、雪花算法, 分布式锁,乐观锁锁和悲观锁哪个适合高并发?乐观锁无锁吗? ::: 题目解析 :::color4 有做分库吗?分表怎么分的?shardingjdbc、发货子单号分表、64张表, 发货单号:业务类型、时间戳、自增ID-> hash -> 取模。列表查询怎么做? 为啥只做了分表,没做分库?原因是什么?为啥没考虑用归档解决数据量大的问题? ::: ✅什么是分库?分表?分库分表? ✅分表算法都有哪些? :::color4 Shardingjdbc,如果没带分表字段还能查询吗?算法是如何实现的(配置还是实现了算法类)? 如何实现去指定单表查询?hint知道吗? 主键是如何实现的?雪花算法。为啥不直接用redis的自增id?生成的雪花算法多少位?一定19位吗?什么情况下可能会重复?nanoid用过吗? 后期如果64张表不够了,怎么办? 如何设计一个分库分表方案?选分表键、选中间件,同步方案、切流方案。。。除了insert,还有update怎么办? ::: ✅分表后全局ID如何生成? ✅分库分表后,表还不够怎么办? :::color4 遇到过哪些线上问题?oom,excel导出,导出接口限流,poi->easyexcel。。dump是如何获取的? ::: ✅OOM问题排查过程 ✅基于EasyExcel+线程池解决POI文件导出时的内存溢出及超时问题 :::color4 导出接口限流是怎么做的?redisson,ratelimiter。 ::: ✅什么是滑动窗口限流? ✅如何基于Redis实现滑动窗口限流? :::color4 OOM排查流程、、除了内存泄漏还有其他原因吗?Java发生OOM后会立刻挂掉吗?先发生OOM还是先GC? ::: ✅Java发生了OOM一定会导致JVM 退出吗? ✅JVM 中一次完整的 GC 流程是怎样的? :::color4 Nacos****用来做什么?应用如何感知到配置变化的?长轮询??为啥不建长连接? Nacos是AP还是CP?配置中心是哪种?为啥配置中心C比A更重要呢? ::: ✅Nacos如何实现的配置变化客户端可以感知到? ✅Nacos是AP的还是CP的? ...

March 22, 2026 · 1 min · santu

新增面经

大家可以把自己面试中被问到的问题写一下,请用一下格式: 公司: 部门: 轮次: 岗位: 年限: 面试问题: 如: 公司:阿里 部门:淘宝 轮次:一面 岗位:Java开发 年限:3年 面试问题: 为什么叫Spring不叫Summer?

March 22, 2026 · 1 min · santu

24届,LLM应用开发,SpringAI

面试者背景 :::warning 24届硕士毕业,上市公司,2年经验,AI平台构建,AI网关平台,大模型服务接入治理,10家厂商,百个大模型接入,企业级AI问答应用,也做传统后端开发。 AI网关实现方案?apisix,java****实现了哪些功能?费用计算,模型限流。 网关都有哪些功能介绍下?审批&开放API,API管理(限流、模型校验、KEY校验) 项目难点是什么?模型厂商的模型规范不一样需要定制,日志聚合分析,报表,权限校验。 计费如何实现的?token数如何计算的。如果调用中间异常了怎么办?自己计算,常见的文生文模型, 一个中文大概占几个token?1.2-1.7, 对LLM的API的语义了解么?temperature,取值范围?所有模型都是0-1吗?大部分模型的默认值是多少?max-tokens、top-p呢? 大模型本身支持工具调用和记忆的能力吗? 限流是怎么实现的?请求速率限流。用户限流怎么实现的?clickhouse到mysql是如何同步的?1小时同步一次。能接受1小时延迟。 都对接了哪些模型 ?文生文,文+图生文,生图模型。开源模型有对接吗?自己部署的,也会走网关。 Cluade有对接么?封杀怎么处理。多账号。哪个模型用量最大?cluade,ds****, 出口数据有做管控吗?如何避免数据泄露。用deepseek审查模型,部署用的什么方式?ollama,****vlm 用ollama做模型部署的原因是什么?方便。模型部署在显卡上,A100、模型部署经验?GPU****限制,上下文大小限制。 可监测性这方面做啦哪些事情?grafana,Prometheus,CPU&磁盘&内存,模型部署服务器的GPU相关。 如果对接的某个模型厂商的服务挂了,如何做故障转移? AI问答平台,技术栈是什么?spring ai + spring boot,主要是哪些内容的问答?spring ai用的哪个版本?1.0.0?chatclient和chatmodel区别是啥?spring ai中的advisor机制了解吗?有用过哪个advisor吗? 多轮对话是如何实现的?redis+mysql,为什么要存redis、和mysql两层、redis如何实现的只存最近的N轮对话?zset,手动维护最近N轮,mysql对话记忆表是如何设计的?用户问题、模型回答、用户信息、模型信息、对话id。会话ID起到了什么作用?回话ID如何保证唯一性 ?redisson???前缀+随机数+username+时间戳—–>base64,为什么不考虑用uuid?如果并发更高场景,时间戳也可能重复怎么办?雪花算法,是怎么保证不重复的呢?数据库主键id、 长期记忆&短期记忆 线上问题遇到过吗?CPU飙升,apisix没配连接池,日志文件很大(按天拆分),lua脚本插件内存溢出? 调用大模型API超时有哪些优化方案?流式输出,换小模型,max-token, ::: 题目解析 :::color4 对LLM的API的语义了解么?temperature,取值范围?所有模型都是0-1吗?大部分模型的默认值是多少?max-tokens、top-p呢? 大模型本身支持工具调用和记忆的能力吗? 限流是怎么实现的?请求速率限流。用户限流怎么实现的?clickhouse到mysql是如何同步的?1小时同步一次。能接受1小时延迟。 都对接了哪些模型 ?文生文,文+图生文,生图模型。开源模型有对接吗?自己部署的,也会走网关。 Cluade有对接么?封杀怎么处理。多账号。哪个模型用量最大?cluade,ds****, 出口数据有做管控吗?如何避免数据泄露。用deepseek审查模型,部署用的什么方式?ollama,****vlm 用ollama做模型部署的原因是什么?方便。模型部署在显卡上,A100、模型部署经验?GPU****限制,上下文大小限制。 可监测性这方面做啦哪些事情?grafana,Prometheus,CPU&磁盘&内存,模型部署服务器的GPU相关。 如果对接的某个模型厂商的服务挂了,如何做故障转移? AI问答平台,技术栈是什么?spring ai + spring boot,主要是哪些内容的问答?spring ai用的哪个版本?1.0.0?chatclient和chatmodel区别是啥?spring ai中的advisor机制了解吗?有用过哪个advisor吗? 多轮对话是如何实现的?redis+mysql,为什么要存redis、和mysql两层、redis如何实现的只存最近的N轮对话?zset,手动维护最近N轮,mysql对话记忆表是如何设计的?用户问题、模型回答、用户信息、模型信息、对话id。会话ID起到了什么作用?回话ID如何保证唯一性 ?redisson???前缀+随机数+username+时间戳—–>base64,为什么不考虑用uuid?如果并发更高场景,时间戳也可能重复怎么办?雪花算法,是怎么保证不重复的呢?数据库主键id、 长期记忆&短期记忆 线上问题遇到过吗?CPU飙升,apisix没配连接池,日志文件很大(按天拆分),lua脚本插件内存溢出? 调用大模型API超时有哪些优化方案?流式输出,换小模型,max-token, ::: 以上内容,建议通过AI项目课学习: AI课优惠券

March 22, 2026 · 1 min · santu

留言给博主