校招面经 - 滴滴提前批 - 后端 (已意向)

时间线:8.14(一面、二面)- 8.21(三面) - 9.14(意向)

吐槽:理论上应该一个下午面完,但三面面试官有事鸽了我两次!!三面其实回答的不太好,题目也做的不太好,而且面完一直杳无音信,官网查不到状态,以为早就挂了,没想到突然意向了。

一面(45m)

实习相关:

  • 简单介绍
  • 难点是什么(业务复杂度)
  • 服务端稳定性如何支持?各方面怎么做的?
  • 可观测性
  • 基于稳定性指标优化
  • 通用优化
  • 尖刺导致下游打崩如何处理
  • 扩容
  • 限流

Go 八股:

  • return 时,如何考虑使用指针还是示例
  • golang gc 的时机(内存使用到达一定比例时)
  • golang 的多线程优点
  • 可增长栈
  • M:N 调度
  • 为什么 M:N 调度既有全局队列又有本地队列?
  • 避免竞争(加锁劣化性能)

数据库八股:

  • B+ 树的特点

题目:

  • (要求用 Go,偏工程)对一个很大的一维数组求和,但是要多线程加速,且每个线程不超过 2 s。
  • 根号分块,然后 sync.Wait 即可。超时控制通过 time.After。

二面

忘了录音。

面试官挺厉害的,不仅听懂了我的项目,还提了我没想到的方案优缺点,对我很有启发。

三面(1h6m)

实习相关:

  • 介绍项目一(背景、目标、个人工作)
  • 框架(原状、对比方案)
  • 为什么叫框架,内部是有什么架构设计?
  • 介绍另一个项目(filter)
  • filter 看着当前有些问题,如果让你实现会怎么做?
  • CPU 上涨,怎么处理?
  • 一次 RPC 请求中,超时怎么判断是哪个部分的问题,客户端问题、服务端问题、网络抖动问题?

C++ 八股:

  • 引用计数场景,怎么保证线程安全?答了 CAS,查了下 C++ 的 atomic 应该是通过硬件原子指令(包括 CAS )

题目:

  • 单例模式 + lazy init + 线程安全。
  • 司机 - 订单匹配。多个司机 D1 D2 等,多个订单 O1 O2 等,给出多个边,比如 D1 - O1、O3 (给司机1分配订单1和3)的价值分,求最大匹配。
  • 回答:一个非常鬼畜的题目。如果是一对一的边,那就是经典二分图最大匹配,可以用匈牙利解法直接解,可惜不是。最终给了个 dfs 暴搜做法。
  • 反问:一个低复杂度做法是整数线性优化 ilp,但比较复杂,不要求面试中写出来,面试更多看数据结构、逻辑思路、代码风格。
  • 吐槽:整数线性优化 ilp 是一个 NP-hard 问题(指数复杂度),哥么你都三面面试官了,这么技术的嘛。。。

#牛客创作赏金赛##牛客在线求职答疑中心#
全部评论
请问什么时候意向的呀
点赞 回复 分享
发布于 09-23 09:21 上海

相关推荐

1 7 评论
分享
牛客网
牛客企业服务