滴滴-两轮车事业部-高级后端研发岗-硬-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社招##滴滴面经##一面凉经##秒挂#
全部评论
这都挂…没hc吧应该
点赞 回复 分享
发布于 08-05 02:14 广西
一年的话可以问下楼主的学历bg吗,之前是在大厂吗
点赞 回复 分享
发布于 08-05 21:35 北京
海能达通信
校招火热招聘中
官网直投
能问下滴滴投简历到收到电话面试是几天时间啊?
点赞 回复 分享
发布于 08-10 10:01 江苏
楼主,挂了会发感谢信吗,我hr面结束了,不知道什么时候会有结果
点赞 回复 分享
发布于 09-03 15:45 北京

相关推荐

阿里巴巴控股集团智能引擎事业部是全集团最追求技术极致的团队之一,多年来我们一直聚焦于大数据领域的各种技术,提供业内领先的搜索、推荐、图计算、数据分析、时序监控及深度预测引擎。其中,存储服务团队常年立足于北京,持续深耕数据存储和索引技术,时刻拥抱最先进的各项数据引擎技术,包括搜索引擎、向量存储、KV存储、时序引擎、数据湖存储、图计算引擎等。我们已经开源业内领先的工业级搜索引擎Havenask(***********************************)。多年来,我们注重个人成长,追求技术极致。我们呼唤优秀学子加入,与我们一起成长。如果您将在2025年毕业,愿意和我们一起接受技术挑战,满足如下条件之一者,可以立即参加我们的秋招。1.喜欢参加各种编程比赛,在ACM-ICPC拿到区域赛银奖或金奖以上成绩。2.索引技术、数据湖存储、向量存储、分布式计算和存储技术、数据库、NoSQL、缓存技术、消息队列等底层方向的硕士研究生。3.参加过重大纵向科研课题的其他方向的本科、硕士或博士研究生,有A、B类会议或者权威期刊Paper发表者更佳,且不限计算机专业。4.在知名大型互联网公司或软件公司实习,参与后端系统开发,有生产应用价值的产出。或喜欢自己动手做底层方向的软件项目,并有真正价值的作品。5.对Pinecone、Milvus、Lucene、Elastic Search、Clickhouse、InfluxDB、Solr、HBase、LevelDB、RocksDB、Kafka、ActiveMQ、HBase、Kudu等某个知名的开源项目有比较深入的学习或研究。有兴趣的可以找我交流, 简历发送至 menglingda.mld@alibaba-inc.com  
投递阿里巴巴等公司10个岗位
点赞 评论 收藏
分享
2 8 评论
分享
牛客网
牛客企业服务