2025.3.6 百度

256 阅读12分钟

海外电商数字人团队一面

  1. 自我介绍
  2. 挑一个项目重点讲讲
    • 实体数据存储也是用的MySQL吗,而不是那种图的数据存储?
    • 你觉得通过这个项目,你最大的收获是什么?
  3. 能不能分享一些 golang使用上的经验,讲讲对比其它语言有什么优缺点
  4. 什么情况下比较推荐使用go里头的指针,什么时候不推荐用?
  5. 讲讲innodb存储引擎的特点
  6. 常见的索引类型有哪些?
  7. 代码题:leetcode.cn/problems/lo…
  8. 反问

3.20 二面

  1. 自我介绍
  2. 目前在哪?目前在职还是离职?什么原因找工作?之前有过晋升吗?
  3. 挑一个自己做的比较好的项目,从技术细节上展开讲讲
  4. 项目做完收益是可量化的吗,大概有什么提升
  5. MySQL中有哪几种锁
  6. 表级锁和行级锁有什么区别?从开销,性能上,会不会出现死锁等方面讲讲
  7. 4种事务隔离分别是什么,有什么区别
  8. 什么情况下设置了索引但无法使用
  9. MySQL分区表有用过吗,了解有哪几种吗
  10. 平时有分库分表吗,都是物理分表吗
  11. 一致性哈希的原理
  12. Redis常用的基本数据类型有哪些?
  13. Redis的过期策略
  14. Redis分布锁实现
  15. 高并发场景下,如何通过Redis的分布式锁避免缓存过期,出现缓存击穿和雪崩?
  16. 假设1000个请求同时过来,能不能在缓存快过期前,一个请求拿到分布式锁,去查DB更新缓存,然后其它999个还是返回缓存里头的内容,该怎么实现?
  17. 代码题:
使用两个协程并发交替打印
a1b2c3d4f5...

4.8 百度搜索阿拉丁团队一面

  1. 自我介绍
  2. 在工作中印象最深,最有成就感,或者收获很大的一件事(通过这个项目,当时遇到什么问题,你怎么去解决,收获到了什么)
    • 代码优化完,性能开销、耗时大概提升了多少
    • 第一次导出任务的耗时大概是多少,主要原因你认为是什么
    • 导出的数据量有多大,说个最大的
    • 这些数据是怎么取出来,从存储介质中一次性取出来load到内存中吗
    • 这个公共组件的复用率如何,能完全复用吗,还是每次复用需要一定的改动成本
    • 异步导出还是同步的,用户点击后是需要在那等吗
    • 怎么保证一个用户正在下载,同时预导出的任务也正在导出,不会相互覆盖的呢
  3. 讲讲促销活动预算池这个项目(怎么设计实现)
    • 超占是如何处理?例如 100w的池子实际用了 101w会发生吗
  4. MySQL的存储引擎有哪些
  5. InnoDB和MyISAM有什么区别,在选型的时候如何考虑?
    • 例如建表的时候选择哪个存储引擎,基于什么考虑
    • 如果现在表只用来记录日志,日志表应该用哪个好
  6. ES相比MySQL的优势是什么
    • 为什么ES搜索更快
    • 那你了解到哪些没有用倒排索引的
    • ES新建的doc,立马去检索它,这个时候是查不到的,有遇到过吗,该怎么解决
    • ES中一个数据从接口调用,到落盘,到最后检索出来,是经历了什么样的过程
  7. MySQL的主从延迟该如何解决
  8. MySQL的主从同步是如何实现的吗
  9. Redis的过期删除策略
  10. Redis基于内存存储的,假设内存只有一个G,当我们的数据快超一个G时,他的内存淘汰机制是什么
  11. Redis的常用数据类型有哪些,应用场景分别是什么
  12. 布隆过滤器了解吗
  13. kafka你们主要用在什么场景?
  14. 你觉得kafka为什么应用更广,它更适合什么应用场景
  15. golang中context主要是什么作用
  16. pprof怎么用的,你自己写一个接口,假设说接口耗时过长,占用内存过高,本地调试的时候怎么分析其性能?
  17. go的本地缓存和用Redis缓存有什么区别
  18. golang去做一些文件存储,本地缓存,是存在哪里的(package)
  19. 实现一个快排
  20. 算法题
找到两个字符串的最长公共子串
eg: 字符串1"abcdagh",字符串2"abfagh",最长公共子串是"agh"

4.14 二面

  1. 自我介绍
  2. 在这边是做了很多平台化功能建设的项目吗,spic是个平台还是什么
  3. 你觉得这个项目里头最大的技术难点是什么,你是怎么解决的
    • 这个数据模型最后形成的是一种关系表的概念,还是一个大宽表?
    • 标准化API调用底层是为了找什么,找一些核心业务数据的实体吗?
    • 底层存储是用的什么数据库吗
    • 在portal界面上的操作和实际产出结果的校验上,你做了哪些工作,为什么能保证它一定准确呢?
    • 生成的多条路径是否都是准确的,提升准确率的手段你有涉及做吗?(其实就是在页面上选择了一些参数,生成检索条件,产出不同的路径,选择一条去执行)
    • 一键生成调用代码,是通过AI工具,还是提前预制好的?
    • 这个项目还有什么补充,有什么刚刚没提到的技术难点要展示
    • 不管是连通性拨测,还是缓存TTL还是会存在数据时效性的问题,有没有可能通过别的方式来尽可能靠近实时?例如主动上报,数据实时推送。
    • 假设你现在的场景对数据的实时性要求很高,有没有什么别的方式能让你的缓存感知得更敏感,缓存数据更加贴近最新数据,既能保证时效性,又能达到削峰的作用
  4. 了解过websocket吗
  5. 调用LLM去做AI assistant和case summary,这个里头是做了什么,具体展开讲讲
  6. Deepseek是用MoE的架构,你要做finetune,怎么做呢
  7. 对AI这块平时还有哪些使用场景,包括自己做过什么AI应用吗
  8. 你写prompt有自己的方法论吗,有没有一些自己的经验总结
  9. 工作流标准化是制定了一个流式处理的协议吗,自定义一个过程,流程上有很多算子,每个算子执行不同的功能,然后把它们串起来,再提供成一个SaaS平台,提供给相关人员使用是吗
  10. 有没有觉得这个SaaS相对太集成化了,太定制化了
  11. 计费团队期间你搭建的这个预算池模块的实现原理是什么
    • 有没有涉及一些商业化和成本的控制,你是如何解决预算冲突的场景?如果预算分配的有问题,会导致成本支出非常庞大
  12. 介绍一下Open API网格搭建这个项目
    • 鉴权,流量控制你是怎么做的
    • 用Nginx做的流量控制,还是自己做的类似BFF模型
    • 限流是在Nginx那层统一限制,还是在你这层也做
    • 有没有遇到刷单这些攻击流量的场景
    • 你这个app secret是固定的,还是会随着某种因子的变化而变化
    • 会有一些基于指纹的认证吗
    • 你有没有参与一些流量的指纹认证,或者一些反作弊的开发场景
    • 限流,熔断机制你具体是怎么设计的
    • 出问题熔断完了,是给上游下单请求拒绝掉,还是你们这边服务层会做一些切流,热点的打散之类的
  13. 你处理过的最大数据量的规模是多少
  14. 对于关系型数据库,你有过什么底层优化经验,或者你觉得优化关系型数据库的手段有哪些
  15. 在ES使用中,有没有KNN,Embedding模型的使用场景
  16. 消息队列的使用场景是什么?是定时任务去消费的,还是流式的(推完就有消费者处理了)
  17. 从你做过的项目里头,有一些提效工具,有一些稳定性建设相关的,你有没有考虑通过AI来解决,效率更高,效果不一定更差,从你的项目里头找一个适合用AI来解决的场景,从离线的设计(数据的存储,数据的整理),到在线的检索,做一个小型的AI应用
    • 结合现在比较火的MCP(Model Context Protocol)去整合都可以
  18. 反问

4.15 三面

  1. 自我介绍
    • 好像很多都是toB的业务,在C端业务上做过什么?
    • 从你的认知上来讲,你觉得toB和toC在系统设计上的差距是什么?
    • 从你们现在的设计来讲,大概是多少QPS,以及你们的机器是怎么部署的
  2. 找工作的原因
  3. 在过往的工作中有什么让你感觉比较困难的点,或者让你觉得不太能接受的地方?
  4. 介绍一下你在AI方面有过哪些经历,或有过哪些了解吗
  5. 对未来的工作城市有什么要求吗
  6. 对未来的职业规划,具体的业务方向选择上有什么想法
  7. 你对垂类搜索业务和AI Agent方面的兴趣如何
  8. 反问

5.22 百度国际化网盘一面

  1. 自我介绍
  2. 介绍最近一个项目
    • 统一数据模型的用途是什么?
    • 其它业务方接入,输入是什么,输出又是什么
    • 有多少个产品接入了,QPS大概多少
  3. 介绍一下go里头的map数据结构
    • 它的O(1)复杂度是怎么做到的
    • 双倍扩容和等量扩容的触发时机分别是什么
    • 假如有个方法接收了一个map,在方法内修改了,外部能感知到吗
    • 如果是传入参数一个切片呢
  4. MySQL InnoDB存储的索引结构
  5. 算法题:对单链表排序(要求不能使用数组排序,不能任何用内部包的排序方法)
  6. 反问

7.2 百度搜索用增一面

  1. 自我介绍
  2. 你在过往的工作经历中觉得最难的是哪一部分
  3. 挑一个你觉得最难的项目讲讲,难在哪里,你是怎么解决的
  4. 你的这个系统是承接第三方的运单,那你做的是什么事情
  5. 你们会给他提供结算吗
  6. 订单轨迹回推是指的物流单的轨迹回推吗
  7. 你的稳定性设计保护的是虾皮自己的物流系统吗
  8. 你的轨迹回推是依赖承运商例如顺丰,EMS给你提供查询具体物流轨迹变化的能力吗
  9. 如果他们的服务挂了,你推送的时候总是收到一些失败的响应,你会怎么处理
  10. 假如说他们好几天都修复不完,那你们会怎么办呢
  11. 你们是怎么把这些待推送的轨迹事件存储起来吗,是怎么存的呢
  12. 持久化的是失败的消息,那成功的是没有存下来的吗
  13. 三方下的订单会存储在你们系统里吗,还是存储在你们内部其它团队的业务系统里
  14. 订单信息和回推失败的信息是存在一个库里吗,他们之前是怎么保持一致性的,如果你的订单轨迹推送成功了,但是你的订单系统里没有更新状态,你怎么快速发现?
  15. 如果说你推送成功了,你是先更新订单的状态呢,还是更新其它内容?他是不是涉及到多个库的更新,这多个库是怎么保证一致性
  16. 你更新多张表是一条SQL语句,还是不同的insert、update语句?
  17. 你们现在的订单量是多少量级
  18. 也就是说数据库的量还没有达到它的瓶颈?
  19. 你有了解过B+树有几层吗
  20. MySQL单表的索引上限是多少(主键索引只有1个,二级索引64个)
  21. MySQL的文档有看过吗,每个索引支持最多几个字段?(16个字段)
  22. MySQL的一张表支持最多几个字段?(1017列)
  23. 我看你的项目经历很少用到Redis是吧?
  24. 你们怎么做到Redis缓存和关系型数据库的数据一致性
  25. 假设我是一个电商平台,我的库存需要存在关系型数据里,也要存在Redis缓存里,按你刚才说的cache aside策略,先更新DB,再删除缓存,那当你未删除缓存之前,会出现短暂的不一致,这个期间新的请求进来会读到缓存旧值,这个你怎么解决
  26. 双11,库存扣减,用Redis承载读写请求,还是无法保证库存超发
  27. 代码题:盛最多水的容器
  28. 反问