滴滴后端一二三面面经
14:00到16:40,基本上每轮40~50分钟,面完10分钟面下一面
一面 40分钟
- 深入讲做过的一个需求。首先是介绍需求背景和系统架构,然后从业务的场景上问我包括服务的稳定性是怎么做的,服务采集了哪一些指标,如何做采集的。一些后台线程的任务是如何保证正常的执行,如果有异常如何感知。做这个需求对你业务的收益是什么,收益层面你会关注哪些指标(比如留存这些)
- redis数据结构
- go java redis中hash的异同
- redis集群,批量获取key会有什么问题;如果保证了相同业务场景的key都写入了一个主节点,这是再使用mget,会不会有什么问题;为了解决集群中批量获取的问题,应该怎么做?(没答好,我说用hash存保证相同业务的key在一个主节点,但估计不太对)
- 分布式锁zk实现
- 服务链路跟踪怎么做的,调用方可能是http和rpc,在做链路追踪上会有什么区别(没答出来,求大佬讲解)
- 做题:有序数组,保存的都是正整数,有一个数只出现了一次,其余数均出现两次,找到这个数。(二分)时间不够了,做出来没让运行,讲了下思路没问题就给过了
二面 四十分钟
- 还是聊实习做的需求,但这个面试官问的比较浅
- 之后基本八股杂谈。Redis网络模型、Kafka如何高可用、Go gmp模型、内核态用户态区别等等
- 两道算法:最长递增子序列和最长不重复子串
三面 五十分钟
1.上来做题:数据量很大的数组,内存存不下,要求按照数据出现次数倒序输出数组中的元素。代码实现并输出控制台。
一上来给我干懵了,一道大数据题我以为说说思路就行了,居然要手写MapReduce。(最后硬着头皮写,写到一半因为赛码调试太艰难了,问了一嘴能不能用自己的ide,被面试官批评,说代码能力不强,强的人肯定能写出来,无语…)最后还是顺利调通了,面试官让我讲讲思路就完了,也没看我结果正确性
开始问技术
2.mysql 给表添加新的列,底层如何做的?如果此时线上有读写,会出现什么情况?你有什么解决思路?
3.redis数据结构是怎么优化内存空间使用的
4.Go gc怎么做的
5.linux中操作系统怎么调度内核线程
6.了解哪些互联网技术开源框架
7.项目中有提到leveldb,讲了下leveldb底层怎么存数据的
三面基本上没有反馈,我回答完面试官就下一个问题,我也不知道回答的怎么样
祈祷一个hr吧
#滴滴##滴滴2024校招##面经#