- 2025-03-25·后端开发查看全文WXG - 二面 说实话面到现在,其他家都感觉轻松简单,就 WXG 每次面完我都想要怀疑人生 💩 1) 实习相关 (具体内容略,之后的八股基本都是从项目或实习延伸的)...编程导航_小y:正在参加春招求职总结活动,赢取大额红包和鱼厂周边:https://codefather.cn/post/gift3
963分享 - 2025-03-15·后端开发查看全文淘天 - 一面 还是喜欢问的偏应用层的,整体都比较简单,我也比较了解,昨天那种偏 OS 的我真的会谢 👻 1 实习 (具体业务略)...编程导航_小y:正在参加春招求职总结活动,赢取大额红包和鱼厂周边:https://codefather.cn/post/gift3
1554分享
美团 - 一面 1. 实习1的部门做的业务是什么,你认为实习期间的最大的技术挑战是什么 2. 简单讲一下实习中某个点的技术实现细节 3. 如果多个任务之间存在相互的依赖关系的场景,你现在的方案(线程池)能不能直接应用,能想到什么解决方法 4. 生产环境中怎么决策是走索引覆盖还是走不同索引 5. 深分页是什么问题,长事务会带来什么问题,怎么去避免 6. 图片送审接口主要的优化点是在哪 7. jpg, png, webp 三种格式的区别在哪 8. 现在提出更高的要求,让你把接口性能进一步压缩,你有什么思路 9. 把领域模型划分成通用模型和具体场景模型的出发点是什么 10. 你在设计方案的时候是怎么考虑来保证通用的基类模型是稳定的 11. 实习2的某个场景中用缓存是怎么选型,怎么决定缓存的字段,缓存的 TTL 怎么决策的 12. 你有了解过缓存中间件的底层的结构是怎样的吗 13. 让你继续去优化整个接口,你有什么其他的想法 14. 限流防止接口盗刷,你的限流算法是怎么设计的,有没有了解过其他的限流算法 15. 触发降级的情况下,怎么保证用户的体验是合理的 16. OCR 支持热更新吗,假设支持热更新,算法组上了个新算法,你怎么优化来支持不同版本 17. 你自己是怎么理解 Agent,核心解决什么问题 18. 你是怎么构建知识库的,构建高质量知识库需要注意些什么 19. 如果想支持多模态你会怎么设计来落地 20. 你自己平时有用过外部的什么大模型吗 21. 你写代码的时候有用大模型来生成代码吗,个人是怎么设计 prompt 来辅助的 算法:三数之和 22. 对于工作内容有没有偏好和倾向,比如 ToB 和 ToC 这种 23. 目前手里有其他的 offer 吗 24. 对于语言有什么偏好吗 25. Java 你除了工作中会学习之外,自己会去学系统学习一点东西吗 26. 实习的过程中会有意地去看相关中间件的文档吗 27. 有了解过高并发的 C 端场景的相关技术吗
蚂蚁 - 一面 1. 本科参加的竞赛是基于什么契机来参加的,通过竞赛收获了哪些东西,可以举个例子具体展开一下吗 2. 介绍一下实习1这边做的业务和你在实习期间做了什么 3. 你觉得这个项目中最大的难点在哪 6. 你在做这个东西的时候有没有考虑做成组件的形式,比如给到其他的场景能不能复用 7. 多协程怎么保证所有的协程都执行完,超时之后的处理策略是什么 8. 具体的 SQL 调优的场景展开说一下 9. 这段实习过程中收获最大的,最有成就感的事情是什么 10. 介绍一下实习2这边做的业务是什么,你在实习期间做了什么 11. 业务场景A原来的问题是什么,是通过什么方法来解决的 12. 整个的 AI Agent 是怎么做的 13. 你们用技术A的场景是什么,为什么用第三方平台而不是用数据中台 15. 数据迁移的整个方案大概介绍一下 16. 最后怎么确保两边的数据一致性 算法:10 个人分 100 个红包,保证每个人至少 1 个红包,最多 30 个红包,并且红包要发完 基本都是绕着实习来问的,一些内容脱敏处理了~👻 欢迎查看轩轩的面经合集专栏,包括秋招和暑期实习的所有面经 😇~ https://www.codefather.cn/column/1875182957253287938
百度 - 一面 1. 简单说一下你实习做的 Agent,详细说一下其中 RAG 系统,其中 Embedding 能力有使用吗 2. 一开始的时候性能和准确率肯定是没有达标,之后你在 RAG 方面做了哪些优化 3. 实习中 SQL 调优方面做了哪些,详细讲讲 4. ArrayList 和 LinkedList 之间有什么区别 5. 遍历 HashMap 有哪些方式 6. 自动装箱和拆箱是什么东西 7. 你提到缓冲池,Integer a = 127, Integer b = 127, sout(a == b) 是 true 还是 false,都是 128 呢 8. Java 中线程有哪些状态 9. sleep 和 wait 之间有什么区别 10. 算法:两个线程交替输出 0 ~ 100 11. 最左前缀匹配规则是怎么回事 12. 联合索引 (name, age) 判断下面的索引是否会生效 1. WHERE name = '张三' AND age > 18 2. WHERE age > 18 3. WHERE age + 5 > 18 4. WHERE '%张三%' AND age > 18 13. MySQL 表里面有个字段存余额,你会用什么类型来存,还有个逻辑删除的字段用什么类型 14. 删除一张表可以用哪几种语句 15. ES 你在哪里用到过,简单讲一下 ES 分词和检索的基本原理 16. 你提到 BM25 算法,有了解过这个算法和什么因素相关吗 17. ES 里面 must 和 filter 条件去做查询,两者之间有什么区别 18. 在 ES 里有用过聚合查询吗 19. 分词的时候你有没有觉得分词的效果非常地受限,一篇文档可能不是按你的想法来分词的,有没有遇到过检索和存储分词的算法不一致,导致想搜的东西没有匹配上的情况,怎么解决 20. 算法:滑动窗口的最大值 欢迎查看轩轩的面经合集专栏,包括秋招和暑期实习的所有面经 😇~ https://www.codefather.cn/column/1875182957253287938
豆包 - 二面 1. 实习做的某模块为什么要接入这几种设计模式,原因是什么 2. 为什么要加缓存,缓存的是什么数据 3. 限流的策略是怎么做的 4. 做的 Agent 简单介绍一下 5. 算法1:岛屿数量 6. 算法2:带过期时间的 LRU 7. 想做一个爬虫系统,遇到重复的 URL 就过滤掉,怎么实现 8. 为什么选择使用布隆过滤器来解决这个问题 9. 用布隆过滤器的弊端是什么,你怎么解决 10. 布隆过滤器单机大概能存多少的 URL,分布式你怎么做 11. 100G 的文件统计出现次数最多的 10 个 IP 地址 12. 如果有一个 HTTP 请求,发现它非常的慢,只能通过抓包或打日志,怎么定位慢的原因 13. 你觉得有可能慢的因素有哪些 14. 不考虑接口本身,只从计网角度来说哪些因素可能比较慢 15. 从豆包请求到百度网关的过程中都发生哪些事情,这整个过程中有哪些阶段,可能有哪些问题,分别怎么排查 16. ZSet 底层的数据结构是怎样的 17. 分布式锁你了解吗,让你直接用 Redis 来实现怎么做,不要用封装好的方法 18. 分布式事务有了解过吗,有哪些实现方式 19. Java 的锁升级你了解吗,简单说一下 20. synchronized 和 ReentrantLock 之间的区别简单说说 21. 锁冲突的场景下你会选择用哪个 22. 32 位机器,4GB 虚拟内存,页大小 4KB,页表项 4B,需要几级页表 23. 现在音视频适合用 TCP 传还是用 UDP 传 欢迎查看轩轩的面经合集专栏,包括秋招和暑期实习的所有面经 😇~ https://www.codefather.cn/column/1875182957253287938
腾讯 - 一面 上来先做四道题 逻辑题1:两根不均匀而且不一样的绳子,每根从头烧到尾需要 60min,用两根绳子精准算出 45min 逻辑题2:统计深圳地铁站人流量估算,并且不让用任何带计数的方式 算法3:实现线程安全的指令重排序的懒汉式单例模式 算法4:多线程打印123 1. 浏览器上敲一个域名地址会发生怎样的过程 2. 如果二级域名在 DNS 上没找到会怎样 3. HTTPS 整个建立连接的过程是怎样的,非对称加密的过程详细说一下 4. 证书是在什么时候下发的 5. 如果证书过期了,我要去更新证书会出现什么情况 6. TCP 的报文结构是怎样的 7. MySQL 的索引结构为什么用 B+ 树而不用红黑树 8. 主键索引和非主键索引在 B+ 树上有什么区别 9. MySQL 怎么保证事务的 10. MVCC 的一个过程是怎样的 11. 如果前端返回某个接口耗时比较长你会怎么排查 12. MySQL 的慢日志怎么去分析 13. 深分页怎么优化解决 14. 如果发现 CPU 打到了 100% 怎么进行排查 15. 线程怎么去看是否出现死锁,使用的是哪个命令,在日志上有什么呈现 16. 如果出现 OOM 会用什么命令来查 17. 现在 JDK 最新版本有了解到哪个版本 18. CMS 和 G1 垃圾回收器有什么区别 19. 一个 Java 服务启动的话会包含什么信息,用什么命令来启动,额外的参数信息 20. 给你一个 8G 内存的机器,你怎么去配堆内存的大小 21. Java 的内存模型是怎样的 22. Java 有哪些线程安全的类 23. StringBuffer 是线程安全还是不安全的 24. 线程池的线程创建过程简单说一下 25. 线程池的参数你怎么设置 26. 设计一个服务于全球,每秒点击上百万的短链服务,短链数据量在上千万的数据量 27. 因为是服务全球的,你的服务怎么做分布式的 28. 那怎么做不同机房之间的数据同步 29. 你用消息队列怎么避免 Rebalance 30. 怎么处理消息堆积的这种情况 31. Transformer 的架构简单介绍一下,说一下 Encoder 和 Decoder 的处理过程 32. 编码器连接到解码器的两个输入是什么,是 Q,K,V 中的哪两个,为什么这么设计 33. embedding 模型你了解如何进行优化吗 34. 怎么解决 embedding 中的一词多义的问题 35. 模型的 Top K 和 Top P 的两种采样有什么区别 36. BERT 和 GPT 了解吗,简单说一下 37. BERT 里面有多少层 38. RAG 的整个过程说一下 39. 其中切片分块是怎么做分片的 40. 你知道大模型怎么实现代码补全的效果吗 41. 你在实习做的 AI 项目中负责的是哪一块的,有没有遇到过什么问题,怎么解决的 42. 如果有人反馈你的 Agent 响应比较慢,你怎么排查和解决 欢迎查看轩轩的面经合集专栏,包括秋招和暑期实习的所有面经 😇~ https://www.codefather.cn/column/1875182957253287938
Hello 这里是轩轩,接下来会每天整理并分享 1-2 篇自己在秋招过程中的面经(实习内容会脱敏删减处理),欢迎大家找我交流😇~ 豆包 - 一面 1. 简单介绍一下实习中 AI Agent 的部分 2. 为什么要区分不同的 Agent 3. 对话型 Agent 和工作流编排的 Agent 有什么区别,什么场景用哪个 4. CoT 是怎么使用的 5. 你理解的 CoT 是什么 6. 你的 Agent 里面包含哪些 Tools 7. 知识库是怎么构建的,知识库给 Agent 提供了哪些帮助 8. 数据量小的话,为什么不直接用 FAQ 文档放在那,为什么不考虑直接把这些知识切片扔到上下文里 11. 如果用户问“继续”、“还有呢”,这种问题模型会怎么处理 12. 怎么评测 Agent,RAG 的效果 13. 有没有了解过自动化评测的框架 14. 你认为你们的 Agent 有什么提升空间吗 15. 分表是怎么做的,为什么用 userId 的奇偶性分表 16. 分片数如果要变更怎么办,真实的项目你会怎么做 17. 数据迁移怎么做 18. ES 避免数据倾斜是怎么做的 19. RAG 简单说一下你的理解 20. 切片的数据是怎么进向量数据库的 21. 有些查询可能不适合余弦相似度的这种玩法,这时候会走多路召回,了解多路召回吗 22. 你们只取 5 条可能会漏掉关键信息,业务有时候希望更多地召回,再去降噪音,怎么做 23. 知道更高效的 ReRank 算法吗 24. Agent, Workflow, Tool Calling, MCP 怎么理解这四者之间的关系的 25. 乐观锁和悲观锁分别适合什么场景,实习期间怎么用乐观锁的 26. 如果出现数据库死锁怎么排查和解决 27. 数据库死锁很多情况都不是死的,数据库自己会解,对于我们来说就是慢查询,这种情况怎么解决 算法:合并两个有序数组 欢迎查看轩轩的面经合集专栏,包括秋招和暑期实习的所有面经 😇~ https://www.codefather.cn/column/1875182957253287938
大家好呀,这里是轩轩,本来想着周末一定要赶紧把需求赶完,但是一打开电脑就不想干了,先把面经出了吧 🤣 美团 - 二面 (好像是 HR 面和业务面放一起的感觉,由 ld 一起面了) 面试官人特别好,基本都是以聊天的形式在问 🥳 : ) 1) 闲聊了十分钟 2) 实习相关 (详细内容略) 3) 协程和线程有什么区别 4) 项目简单介绍一下 5) Prompt 技巧你是怎么学的,有了解到哪些 6) 什么时候用 zero-shot 什么时候用 few-shots 7) Transformer 你了解过吗,能不能稍微通俗易懂的讲解一下注意力机制 8) 记录一下感觉有意义的闲聊对话: 我: 既然我们部门不是追求特别高的并发,那是具体是注重什么呢 面试官: 其实高可用高并发就是基本功,所有系统都要保证这个,当然这个我们肯定希望越高越好,但是很多时候都要考虑到用户的体验,比如 2s 优化到 1s 和 1s 优化到 800ms,其实后者用户的体感不强,所以我们研发做的东西,最终落脚点都是用户,研发做的就是要去帮助业务达到它的目标,流量大和流量小都是看具体的业务。并且带来的挑战吧,不见得流量大的一定比流量低的挑战要大,其实高并发的解决方案是一个非常成体系的解法,我面试的每个同学都掌握的很清楚,无非就是三板斧,不就是限流,缓存这种空间上的冗余,要么就是时间上的解耦,搞成异步这种,你可能毕业之后干一年就腻了,比如你在字节现在做的,SQL 调优,接口优化,并发等等,但是你不可能一直做这个事情,很多时候还是要多去尝试一些系统才能知道,什么是真正有用的东西,或者说这个系统是给谁服务的。 9) 项目中你觉得有什么难点 10) 如果用户一直停留在等待页面,想实现结果出来了之后就动态刷新怎么做 >> 轮询,WS,SSE 11) 闲聊: 学习方法,兴趣爱好 12) 反问: 我: 刚刚有聊到,不可能一直做这种,但是我理解后端不就是 CRUD,和 MySQL,Redis,MQ 等等交互吗,可能我实习就会这么多,但是干了一年还是只会这么多,无非每家公司的中间件平台不一样,那我真正应该注重什么呢 面试官: 你说得对,我们讨论一下,AI 时代下业务或者企业,对于程序猿这个岗位的要求会不会发生变化,当然现在还没有标准的答案,但我觉得每个程序员都要思考一下这个问题。 - 现在后端确实 CRUD 做的比较多,当然也要看业务,有些业务比较固化,每天就是小的迭代优化,只需要 CRUD,有的甚至都不需要和数据库,MQ 接触,数据都是从别人那边 RPC 去取就行。 - 当然这是个人观点,AI 时代下对于我们后端而言,可能之前不会去写前端,但是有了 AI 就可以去写了,大家的职能定位可能会发生一些变化,你会发现自己什么事都能干,业务的事情比如数据分析,甚至运营的事情你也能干,核心都是为业务服务。 - 所以说我们研发不要只局限在把中间件用好,或者在什么场合用什么中间件,这个当然没问题,但是这种事达到一定程度之后每个人都可以这样做到这一点,说到底程序员就是新一代的手艺人嘛,技能库其实就这么一点,程序员薪资比较高就是因为它有门槛,未来会不会还是这样也不一定,我们也没数,能做的就是把自己的技术边界拓展,解决复合领域的能力给增强,不仅仅说是把代码写好或者中间件用好,可能可以去想业务出现某个问题,可以通过技术把他解决,也可以通过协作等方式解决,问题最终都是解决了。 - 从我的团队来说,大家都是和业务走的越来越近,有的时候技术的解决方案其实可能看的不是很重了,更多还是看能不能帮业务解决问题,当然像有些大流量的场景,确实要专注于这种场景,说白了解决流量问题就是他们的业务,每个团队承担的使命是不一样的,不知道这么说你能不能理解。 >> 后记: 感觉这场是最有意义的一次面试,虽然到现在也没有非常理解有些内容的含义,感觉还没到理解到这些点的时机,或者可能要在实战中多接触才能懂,有没有理解的小伙伴给我梳理一下面试官的意思,或者自己的看法 🙏 13) 结果: 电话 oc 淘天 - 三面 + HR 面 上次淘天来学校宣讲会,面见了 ld 和 HR,我是学长内推,而且进度算比较快,因此两位也来找我直接交流了,了解到我在杭州实习之后约了线下去园区面试,淘天可以说特别的热情,学长,mt,ld,HR 全都主动来找过聊天 🥳 (聊了实习和项目,由于线下就没录音,记了几个印象比较深的) 1) 项目和实习相关 2) 有没有用过 RAG 或者微调,有没有用过 AI Agent 3) 有没有了解过 MCP,你觉得这个有什么意义 4) 有个高考分数表,写个 SQL 把每个省份的前三名查出来 5) 结果: 签了 offer,但是也明确后续还会考虑其他公司,HR 也说了可以先签着,后面可以撕 😇 饿了么 - 一面 刚开始 3 分钟就知道和面试官聊不来,感觉面试官语气很轻蔑,也可能是我自己的原因,没想到还给我过了 🤡 1) 面试官完全没问实习(因为用的是 go 所以不问😅),然后项目说昨天刚见过,都不是很想问 💩 2) 项目中的表结构怎么设计的 3) 分表有什么具体的考虑吗 4) 项目中缓存怎么用的,缓存失效怎么处理 5) 缓存一致性是怎么做的 6) 为什么要用消息队列,有没有其他优化用户等待的方案 7) 说一下你调大模型的过程吧 8) System Prompt 和 User Prompt 是什么,除了这俩之外还有什么类型的提示词,有没有了解过 9) 想做一个通用的限流模块,你会怎么做 10) 你提到 Sentinel 有没有了解过它是怎么实现的 11) 封装是什么,可以介绍一下吗,一般在 Java 开发中会怎么使用 12) 面向对象的特性可以介绍一下吗 13) 抽象类和接口有什么不同,什么场景下用接口,什么场景下用抽象类 14) 有用到 Java 的多线程吗,在什么场景下使用的 15) 线程池你是怎么设置的 16) 介绍一下线程池的工作原理 17) 你用的是哪种拒绝策略,如果我想处理异常有没有其他的拒绝策略 18) SpringBoot 你觉得最核心的特色是什么 19) IoC 是什么,在 SpringBoot 中是怎么发挥作用的 20) 循环依赖是怎么解决的,两级缓存可以解决循环依赖吗 21) SQL 语句会写一些 JOIN 语句吗,JOIN 有哪些方式你了解吗 22) JOIN 内置的算法你知道吗 [× 没了解过] 23) 事务怎么实现一个版本机制 24) 是不是所有的数据库都有事务机制 >> 第一次背这么多八股问题,乌鱼子,感觉这次面试没有收获到任何东西 😅 25) 你项目没有上线嘛,但是前一个同学有演示,你是前后端都是自己写的吗,那你没写前端的话,怎么做的测试啊 🤡 26) 你和测试的协作在软件生命周期属于怎么样的一个流程 27) 你觉得软件生命周期完整的是什么样的 28) 研发在运维期间其实也要做很多事情,你有了解过吗 目前十面全过,已经拿到淘天的 offer 了,下周打算把美团的 oc 和其他几家的后续面试都拒了,继续鏖战 WXG 👍
WXG - 二面 说实话面到现在,其他家都感觉轻松简单,就 WXG 每次面完我都想要怀疑人生 💩 1) 实习相关 (具体内容略,之后的八股基本都是从项目或实习延伸的) 2) 你实习对 SQL 用的很熟练啊,那你针对 SQL 优化还有没有别的实践或思考点 3) 事务是怎么实现的 4) redo log 是怎么用的 5) 怎么决定开多少个协程合适 6) CPU 密集型的任务,开协程还会有作用吗 7) 协程是跨线程的吗 8) 用协程是为了避免资源竞争和锁冲突这种问题,如果协程又放在多个线程执行,会不会又把这个问题引入了 >> 上面两个问题感觉奇奇怪怪的,下来搜了才知道 GMP 模型和其他语言中的协程模型不同,涨知识了,面试的时候只知道 GMP 模型,真不清楚为什么会问出这种奇奇怪怪的问题 🤡 9) 本地缓存和 Redis 怎么保证一致性 10) 多机本地缓存怎么保证一致性 11) 有压测过 Redis 的性能吗,它是怎么做到这么快的 12) 但我看很多博客说 Redis 是多线程,和你刚刚说的单线程不太一致 13) [ × 没想到 ] BitMap 做用户签到你觉得有什么劣势 14) Redis 集群怎么做持久化和数据备份 15) 集群中一个 Key 是怎么决定放在哪个实例上的 16) Redis 集群有多少个槽,为什么设定为这个数字 17) cpp 怎么实现多态的知道吗 (感谢上个面试官出了个虚函数的题) 18) [ × 不是哥们 我又不是 cpp 选手,我咋知道 ] cpp 多态怎么找到子类实现的具体逻辑 >> 和面试官说了 Java 中怎么找的 19) [ × 不会 ] 一个 cpp 代码怎么通过编译得到可执行程序啊 >> 面试官: 编译原理有上过吗 >> 我: ??? 20) [ × 胡诌乱编 ] 多进程和多线程分别适用的场景是什么 21) [ × 连蒙带猜 ] Ngnix 用的是多进程还是多线程 22) 那如果让你实现一个高性能的网关,你会怎么做 23) 多进程之间如何进行通信,哪种方式最快 24) HTTPS 和 HTTP 相比有什么改进和弊端 25) HTTPS 相比 HTTP 性能差多少有了解过吗 26) Linux 你知道哪些常用命令 27) 一个进程消耗的 CPU 比较高,怎么找到这个进程 28) [ × ???] PID 是怎么产生的 29) [ × 已经开始怀疑人生了 ] 一个目录下有几万个小文件,想找出最大的 10 个文件,Shell 命令怎么查 30) 算法题 - cpp 实现深拷贝 31) 算法题 - 反转链表 结果: 第二天显示过了~ 总结: 远离 Go 和 cpp,会变得不幸,主播迟早有一天要被操作系统折磨昏 🤡
Hello 大家好呀 这里是轩轩~ 🌟 最近又是笔试又是面试,还有一个比较大的需求独立实现,很累很累 所以没法及时更新面经,请大家见谅,周末闲下来正好回顾一下 😋 这几次的面经都比较偏聊天,基本没问啥问题,但是都会涉及到大模型,AI 这块 🤣 京东 - 一面 没有特别投哪个部门,选的方向是都喜欢,被金融部门捞了 面试官特别友好和礼貌,特别能聊,感觉面试氛围很放松,问的比较浅,基本上我只讲了 20 分钟,面试官讲了 30 分钟 👻 1) 闲聊,个人情况,学校学了啥,语言上有没有问题,目前实习的情况,有没有想转正 2) 面试官讲解 ToB 和 ToC 的区别,以及入职之后的期望,暗示尽快入职和转正 3) 实习做了哪些模块,有什么挑战问题 4) 项目中的模块,你觉得你的难点真的算难吗 5) (1) 我们肯定希望流量越多越好,迫不得已才采用限流,兜底方案,现在假设你的链路中流量很大,不想让你做限流,你有什么办法扛得住;(2) ToC 场景下,现在大家都在接入大模型,但就像你说的,它的算力什么的就是瓶颈,在这种场景下你有什么解决方法; 6) 你在 Java 中常用的集合有哪些 7) 比如 ArrayList 中存了个数组,里面有元素的数据,如何识别出来重复的元素 8) 多线程安全问题的本质上原因是什么 我: 多线程同时修改一个元素吧 面试官: 这个其实不算本质,只能算现象,那为什么同时修改一个元素会有问题呢 我: 同时操作同一块内存地址 面试官: 再往下呢,为什么操作同一块内存地址会有问题呢 我: CPU 操作同一块内存地址有个先后,会导致数据覆盖问题吧 (现在想想感觉没答好,应该回答 JMM 模型这块的) 9) 闲聊,你觉得自己是个怎么样的人 10) 反问,面试官给我讲解高并发怎么看待和应对,互联网完整的业务理解,岗位的业务做什么 11) 再次暗示如果后面成功过了,一定要尽快入职,可以转正 (京东这么缺人吗😅) 12) 结果: 面完之后秒过,约了二面 美团 - 一面 没有特别投哪个部门,选的方向是都喜欢,被 CLC 核心本地商业捞了 面试官应该是入职之后的 mt,也特别的友好,氛围也很轻松,我真的很爱这种聊天式的面试,谁懂 😇 1) 实习主要做了什么(具体内容略) 2) 闲聊,现在投了几家了,情况怎么样,未来想在哪发展 3) 项目中涉及到大模型的是部分怎样的 4) 闲聊,平时编码的时候怎么用 AI 的呀,公司有用 Cursor 这种吗 5) 面试官: 感觉你的技术很丰富,就不想问你什么专业技能了,像什么事务,Redis 不问了 (我直接没绷住) 6) 不过你用过 ES,给我讲一下 ES 这块吧,为什么 MySQL 用的好好的要切到 ES 上呢 7) 实习和项目中有遇到过什么问题或事故吗 8) 外卖你肯定用过吧,打开之后会给你附近几百米的商家,你觉得它们底层是怎么实现的 9) GEO 数据结构的底层你了解吗(我还真没看过😭),如果让你实现你会怎么做 10) 闲聊,你平时是怎么学习的,对于 AI 你了解多少 11) 算法题 - 反转链表② (面试官直接说出个简单的吧,问我反转链表刷过吗😂) 12) SQL - 找一个表中出现次数为1的最大数 (忘了有 Having 子句了,面试官说没事没事,这种题无所谓) 13) 结果: 面试官说要等这批都面完,然后两天后通知过了,约了二面 淘天 - 二面 1) 实习相关(具体内容略) 2) 你刚刚有提到过 RPC,你有了解过 RPC 底层的原理和实现的要点吗 3) 让你自己去实现 RPC 框架你会怎么实现,刚刚提到的技术点你会怎么选 4) 你刚刚讲到了通信,Java 中你有了解过有几种通信方式吗 5) 你有了解过 Reactor 模型吗 (不会 😇) 6) 项目中的分表和 MQ 是怎么用的 7) MQ 的底层你有了解过吗 8) 你项目中是怎么用大模型的,你有了解过大模型现在的情况,以及在工程中有哪些应用有了解吗 9) 有了解过 AI Agent 这方面吗,有了解过 Transfomer 底层的框架,各个的环节在做什么吗 10) 你的项目中 ES 和 MySQL 什么情况下数据会不一致,怎么保证一致性的 11) 有个问题就是你这种方式不够实时,如果要做到实时的话有没有其他方案 12) ES 你了解的多深,介绍一下你的理解 13) 你项目中有遇到踩什么坑吗 14) 说说你目前实习的,当然是不敏感的,你做的项目相关的情况,背景,方案,职责,你的思考与落地 15) 你是怎么样快速学习一个技术并且上手的
淘天 - 一面 还是喜欢问的偏应用层的,整体都比较简单,我也比较了解,昨天那种偏 OS 的我真的会谢 👻 1 实习 (具体业务略) 1) 什么场景下要使用事务,事务使用的时候要注意什么点 2) 长事务到底是指什么,有什么问题,怎么避免长事务 3) 事务的原理是什么 4) 为什么深分页性能会比较差 5) LIMIT 100000, 10 在 B+ 树中是怎么具体执行的 6) 场景: 让你设计一个商家用户表,这个表数据量会比较大,读取会大于写入,会被其他服务使用,你会怎么设计 >> 我: (1) 索引 (2) 水平分表 + 垂直分表 (3) ES 异构数据 (4) 数据类型 (5) 读写分离 7) 你怎么区分常用的字段和不常用的字段呢,你为什么是根据查询的角度来考虑 >> 面试官: 你不应该根据查询的角度来考虑吧,应该根据写入的角度来考虑,经常修改的字段就会经常加锁,通过这个角度来进行拆分,常写的和不常写的,不能根据查询来分,今天读不到,那下次业务变化了,又读到了,这个表怎么迁移啊 8) 放 ES 查询有什么要注意的点 9) ES 查询和数据库查询有什么区别呢 10) 什么是读写分离,你了解吗 >> 我: 但是对于用户这种比较重要的,感觉必须读写主库吧 11) 那你区分这个重要和不重要,你怎么理解呢 >> 面试官: 所以根本上还是要根据你的使用场景对吧,比如说金额,必须要读到实时变化的,就要查主库对吧,从库和主库最大的不同就在于有延时和数据丢失 2 项目 1) 什么场景下用消息队列 2) 你大概知道 MQ 是怎么实现的消息发布和订阅吗 3) 多个消费者都要消费同一条消息怎么实现的,比如订单创建,有支付服务,履约服务会消费这个订单消息 >> 我: (这边我傻了,忘了有广播了) 4) 那让你来实现你怎么实现 >> 我: 消息中间件作为平台方,主动把消息推给他们 >> 面试官: 那你推送失败了,你怎么保证可靠性呢 >> 我: 分情况吧,(1) 消息成功送达,但是消费者消费失败,他们自己维护本地消息表,看每条消息的任务状态,开定时任务扫本地消息表,发现消费失败的消息作回捞重试,重试先用 CAS 看订单是否消费完成再重试,做一个 double check;(2) 消息没有送达到消费者,维护一个长连接,发消息给消费者之后要给我一个 ACK 回应表示收到,没回 ACK 就用指数退避重试,多次重试失败认为对方宕机,写入中间件维护的消息表,等对方上线之后再推过去 >> 面试官: 这些都是基于你的考虑,那比如说消费方每一个都是集群的环境,但是集群肯定只能一台机器收到一次消息嘛,你怎么实现这一点 >> 我: 他们自己内部做负载均衡 >> 面试官: 你的意思是消费者那边自己做路由吗,那岂不是太复杂了 >> 我: 有道理,那他们来我这做个服务注册,我维护个注册中心,我来做负载均衡 5) 大模型你认为怎么结合业务产生比较有价值的结果呢,从技术角度来考虑呢 6) 你知道限流的原理吗 7) 比如说实际的过程中,应用都是集群服务,都要加限流保护自己,不让上游服务过多调用自己,对于集群的限流你觉得怎么实现,因为你这些算法都是针对于单机的对吧 >> 我: 在网关层做吧,做个 mp := &map[key][]*model.machine{"1": {IP1, IP2, ...}, "2": {IP3, IP4, ...}},然后负载均衡到哈希的 key >> 面试官: 那你这样有很大的问题啊,这样就相当于你所有的服务上层都要架一个网关层才打到集群啊,有很多的缺点,有其他方案吗 >> (傻了,想不到解决方案) >> 面试官: 你刚刚也提到 Sentinel 了,是不是没有详细了解底层架构,可以去看看它的内嵌上报 8) 反向压力你怎么做的 9) 如果说消息中间件的堆积这种,你看过相关的知识吗,为什么会出现消息堆积 >> 我: 消费速度跟不上 >> 面试官: 你比如成熟的中间件怎么处理消息堆积的你知道吗,消息队列本身,不是从消费者出发 >> 我: 持久化吧 >> 面试官: 持久化是指全部写盘吗 >> 我: (两眼一黑,不知道怎么办) 开备用队列存放吗 >> 面试官: 还有别的思路吗 >> 我: (干沉默了,想不到解决方法) >> 面试官: 没事没事,这种属于那种偏实际的场景了,你可能接触不到这种 10) 给我讲讲什么场景用多线程,多线程要注意什么问题 11) 我看你用的是 Go,基本的 Java 你应该会写吧,Java 中有很多线程不安全的类嘛,你怎么解决这种问题呢 3 结果 面完之后面试官加了我wx,还是很开心的,但是没明确过没过,还没约二面 🙏 面试表现感觉比昨天好,而且也发现很多不懂的,下来去学一下 Sentinel 内嵌上报和消息队列中间件的消息堆积处理 🤡



