首页 > 19届双非本科菜鸡社招面经(蚂蚁、滴滴、快手、图森、猿辅导)
头像
!?
编辑于 2021-04-29 11:02
+ 关注

19届双非本科菜鸡社招面经(蚂蚁、滴滴、快手、图森、猿辅导) 内部员工回复

背景: 19届双非本科,计算机科学与技术专业,目前主要是golang,广告方向,偏技术方向
准备过程: 12月初开始修改简历,花了两周多点的时间看了看面经和牛客网上的算法题

最右(12月中 后台开发  offer)

算法相关: 1. 层序遍历二叉树 2. 判断二叉树是否是镜像 二叉树,3.堆排
中间件: kafka丢失消息和不重复消费,redis底层数据结构实现,aerospike和redis的区别(架构、使用等)
数据库: mysql索引, mongodb和mysql索引的区别,给了条sql语句问索引怎么构建
golang: 切片和数组、map、gc、gpm调度模型等
项目: 项目详细过程、高并发限流、熔断等等等等
其他:时间太久忘了,大概还记得这几个吧🤣🤣🤣🤣🤣

知乎(12月中 搜索引擎研发 一面挂)

算法: 链表翻转
基础:mysql索引相关,redis底层实现,golang基础,你们广告检索系统怎么做的,底层用的什么数据结构......
最后面试官说你们这个搜索和我们这个不太一样,然后就挂了

探探(12月底,二面挂)

算法: 1. 对一个链表进行排序, 2.
数据库:mysql引擎知道哪些,有哪些索引,底层是怎么实现的
中间件: redis底层实现(这个地方两面都问了,问的有点深入)
golang相关
最后挂了,感觉也是答的不太好

猿辅导(12月底  斑马服务端offer 3+1)

内推简历免筛选

一面(12.23  50min):
1. 自我介绍项目相关
2. redis最常用的数据结构,说一下底层实现原理
3. 项目详细描述和提问
4. 算法,给n个数 1-n,随机n次,将这n个数输出
5. java和golang的一些共同点以及区别
6. 线程和协程的区别
7. io多路复用,selectpollepoll的实现和区别
8. 三次握手和四次挥手
9. 长连接和短链接(怎么实现的、区别以及应用场景)
提问环节:介绍了部门的一些情况和技术栈
第二天早上hr通知面试通过

二面(12.25 45min):
1. 自我介绍项目相关
2. kafka重复消费和丢失消息的场景以及解决方案
3. 三次握手四次挥手
4. 算法:计算二叉树所有左叶子节点的和
5. 算法:n对括号输出所有合法的情况
6. 项目相关
7. 提问
面完半小时hr反馈面试通过约了三面,疫情原因约了元旦后

三面(1.6 40min):
1. 自我介绍
2. 问项目相关
3. 算法: n个有序的数组合并成一个
4. redis使用和原理
5. 提问
面完下午hr通知面试通过,约了hr面

滴滴(offer 服务端研发  2+1+1)

一面(1.4  1h10min):
1. 自我介绍
2. 项目
3. 协程和线程的区别,内核态和用户态
4. GPM调度模型
5. b-tree和b+tree
6. 算法: 二叉树中序遍历,递归和非递归两种方式
7. kafka如何保证消息有序,消息的重复和丢失
8. i/o多路复用 select/poll/epoll
9. 三次握手和四次挥手
10. http和https的区别,https建立连接的过程
11. http1.1 和 http2.0的区别
12. 缓存和数据库一致性的问题
13. sync pool的实现原理
14. 有了解过php吗
提问环节
1h后hr联系面试通过

二面(1.5  40min):
1. 自我介绍
2. 项目相关以及为什么想要换工作
3. hash冲突解决办法,有什么弊端
4. map里面解决hash冲突怎么做的,冲突了元素放在头还是尾
5. 10亿的url去重怎么做
6. redis zset怎么使用的,底层怎么实现的,适用于什么场景
7. 你这边最早能什么时候入职
...
后面全程聊天了

下午hr通知面试通过
滴滴后面都是hr面

蚂蚁(面试已通过 等谈offer)

一面(1.3 45min):
先做了一道算法题: 单链表找到中间节点
1. 自我介绍
2. 详细介绍项目和提问
3. java和golang的一些通用的gc,内存,数据结构等对比
4.hashmap是线程安全的吗,会有什么线程安全问题
5. 提问,说完反馈面试通过

二面(1.5 1h10min):
全程围绕项目在问
最后比较详细介绍了部门做的一些事和一些面试反馈

三面(30min 1.14)
1. 自我介绍
2. 项目(包括设计、扩展性等,细节问的较多)
3. 设计一个秒杀系统
4. 讲一个最熟悉的数据结构
5. 提问
ps:三面面试官贼帅

快手(1月10   3+1+1 offer)

一面(1.10 35min)
1. 自我介绍
2. 聊项目
3. 算法: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。
4. golang和java的一些共同点和区别
5. 结束,面试官直接通知后面有二面🤣

二面(1.10  65min)
1. 自我介绍
2. 项目相关
3. jvm调参(直接说不会,主要语言用的golang)
4. while(tree) {sleep(1)}  这个会有什么问题
5. sleep底层实现原理
6. io多路复用 select/poll/epoll
7. redis怎么使用的,用了哪些结构,了解过实现原理吗(zset, hash),用过哪些api
8. golang协程介绍,包括实现、调度、和线程对比、内存等
9. 线上问题一般怎么排查,比如oom
10. 算法: 手写LRU,结构,增删改查
结束

三面(1.11 25min)
1.自我介绍
2. 为什么要换工作
3. 实现一个线程池,说原理和数据结构
4. 可重入锁
5. 算法: 层序遍历二叉树
6. 算法: 链表翻转,要求用java写🤣
7.对未来工作有什么考虑和想法
hr面

图森未来(1月中  3 3面挂)

一面(1.8 60)
1. 自我介绍
2. 聊项目
3. 算法:

输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。

输入: array = [-2,1,-3,4,-1,2,1,-5,4]

输出: 6

解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

4. 算法:

图森卡车进行的是仓到仓的运输工作,目前各个地区的仓库以及仓库间的高速公路组成了一棵树,卡车需要能够从任意一个仓库运输到另一个仓库。

卡车通过相邻仓库之间的高速公路需要用 1 个单位的油,求油箱需要设置多大才能满足运输要求(运输途中不能加油)

5. 算法:

给定 n 个算法训练任务,每个任务都要独占机器 1 小时。原来第 i 个任务应在第 i 小时开始做。由于突发情况停电了 k 小时,所有任务都要推迟,即时间区间从原来的 [1, n] 改为 [1+k, n+k] 小时。

但是第 i 个任务每推迟一小时就会损失 cost[i]。现在要对这 n 个任务重新调度顺序,要求不能原来开始时间更早,求最小的损失。


二面(1.11 1h10min)
1.自我介绍
2. 项目
3. sync pool底层实现
4. docker和虚拟机区别
5. k8s底层原理
6. linux文件系统
7. 网络七层模型和五层模型
8. 数据库索引
9. linux命令
10. 三次握手和四次挥手
11. http和https区别,https建立链接过程
12. http状态码相关
13. redis数据结构和底层实现

三面(1.12 1h10min)
全程聊项目

微软(三月底  6 4面挂)

面: hr聊天
二面: 电话面,主要是算法题相关。1. 判断回文数。2. 反转链表。 
三面: 实现一个hashmap,提供put/get的api,自己定义hash。项目相关
四面: k个一组链表反转,问络相关,项目相关。最后面试官反馈想找有机器学习背景的。
微软项目问的比较多,因为都是广告方向的

字节(三月底  3+1 广告offer)

一面: 最长单调递增子数组,二叉树交换左右节点,golang基础相关,redis相关,项目相关
二面: 实现LRU,redis以及kafka相关,项目相关
三面: 实现一个定时任务的调度器,项目,聊天
redis主要是会问底层结构zset & string,索引如何建立,单线程快的原因,epoll模型,集群部署一些高可用的问题
kafka主要是消息消费的常见问题,以及consumerGroup相关的东西


最终还是选择了字节,字节虐我千百遍,我待字节如初恋。哈哈哈哈哈哈哈哈

更多模拟面试

全部评论

(16) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐