滴滴秋招提前批 Golang后端 一二三面面经(已Offer)

1面(60min)

  1. 聊项目 15min
  2. golang多态 底层源码哪里用到了
  3. 介绍项目里的知识点
  4. 设计一个hashmap
  5. redis分布式锁如何实现看门狗
  6. 如何实现20个任务,最大协程数5,快速执行,且能够优雅关闭
  7. mysql死锁如何发生
  8. 算法:678. 有效的括号字符串
  9. 反问:业务,对自己的建议

2面(70min)

  1. 聊项目 30min
  2. 公司限流是集群限流吗
  3. 实习的太简单了 面试官就一直听我讲我的IM项目如何选型和设计的 以及目前的瓶颈
  4. idx: (b,a) select xx from xx where a > 10 and b < 10 会走什么索引
  5. context原理 聊源码实现
  6. 分布式锁
  7. 看一段golang代码有什么问题
func dfs(root *TreeNode, list []int) {
	if root == nil {
		return
	}
	dfs(root.Left, list)
	list = append(list, root.Val)
	dfs(root.Right, list)
}
  1. slice的底层字段有哪些 何时/如何扩容
  2. 工厂模式
  3. 算法:三个协程打印轮流123十次
  4. 反问:因为实习是tob,对于现在竞争者难以有优势,如何进行学习

3面(30min)

  1. 在公司里面是如何学习的
  2. 项目拷打5min
  3. RocketMQ你不是实现了延迟消息吗?延迟消息底层如何实现的
  4. RocketMQ可靠性如何保证的呢?
  5. IM项目里面Epoll的实现
  6. GMP模型
  7. 算法:链表环入口
  8. 反问:如何提升,应届生如何成长
全部评论
接好运
点赞 回复 分享
发布于 09-16 12:33 陕西

相关推荐

不愿透露姓名的神秘牛友
11-12 01:31
最右 后端开发 20x15 硕士海归
点赞 评论 收藏
分享
11-10 11:15
门头沟学院 Java
20min八股1.线程池介绍一下,核心参数2.拒绝策略有哪些3.主线程传递信息给子线程有哪些方法4.多个子线程对用一个变量注意什么5.怎么理解可见性,有什么应用6.有一个场景,我有多个子线程,我需要在所有子线程跑完之后在进行下一步操作,应该怎么实现7.场景:sql中有一个很大的表几千万行,我在查询的时候想查询第9999页的数据,怎么才能查的快一点?8.如果我有一个查询语句,在groupby里面有条件,我使用groupby的条件建索引会加快查询速度吗9.linux里面发现cpu占用率很高,应该怎么排查,用什么命令10.jvm里面发现oom了,怎么排查11.说一个实现分布式自增id的算法,知道雪花算法(好像叫这个,没听清,不会)吗?12.redis怎么保证与sql的一致性13.账号密码登录的时候怎么保证传输和存储的安全性14.对称加密有什么算法15.aes两种加密方式了解吗说一下16.sha算法和md5是怎么样的17.说一下sql注入吧,原理和预防做题&nbsp;10分钟智力题:两个水杯,5ml和2ml,需要量出4ml水,但是不能连续两次用用一个杯子手撕sql,表结构:name,course,score&nbsp;代表学生,课程名,成绩。需要查询出两门课程大雨80分的学生。(没撕出来,原地尴尬五分钟)手撕代码:链表判环。2min项目拷打20min1.先介绍一下自己的项目2.文件下载断点续传是有么,怎么做的3.用户认证怎么认证的,有用密钥吗,怎么保存的,用的什么加密,md5可逆吗,可重复吗4.鉴权怎么搞的5.统计信息怎么做的,现在是单节点,怎么做成多节点6.有结合ai做什么吗反问
点赞 评论 收藏
分享
头像 会员标识
11-24 17:07
已编辑
门头沟学院 后端工程师
1.项目里的Redis的旁路缓存模式,流程如何?能解决什么问题?(讲的有些模糊)追问:有了解延时双删除吗?(勉强答上来了)缓存和数据库已经不一致了,如何补救?(讲了Kafka异步补偿)2.Redis和CAS如何解决超卖?追问:CAS主要用了Redis哪些基础命令?(没答上来)3.Redis&nbsp;set怎么做一人一单?怎么做错误回滚?(回滚没讲出来)4.秒杀系统来了一万个用户,怎么扛住压力?(没讲出来)5.了解HTTPS吗?追问:客户端从验证数字证书到建立安全连接到流程?(没讲好)6.MySQL索引数据结构?追问:几种数据结构的优劣?B树和B+树的对比?(都讲出来了)7.SQL题:对于&nbsp;select&nbsp;*&nbsp;from&nbsp;t&nbsp;where&nbsp;a&nbsp;&gt;&nbsp;2&nbsp;and&nbsp;b&nbsp;=&nbsp;1;&nbsp;你会怎么建立索引?(一开始讲联合索引最左匹配,但是顶头就是范围查询直接失效了)追问:哪些场景索引会失效?(都讲出来了)算法题:力扣#146&nbsp;LRU缓存,不要直接用Java的LinkedHashMap这里手撕的不太好,虽然搓出来个能用的双向链表。反问:1.部门业务(广告投放相关)2.哪些讲的不好?答:八股基本没什么问题,一些数据库底层原理也都讲出来了;场景题需要加强,多把项目挖一下;算法尽量少用集合类去做。3.要不要学go语言?答:有时间可以看看,不过还是尽量先提高场景题和系统设计题。(面试官自己说不会专门问语言强相关的八股,比如HashMap底层原理,不会问这些)总结:面试整体体验很不错。面试官很有耐心,反问的时候也很详细的指出了我的不足,提了很多有用的建议。接下来重心可以放在场景题和系统设计题上;有些力扣还是要重写一下,不用集合API;有空还是看看go,不然go岗位上来打招呼都没法接。
查看13道真题和解析
点赞 评论 收藏
分享
评论
4
20
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务