滴滴-两轮车事业部-高级后端研发岗-硬-7.30

alt

  1. 面试官介绍面试流程(项目+技术+算法)
  2. 自我介绍
  3. 项目讨论(在过去两年的工作和实习中,任何一个项目任何一个技术点都可以,找一个你觉得是有一定技术挑战的一个点拿出聊一下吗,你需要描述一下他的难点在哪里,你的解决思路和解决方案是什么,最终取得了一个怎样的收益)
    1. 基于Redis+定时任务的卡池缓存
      1. 几十张卡量比较小,直接读数据库不能满足你们的要求吗?为什么一定要刷到内存里面的呢
      2. 服务启动的时候init函数的操作是把db里面的数据初始化到内存里面,后面就是更新和新增的卡怎么及时刷到内存里面,用redis的发布订阅。为什么不用go自带的channel功能来实现这个刷新而是用redis
      3. 为什么用redis 的发布订阅而不是监听一个binlog,增加和更新卡的时候,是不是监听binlog来更新更合理一些?你们公司有相关的技术中间件吗,通过监听binlog来刷到内存或redis
      4. mysql的binlog有了解吗
      5. 通过redis 的发布订阅来把数据的一些变更重新refresh到内存里面,现在有两个数据,一个内存的数据,一个db的数据。如果有两个数据需要考虑数据不一致的问题,比如发布订阅中间出现了异常,数据库更新了,但是内存没有刷新,两边的数据不一致你们是如何监控和解决的。(我的回答:定时任务,30分钟一次)
      6. 这个30分钟是怎么拍出来的,如果redis没监听成功,那这30分钟内都有可能数据不一致,这30分钟是能容忍的吗?
      7. 比如说现在抽了一个高级卡,现在需要把高级卡下掉,这步操作呢又没有refresh到内存里面。相当于30分钟之内用户还是能抽到高级卡,这段时间的数据容忍性怎么拍出来的?还是说业务能接受,有没有什么指标来衡量这个30分钟,20分钟,或者5分钟,这个意思。
      8. 用户抽卡和用户核销卡是隔离的还是耦合的?比如用户抽了一张卡a,还没有用,后续你们gm后台对这个a卡进行了编辑或者说下卡,那这个a还能用吗?
      9. 不能用,那用户肯定要投诉了
      10. 那该怎么实现这个下卡功能,老用户抽到卡下了还能继续用
      11. 团队几个人,包括toc和tob,你现在主要是toc还是tob?
  4. 技术知识
    1. defer应用于哪些场景,解决哪些问题,常用它做什么
    2. defer他的一个实现的原理有看过吗,怎样的一个结构
    3. 多个defer他的执行时机和执行顺序是怎样的
    4. 场景:使用defer去recover panic的时候,有这么一个场景,比如说有一个协程a,在a中开辟了一个新的线程b,相当于a是b的一个父线程。这个时候在a的线程里面设置了一个defer去recover panic,b协程是没有recover panic 的。
      1. 有两种场景,第一种场景是当a协程在后续的执行过程中出现了空指针也就是触发了panic,这个时候我的这个进程会不会异常重启,这个panic能不能被捕获到?
      2. 如果b协程没有recover panic,然后b协程触发了panic,b协程会退出,a协程不会退出是吗,还是说整个进程都会重启
    5. map
      1. 是读写安全的吗
      2. 想并发的去读写一个map该怎么做呢
      3. sync.Map的底层实现有看过吗
      4. map的数据结构有看过吗,怎么实现的一个原理
      5. map有一个has桶,会有hash冲突,go 的map是如何解决hash冲突的
      6. 溢出桶
      7. 扩容问题,什么情况下会扩容,扩容的机制是怎样的,有几种扩容方式
      8. 等量扩容跟溢出桶相关了,是什么情况下会触发
    6. mysql
      1. 两个概念,聚簇索引和非聚簇索引,这两个概念分表是代表什么样的含义,他们在数据的组织形式上有什么差异
      2. 使用非聚簇索引进行查询数据的时候一定会发生回表吗?什么情况下可以不回表
      3. 场景:有一个表,很多字段abcdefg,组成一个联合索引abc,查询语句是select * from table where a = ?;这个时候会不会发生回表,abc都是不主键。这个查询语句会覆盖索引吗
  5. 算法
//1. 给出一个长度非空的整形数组,元素值先递增后递减,找出数组中的最大值
//eg: []int{1, 2, 3, 4, 6, 3, 1} 输出6
//eg: []int{1, 2, 3, 4, 6} 输出6
//eg: []int{6, 4, 3, 2, 1} 输出6
  1. 方法1:遍历,时间复杂度O(n)

  2. 方法2:双指针,logn

  3. 反向QA

    1. 滴滴新成立的一个部门,机票火车票旅游酒店租车主要这么几个业务线,我们组是负责租车的
    2. 技术栈,go语言,mysql,redis,kafka,MQ等
    3. 面试官评价:不用紧张,刚毕业一年,感觉是一个比较有激情的一个同学,总体感觉还行,负责的内容也挺多,tob和toc都有涉及,自己负责的也比较多,比较能干的,负责的东西很多,也要注意一下沉淀。第一个问题的比较有技术难点和挑战点的这些东西都要沉淀下来,其他的都还行。
    4. 两个小时后感谢信...

几乎全回答出来了,还是秒挂,秒挂是真的太打击自信心了,真有点不想面了,答不出来挂,答得出来还是挂,连个二面都进不了,社招想进大厂就这么难吗

#滴滴##Golang社招##滴滴面经##一面凉经##秒挂#
全部评论
我也面了这个,问题基本一样😂。多问个mvcc跟一些redis
点赞 回复 分享
发布于 2024-10-21 23:40 广东
楼主,挂了会发感谢信吗,我hr面结束了,不知道什么时候会有结果
点赞 回复 分享
发布于 2024-09-03 15:45 北京
能问下滴滴投简历到收到电话面试是几天时间啊?
点赞 回复 分享
发布于 2024-08-10 10:01 江苏
一年的话可以问下楼主的学历bg吗,之前是在大厂吗
点赞 回复 分享
发布于 2024-08-05 21:35 北京
这都挂…没hc吧应该
点赞 回复 分享
发布于 2024-08-05 02:14 广西

相关推荐

我的秋招是从九月初开始投递的,大概分三个阶段:前期投着试试水、中期冲刺心仪公司、后期寻找新机会,这三个阶段。前期投着试试水阶段:1.用友网络,测试开发高潜岗位,由于这个公司在北京,岗位距离较远,当时也不懂高潜是多高,所以抱着试试看的心态投递了这个岗位。结果:了无音讯。2.创维,测试开发岗位,投递后大概马上就有测评,测评完一礼拜内就面试了,还记得面试官在一个宾馆里进行的视频面试,简单的自我介绍后问了一些现在看来很基础的八股文,没有手撕代码,反问阶段我记得问了面试官评价我的表现,他说“你是不是对自己的表现还挺满意的”,当时不知道他这么说是好是坏,半个月后发现给我发感谢信了,那可能就是不咋满意吧,或者是有什么其他的考量。 结果:一面挂。3.小米,测试开发岗位,一二面之间隔了一个月,二面后也没有hr面,直接就发offer了,根据我的意向调整到了离家近的base,面试体验比较温和,但是周期长,没啥议价空间,总体体验可以给一个人上人。4.高德地图,测试开发岗位,测评还没来得及做,第二天就打电话约面试时间,约完又说我没做测评,把我鸽了,感觉流程乱乱的,给个npc得了。5.饿了么,测试开发岗位,调剂到客户端开发去了,后续我取消面试了。。6.得物,测试开发岗位,简历筛选很慢,但是面试推进很快,面试官礼貌专业,结果:一个月后offer。7.海康威视,测试开发岗位,面试时间很短,十来分钟吧,面完隔了一个月左右线下hr面,hr面还是很专业的,hr面完后两三天就发offer了。8.恒生电子,测试开发岗位,一面大概也是十多分钟,大体了解了一下个人情况以及对公司的了解,专业知识问的比较少但还是有问的,二面是主管和hr一起面试,表达了对公司的意愿强以及对公司比较了解和认可。一礼拜多点也发offer了。9.传音,测试开发,面试出乎意料的有点仔细,二面遇到的面试官专业知识问的很细,还会给建议,让我多了解一下这个公司。面完后收到电话确认发offer,第二天谈薪资,薪资上的组成有点车轱辘话,并且可能在重庆,给的很少很少,还好我提前有准备,再看看其他机会。中期冲刺心仪公司阶段:10.腾讯ieg,测试开发岗位,可能之前鸽了提前批二面有点影响,也可能是我菜了,就没啥回应。但是提前批面试总体来说感受非常好,由于我没有手机支架,也不知道是双机位,就直接上了,面试官见状也给我温馨提醒,再通过邮件确认确实没有告知我需要双机位,但他说不重要,直接开始面试了。面试上来是做了两题还是三题编程题,做了二十分钟左右还在做第二题,就让我讲一下一二题目的思路和结果,就没让我继续做第三题了。后续问的问题完全是围绕场景和业务来展开,就没什么八股问我,而且会反复引导我,让我多说一点。能感受到他不是要我的答案,而是全方面考察我个人的抗压能力,以及思考的逻辑性以及严密性。第二天就约二面了。但我由于一些其他情况就让hr给我终止流程了。终止完后一面面试官还打我电话,我前几个没接到,后来才发现打了三四个电话,电话他还以为是hr搞错了,叫我继续再聊聊,看得出来面试官是真的很专业和负责。点赞腾讯。11.美团,测试开发岗位,投递的比较晚了,全给我挂了,都没摸到面试的边。12.滴滴,测试开发岗位,一口气面三轮在同一个下午,一面面试官随和中带着认真,问的问题大多和简历相关,而不是公式问题,说错几个问题也没关系,可能在乎的是全面的能力。二面我个人感觉发挥的比一面出色,但可能不符合胃口吧,匆匆结束了。13.taptap,测试开发岗位,这是一家精品公司,属于心动旗下,规模不大,但是很不错。一面是hr面,正常hr面的流程,第二天约了主管面试,感觉没发挥好,还是挂了。14.大疆,测试开发岗位,简历挂15.momenta,测试开发岗位,简历挂后期寻找新机会阶段:16.快手,测试开发岗位,一二面就是隔天面的,推进很快,一面面试官很年轻谦虚,除了手撕和常规的问实习,就没说明多余的环节了,气氛融洽,不压力。三面就是属于主管吧,问的会更业务一些,比如说对比各个类似平台,我的看法是,我的见解是,都存在什么问题,如何解决呢? 类似这些。这类问题的回答往往需要提前预判,比如说可以看看dy和快手的受众区别,本地生活业务的侧重点以及关于这些平台的新闻时事的见解,说的专业些,让面试官觉得你既有专业的角度,又有业务的思考和看法就很加分。结果:offer17.米哈游,测试开发岗位,有史以来最最压力的一次面试,80分钟左右的时间内问了三四十个问题,一个问题回答完,非得再追问,还有没有其他角度,还有吗?还有吗? 这可能是在压力面吧。结果让我震惊的是,上xhs一搜面筋,发现有一个人问的问题和我几乎一模一样,顺序也一样,数量也一样,手撕还包括sql题,一共三题,也一样说是。结果:一面挂。让人很难受来着。 好在面试的时候我已经有了心仪的offer,不然真得被问晕过去。18.字节,测试开发岗位,机会来得太晚了,当时已无心面试了,就推掉了。19.库洛,同上。20.还有一些补招的的面试,都没心思准备了,忙着毕业和玩去了。测开面试的准备就是:掌握扎实的测试理论知识和工具使用,两到三段对口实习经历用来增强自己对于业务的理解和真正上手业务测试,在测试中思考提高效率的手段,写写自动化脚本,搭搭自动化框架,与时俱进结合ai发展提升自己的能力。最重要的就是理解业务,成为懂技术的业务大佬。加上细心和耐心。基本就可以去面试了,多尝试机会,多面面,机会就大些。 好运来~
我的求职进度条
点赞 评论 收藏
分享
评论
3
16
分享

创作者周榜

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