背景: 19届双非本科,计算机科学与技术专业,目前主要是golang,广告方向,偏技术方向
最右(12月中 后台开发 offer)
数据库: mysql索引, mongodb和mysql索引的区别,给了条sql语句问索引怎么构建
golang: 切片和数组、map、gc、gpm调度模型等
其他:时间太久忘了,大概还记得这几个吧🤣🤣🤣🤣🤣
知乎(12月中 搜索引擎研发 一面挂)
基础:mysql索引相关,redis底层实现,golang基础,你们广告检索系统怎么做的,底层用的什么数据结构......
最后面试官说你们这个搜索和我们这个不太一样,然后就挂了
探探(12月底,二面挂)
数据库: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. 三次握手四次挥手
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
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) 回帖