我的 2024 秋招&春招面经
随着我正式毕业,马上将成为一名崭新牛马,我暂时有时间来整理一下自己的秋招&春招面经了。大大小小 20 几轮面试后,暴露出了我最严重的缺点:对于自己的认知和能力过于自信(主要是认知)。这里我就不再对这些面试经历做一些主观评价了,单纯是一些客观的面试内容,希望能对各位有所帮助。
利益相关,关于字节跳动的相关内容不会给出细节
面试结果
公司 | 岗位/部门 | 进度 |
---|---|---|
字节跳动 | 部门 1 | ✔ OC |
腾讯 | 云架构平台 - 对象存储 | ❌ 录用评估挂 |
阿里控股 | 技术风险平台 - 可观测 | ❌ 二面挂 |
美团 | 本地核心商业 - 美团买药 | ✔ OC |
阿里国际 | AliExpress - 运营平台 | ❌ 一面挂 |
蚂蚁 | 蚂蚁国际 - 效能平台 | ❌ HR 面挂 |
阿里淘天 | 阿里妈妈 - 工程技术 | ❌ 二面挂 |
华为 | 华为云 | ✔ OC |
阿里淘天 | 业务技术 - 直播技术 | ❌ HR 面挂 |
腾讯 | WXG - 企业微信 | ❌ HR 面挂 |
字节跳动 | 部门 2 | ✔ OC |
关于我阿里云的转正 offer,可以参考我的 2024 暑期实习面经。
详细面经
字节跳动 部门 1
共三面,详内容细略
腾讯 云架构平台 对象存储
一面 - 2024-8-20
- 自我介绍
- 说说实习都做了什么
- 做题:对角线遍历
- 做题:编辑距离
- 做题:LRU 缓存
- 为什么需要链表?如果是双向链表有什么好处?
- 我希望 LRU 线程安全怎么做?(ConcurrentHashMap 实现 Map,并通过锁确保链表中删除和添加两个操作合并为原子化操作)
- 我希望持久化 LRU 缓存怎么做?(实现类似 MySQL 的重放日志,并做日志幂等和链表容量记录,防止无效日志过多)
- 2.5 亿整数中找到不重复的整数(分治,将 2.5 亿个整数分割成若干个小块,每块可以放入内存中)
- 使用分治法,如果某个小块里本身含有很多的不重复的整数,那么会造成迭代次数过多,你怎么解决?
- 你的方法迭代次数不确定,是否能让分治迭代次数更稳定?
- 如果你决定采用外部排序,说明你引入了额外的计算资源,如何更好得设计外部排序方式来节省你的计算资源?
- 如果最终不重复数据的数量仍然大于你内存的容量,你的方法还能行吗?
- (别问了,我投降 ┗( T﹏T )┛)
- 无反问,面试官说下一个候选人还等着呢。
(总计 90 min)
二面 - 2024-8-29
- 自我介绍
- 讲实习
- 讲开源
- 如何设计一个 CPU 密集型短任务的线程池
- 如何将 40 亿个整数存在 1G 内存中?给出计算过程
- 做题:IP 地址转整数,使用位运算
- 做题:给一张有向图的图片,现场写拓扑排序
- 反问:
- Q: 技术栈
- A: C++
- Q: base?
- A: 深圳
- Q: 业务?
- A: 对象存储 COS,竞品就是阿里云的 OSS
(总计 90 min)
三面 - 2024-9-6
- 自我介绍
- 做题:不使用
/
和%
的情况下,实现取模运算。另外,也不能使用循环减法实现。(难!没做出来,参考这个:https://www.cnblogs.com/yanye0xcc/p/13520964.html) - 做题:对于一个 int 整数,以 k 位为一组,实现组间反转同时组内不反转。仅使用位运算,不允许使用包括 String 在内的任何容器。(超时了…)
- 几乎无反问。(寄!)
(总计 90 min)
阿里控股 技术风险平台 可观测
一面 - 2024-9-4
- 自我介绍
- 做题:二叉树的序列化和反序列化
- 开源项目,深挖可观测部分
- 实习经历
- 无八股
- 反问:
- Q: 业务?
- A: 阿里除云以外的可观测中台
- Q: Base?
- A: 杭州
(总计 60 min)
二面 - 2024-9-13
- 自我介绍
- 开源项目,讲 SkyWalking PR 的源代码
- 实习经历
- 无八股
- 做题:交错字符串
- 反问:
- Q: 试用期?
- A: 3 个月
- Q: Base?
- A: 杭州
(总计 70 min)
美团 - 本地核心商业 - 美团买药
一面 - 2024-9-6
- 自我介绍
- 实习经历
- 讲讲大模型和医疗行业怎么结合?
- volitle 关键字的实现原理
- syncnhronized 关键字的实现原理和使用场景
- Rentrentlock 的实现原理和应用场景
- MySQL 的索引使用了什么数据结构?为什么不用 B 树?
- 主键索引和唯一索引有什么区别?
- 什么是幻读?怎么解决?
- MVCC 的实现原理
- 了解 Redis 吗?它为什么快?
- Redis 主要数据结构都有哪些?
- 场景题:微信朋友圈获取最近 3 天内最新点赞的头像,头像一次最多显示 10 个
- 做题:接雨水
- 反问:
- Q: 业务?
- A: 美团买药
- Q: Base?
- A: 北京
- Q: 面试流程?
- A: 两轮技术面
(总计 60 min)
二面 - 2024-9-10
- 自我介绍
- 实习经历
- 主键索引和唯一索引有什么区别?(看来上一面这个答得不好又问了一次 😓)
- 实习工作:做了什么项目、技术难点、线上遇到了什么问题、系统有什么改进的地方…
- 有什么职业规划
- 做题:24 点游戏(又一个 hard 😶)
- 反问:
- Q: Base 地?
- A: 北京成都,上海人比较少
(总计 80 min)
阿里国际 - AliExpress - 运营平台
一面 - 2024-9-12
- 自我介绍
- List 八股全家桶(实现原理、扩容、不同实现的时间复杂度)
- Set 八股全家桶(实现原理、应用场景)
- HashMap 八股全家桶(实现原理、应用场景、时间复杂度)
- 并发时用迭代器访问 HashMap 会出现什么问题?
- 红黑树和平衡二叉树的异同,实现原理分别是什么?
- 什么是轻量级锁和重量级锁
- CAS 实现原理及其应用场景
- 如何用代码实现死锁?
- 场景题:淘宝下单服务,需要调用 200 个 RPC ,RT 过高,怎么优化?
- 在 Java 中如何抛出 OOM ?
- MySQL 的关键特点是什么?
- 实习经历
- 求职意向
- 无算法
- 反问:
- Q: 是否需要倒时差?
- A: 只有大促时需要
- Q: Base?
- A: 杭州
(总计 70 min)
蚂蚁 - 蚂蚁国际 - 效能平台
一面 - 2024-9-14
- 自我介绍
- 介绍项目
- 反射的原理和使用场景
- ClassLoader 原理和类加载机制
- 分布式锁都有什么实现方式
- ThreadLocal 原理与使用场景
- 什么情况会产生 Full GC
- 频繁 Full GC 要怎么排查
- 有什么岗位期望?
- 遇到过最有成就感的事是什么?
- 遇到过最大的困难是什么?
- 无算法
- 反问:
- Q: 业务?
- A: 蚂蚁国际技术中台效能部门
- Q: Base?
- A: 杭州
(总计 60 min)
二面 - 2024-9-20
- 自我介绍
- 介绍实习经历,大模型相关
- 介绍开源经历
- 讲讲用过的设计模式和在项目里使用过的设计模式
- 了解岗位具体工作内容
- 无算法
- 反问:
- Q: 试用期
- A: 3 个月
- Q: 校招晋升
- A: 满一年
(总计 50 min)
三面 - 2024-9-30
- 自我介绍
- 介绍实习经历
- OAuth 2.0 鉴权逻辑
- 介绍开源经历
- 讲讲 Java 反射的原理和应用场景
- 场景题:实现三张数据表的数据同步和回滚(即如何用 Java 实现关系型数据库的事务)
- 反问:
- Q: 是否有时差问题?
- A: 基本没有
(总计 50 min)
淘天 - 阿里妈妈 - 工程技术
一面 - 2024-9-20
- 自我介绍
- 介绍实习经历
- 了解大模型的内部原理
- 线上出现 full gc 应该怎么排查
- 讲讲什么是分布式锁,如何实现?
- muti-agent 概念和实践
- CoT 的应用和对数据的影响
- 讲讲大模型在广告场景下的应用
- 做题:给出一个图,计算联通分量数量以及最大联通分量的节点数
- 反问:
- Q: 业务?
- A: 广告工程
- Q: Base?
- A: 北京杭州都有
(总计 60 min)
二面 - 2024-10-9
- 自我介绍
- 大模型 CoT 的原理和应用
- Mutil Agent 的优势是什么
- CPU 打满了有什么原因?怎么排查?
- 如何实现 Java 的协程模型?
- Java RenttrantLock 的实现原理
- 你有什么优势和劣势?
- 求职意向和手上的 offer
- 做题:最长连续序列
(总计 60 min)
华为 - 线下面试
(一面 50 min,二面 50 min,主管面 30 min)
淘天 - 业务技术 - 直播技术
一面 - 2024-12-9
- 自我介绍
- 介绍实习经历
- 介绍 Nacos 项目
- 讲讲 Spring AOP 和 IOC 的原理
- Spring AOP 是如何实现的
- 如何仅通过 Java 的数据结构,设计一个支持高并发、高命中率、限制内存占用、允许过期淘汰的缓存系统?
- 无算法
(总计 60 min)
二面 - 2024-12-11
- 自我介绍
- 介绍实习经历
- 场景题:如何实现微信运动排名
- 场景题:如何统计用户的 API 调用量和登录时间等信息
- 场景题:如何实现扫码登陆
- 无算法
(总计 30 min)
腾讯 - WXG - 企业微信
一面 - 2025-2-17
50 分钟内完成:
自我介绍
介绍 Skywalking 项目
讲讲协程和线程
操作系统是怎么实现锁的?
缓存一致性是怎么做到的
gRPC 和 HTTP 有什么关系?
gRPC 是怎么序列化的
HTTP 如何实现视频推流(不懂)
双亲委派模型是什么
讲讲类的加载过程
Java 反射时是如何加载类的(不懂)
Spring Boot Starter 是怎么加载的?(不懂)
Innodb 为什么使用 B+ 树
B+ 树虽然层数少,但每层节点中的数据量很大,为什么 Innodb 仍然采用它?
可重复读是怎么实现的?
TCP 序列号是如何防止回绕的?(解答见此)
SYN 序列号如何变化的?(解答见此)
对关闭的 TCP 连接发送 SYN 包会发生什么?(解答见此)
滑动窗口和拥塞控制分别是用来处理什么问题的?
反问:
- Q: 业务?
- A: 企业微信
- Q: Base?
- A: 仅广州
(总计 120 min)
二面 - 2025-2-19
40 分钟内完成:
将数组排序所需的最小交换次数
判断树的同构
仅使用 CAS 实现无锁并发的循环队列,单 push 线程多 pop 线程
自我介绍
介绍实习经历和难点
共享内存的原理和作用
设计题:100 万个 QQ 账号,每个账号 500 个好友,若 a 有 b 好友 b 没有 a 好友,称它们为脏数据。2g 内存前提下如何快速找到脏数据?
反问:
- Q: 作息?
- A: 10 - 10 - 5
- Q: 业务?
- A: 基于企业微信 Saas 平台做的业务
(总计 90 min)
三面 - 2025-3-4
一小时内完成:
- 问题 1
1 | 一、某个直播平台计划开发一个高热直播间监控系统 |
- 问题 2
1 | 二、工行有 30 万个员工,其工卡号码分别是 1~30 万,在接下来的某天他们将举行年会,需要抽出 10 万个员工发奖品。 |
- 问题 3
1 | 三、对于一棵满二叉排序树深度为 K,节点数为 2^K - 1 ;节点值为 1 至 (2^K-1)。 |
- 详细讲讲思路和时间复杂度
- 自我介绍
- 介绍实习经历
- 协程和线程的区别
- Protobuf 如何序列化和反序列化
- 常规反问
(总计 90 min)
四面(面委) - 2025-3-12
- 自我介绍
- 做题:
- 实现 Linux 控制台中展示字符串编码的能力
- 设计一个定时器,经度为秒级,可处理海量任务,单机、单线程实现,说出实现思路即可
- 讲讲 SkyWalking 项目中的难点
- 讲讲实习经历和遇到的项目难点
(总计 60 min)
字节跳动 - 部门 2
共三面,详内容细略
笔试
美团 - 笔试 - 2024-8-31
(90 min)
第一题 | 第二题 | 第三题 | 选择题(10 道) |
---|---|---|---|
100% | 80% | 0% | 10 道单选 |
蚂蚁 - 笔试 - 2024-9-1
(100 min)
第一题 | 第二题 | 第三题 | 选择题(15 道) |
---|---|---|---|
100% | 35% | 0% | 9 道单选,6 道多选 |
阿里控股 - 笔试 - 2024-9-7
(100 min)
第一题 | 第二题 | 第三题 | 选择题(15 道) |
---|---|---|---|
100% | 20% | 0% | 9 道单选,6 道多选 |
华为 - 笔试 - 2024-9-19
(120 min)
第一题 | 第二题 | 第三题 |
---|---|---|
22% | 100% | ?(提交了十次都没执行完,最后也不知道是几分) |