海外电商数字人团队一面
- 自我介绍
- 挑一个项目重点讲讲
- 实体数据存储也是用的MySQL吗,而不是那种图的数据存储?
- 你觉得通过这个项目,你最大的收获是什么?
- 能不能分享一些 golang使用上的经验,讲讲对比其它语言有什么优缺点
- 什么情况下比较推荐使用go里头的指针,什么时候不推荐用?
- 讲讲innodb存储引擎的特点
- 常见的索引类型有哪些?
- 代码题:leetcode.cn/problems/lo…
- 反问
3.20 二面
- 自我介绍
- 目前在哪?目前在职还是离职?什么原因找工作?之前有过晋升吗?
- 挑一个自己做的比较好的项目,从技术细节上展开讲讲
- 项目做完收益是可量化的吗,大概有什么提升
- MySQL中有哪几种锁
- 表级锁和行级锁有什么区别?从开销,性能上,会不会出现死锁等方面讲讲
- 4种事务隔离分别是什么,有什么区别
- 什么情况下设置了索引但无法使用
- MySQL分区表有用过吗,了解有哪几种吗
- 平时有分库分表吗,都是物理分表吗
- 一致性哈希的原理
- Redis常用的基本数据类型有哪些?
- Redis的过期策略
- Redis分布锁实现
- 高并发场景下,如何通过Redis的分布式锁避免缓存过期,出现缓存击穿和雪崩?
- 假设1000个请求同时过来,能不能在缓存快过期前,一个请求拿到分布式锁,去查DB更新缓存,然后其它999个还是返回缓存里头的内容,该怎么实现?
- 代码题:
使用两个协程并发交替打印
a1b2c3d4f5...
4.8 百度搜索阿拉丁团队一面
- 自我介绍
- 在工作中印象最深,最有成就感,或者收获很大的一件事(通过这个项目,当时遇到什么问题,你怎么去解决,收获到了什么)
- 代码优化完,性能开销、耗时大概提升了多少
- 第一次导出任务的耗时大概是多少,主要原因你认为是什么
- 导出的数据量有多大,说个最大的
- 这些数据是怎么取出来,从存储介质中一次性取出来load到内存中吗
- 这个公共组件的复用率如何,能完全复用吗,还是每次复用需要一定的改动成本
- 异步导出还是同步的,用户点击后是需要在那等吗
- 怎么保证一个用户正在下载,同时预导出的任务也正在导出,不会相互覆盖的呢
- 讲讲促销活动预算池这个项目(怎么设计实现)
- 超占是如何处理?例如 100w的池子实际用了 101w会发生吗
- MySQL的存储引擎有哪些
- InnoDB和MyISAM有什么区别,在选型的时候如何考虑?
- 例如建表的时候选择哪个存储引擎,基于什么考虑
- 如果现在表只用来记录日志,日志表应该用哪个好
- ES相比MySQL的优势是什么
- 为什么ES搜索更快
- 那你了解到哪些没有用倒排索引的
- ES新建的doc,立马去检索它,这个时候是查不到的,有遇到过吗,该怎么解决
- ES中一个数据从接口调用,到落盘,到最后检索出来,是经历了什么样的过程
- MySQL的主从延迟该如何解决
- MySQL的主从同步是如何实现的吗
- Redis的过期删除策略
- Redis基于内存存储的,假设内存只有一个G,当我们的数据快超一个G时,他的内存淘汰机制是什么
- Redis的常用数据类型有哪些,应用场景分别是什么
- 布隆过滤器了解吗
- kafka你们主要用在什么场景?
- 你觉得kafka为什么应用更广,它更适合什么应用场景
- golang中context主要是什么作用
- pprof怎么用的,你自己写一个接口,假设说接口耗时过长,占用内存过高,本地调试的时候怎么分析其性能?
- go的本地缓存和用Redis缓存有什么区别
- golang去做一些文件存储,本地缓存,是存在哪里的(package)
- 实现一个快排
- 算法题
找到两个字符串的最长公共子串
eg: 字符串1"abcdagh",字符串2"abfagh",最长公共子串是"agh"
4.14 二面
- 自我介绍
- 在这边是做了很多平台化功能建设的项目吗,spic是个平台还是什么
- 你觉得这个项目里头最大的技术难点是什么,你是怎么解决的
- 这个数据模型最后形成的是一种关系表的概念,还是一个大宽表?
- 标准化API调用底层是为了找什么,找一些核心业务数据的实体吗?
- 底层存储是用的什么数据库吗
- 在portal界面上的操作和实际产出结果的校验上,你做了哪些工作,为什么能保证它一定准确呢?
- 生成的多条路径是否都是准确的,提升准确率的手段你有涉及做吗?(其实就是在页面上选择了一些参数,生成检索条件,产出不同的路径,选择一条去执行)
- 一键生成调用代码,是通过AI工具,还是提前预制好的?
- 这个项目还有什么补充,有什么刚刚没提到的技术难点要展示
- 不管是连通性拨测,还是缓存TTL还是会存在数据时效性的问题,有没有可能通过别的方式来尽可能靠近实时?例如主动上报,数据实时推送。
- 假设你现在的场景对数据的实时性要求很高,有没有什么别的方式能让你的缓存感知得更敏感,缓存数据更加贴近最新数据,既能保证时效性,又能达到削峰的作用
- 了解过websocket吗
- 调用LLM去做AI assistant和case summary,这个里头是做了什么,具体展开讲讲
- Deepseek是用MoE的架构,你要做finetune,怎么做呢
- 对AI这块平时还有哪些使用场景,包括自己做过什么AI应用吗
- 你写prompt有自己的方法论吗,有没有一些自己的经验总结
- 工作流标准化是制定了一个流式处理的协议吗,自定义一个过程,流程上有很多算子,每个算子执行不同的功能,然后把它们串起来,再提供成一个SaaS平台,提供给相关人员使用是吗
- 有没有觉得这个SaaS相对太集成化了,太定制化了
- 计费团队期间你搭建的这个预算池模块的实现原理是什么
- 有没有涉及一些商业化和成本的控制,你是如何解决预算冲突的场景?如果预算分配的有问题,会导致成本支出非常庞大
- 介绍一下Open API网格搭建这个项目
- 鉴权,流量控制你是怎么做的
- 用Nginx做的流量控制,还是自己做的类似BFF模型
- 限流是在Nginx那层统一限制,还是在你这层也做
- 有没有遇到刷单这些攻击流量的场景
- 你这个app secret是固定的,还是会随着某种因子的变化而变化
- 会有一些基于指纹的认证吗
- 你有没有参与一些流量的指纹认证,或者一些反作弊的开发场景
- 限流,熔断机制你具体是怎么设计的
- 出问题熔断完了,是给上游下单请求拒绝掉,还是你们这边服务层会做一些切流,热点的打散之类的
- 你处理过的最大数据量的规模是多少
- 对于关系型数据库,你有过什么底层优化经验,或者你觉得优化关系型数据库的手段有哪些
- 在ES使用中,有没有KNN,Embedding模型的使用场景
- 消息队列的使用场景是什么?是定时任务去消费的,还是流式的(推完就有消费者处理了)
- 从你做过的项目里头,有一些提效工具,有一些稳定性建设相关的,你有没有考虑通过AI来解决,效率更高,效果不一定更差,从你的项目里头找一个适合用AI来解决的场景,从离线的设计(数据的存储,数据的整理),到在线的检索,做一个小型的AI应用
- 结合现在比较火的MCP(Model Context Protocol)去整合都可以
- 反问
4.15 三面
- 自我介绍
- 好像很多都是toB的业务,在C端业务上做过什么?
- 从你的认知上来讲,你觉得toB和toC在系统设计上的差距是什么?
- 从你们现在的设计来讲,大概是多少QPS,以及你们的机器是怎么部署的
- 找工作的原因
- 在过往的工作中有什么让你感觉比较困难的点,或者让你觉得不太能接受的地方?
- 介绍一下你在AI方面有过哪些经历,或有过哪些了解吗
- 对未来的工作城市有什么要求吗
- 对未来的职业规划,具体的业务方向选择上有什么想法
- 你对垂类搜索业务和AI Agent方面的兴趣如何
- 反问
5.22 百度国际化网盘一面
- 自我介绍
- 介绍最近一个项目
- 统一数据模型的用途是什么?
- 其它业务方接入,输入是什么,输出又是什么
- 有多少个产品接入了,QPS大概多少
- 介绍一下go里头的map数据结构
- 它的O(1)复杂度是怎么做到的
- 双倍扩容和等量扩容的触发时机分别是什么
- 假如有个方法接收了一个map,在方法内修改了,外部能感知到吗
- 如果是传入参数一个切片呢
- MySQL InnoDB存储的索引结构
- 算法题:对单链表排序(要求不能使用数组排序,不能任何用内部包的排序方法)
- 反问
7.2 百度搜索用增一面
- 自我介绍
- 你在过往的工作经历中觉得最难的是哪一部分
- 挑一个你觉得最难的项目讲讲,难在哪里,你是怎么解决的
- 你的这个系统是承接第三方的运单,那你做的是什么事情
- 你们会给他提供结算吗
- 订单轨迹回推是指的物流单的轨迹回推吗
- 你的稳定性设计保护的是虾皮自己的物流系统吗
- 你的轨迹回推是依赖承运商例如顺丰,EMS给你提供查询具体物流轨迹变化的能力吗
- 如果他们的服务挂了,你推送的时候总是收到一些失败的响应,你会怎么处理
- 假如说他们好几天都修复不完,那你们会怎么办呢
- 你们是怎么把这些待推送的轨迹事件存储起来吗,是怎么存的呢
- 持久化的是失败的消息,那成功的是没有存下来的吗
- 三方下的订单会存储在你们系统里吗,还是存储在你们内部其它团队的业务系统里
- 订单信息和回推失败的信息是存在一个库里吗,他们之前是怎么保持一致性的,如果你的订单轨迹推送成功了,但是你的订单系统里没有更新状态,你怎么快速发现?
- 如果说你推送成功了,你是先更新订单的状态呢,还是更新其它内容?他是不是涉及到多个库的更新,这多个库是怎么保证一致性
- 你更新多张表是一条SQL语句,还是不同的insert、update语句?
- 你们现在的订单量是多少量级
- 也就是说数据库的量还没有达到它的瓶颈?
- 你有了解过B+树有几层吗
- MySQL单表的索引上限是多少(主键索引只有1个,二级索引64个)
- MySQL的文档有看过吗,每个索引支持最多几个字段?(16个字段)
- MySQL的一张表支持最多几个字段?(1017列)
- 我看你的项目经历很少用到Redis是吧?
- 你们怎么做到Redis缓存和关系型数据库的数据一致性
- 假设我是一个电商平台,我的库存需要存在关系型数据里,也要存在Redis缓存里,按你刚才说的cache aside策略,先更新DB,再删除缓存,那当你未删除缓存之前,会出现短暂的不一致,这个期间新的请求进来会读到缓存旧值,这个你怎么解决
- 双11,库存扣减,用Redis承载读写请求,还是无法保证库存超发
- 代码题:盛最多水的容器
- 反问