滴滴

后端开发工程师一面面经

完整信息

47 条问法 · 46 道题

本篇目录
📍面试公司:滴滴 💻面试岗位:后端实习 面试时间: 8.27 请介绍一下你的纯 Agent 项目和实习经历。 你的第一个后端项目解决了什么业务问题? 这个项目为什么需要异步调度架构? 在只能使用本地低性能模型的情况下,如何保证任务处理效率? 异步任务执行失败或连接中断时,如何保证任务不丢失? Kafka 与 MySQL 在任务调度中的交互链路是什么? 为什么 Kafka 中只存储任务 ID,而不直接存储完整任务数据? 如何保证任务处理与数据库状态更新的原子性和一致性? 如何防止同一个任务被重复入队或重复执行? 乐观锁和任务 Token 分别解决什么问题? 自动重试机制是如何实现的? 哪些情况会触发任务自动重试? 实例宕机后,系统如何识别并恢复未完成任务? 异步任务的过期时间或租约时间如何设置? CAS 是什么意思? 文档并发更新时,使用哪个字段控制版本? 请举例说明两个线程并发更新同一文档时,乐观锁如何生效。 为什么选择乐观锁,而不是分布式锁? 什么是热点 Key? 热点文档频繁访问和修改时,乐观锁可能产生什么问题? 你的项目与市面上的成熟产品相比有什么差距? 这个项目是否完全从零开发? 项目开发过程中使用了多少 AI 编码工具? Elasticsearch 和 Redis 在项目中分别承担什么职责? Elasticsearch 的核心原理是什么? 什么是倒排索引? Redis 的 Key 过期机制是怎样实现的? Redis 如何存储 Key 的过期时间? Redis 的惰性删除和定期删除分别是什么? Redis 定期扫描过期 Key 时,会不会阻塞正常请求? Redis 清理过期数据时,如何避免锁影响正常请求? 缓存重建期间如何保证系统可用? Redis 中的 Key 是如何设计和组装的? Kafka 为什么具有高吞吐量? 除了分区并行消费,还有哪些因素影响 Kafka 的吞吐量? Kafka 如何保证消息不丢失? Kafka 的 acks 参数有哪些取值?分别代表什么? acks=1 和 acks=-1 有什么区别? Kafka 生产者端如何保证消息可靠发送? Kafka Broker 如何通过持久化和副本机制保证数据安全? Kafka 消费者端如何防止消息丢失? 为什么要关闭自动提交 Offset,改为手动提交? 消费任务执行和 Offset 提交的正确顺序是什么? 如何验证线程池参数是否合理? 如何使用 JMeter 对线程池进行压力测试? 为什么线程池中的线程数不是越多越好? 线程数量过多会产生哪些性能问题? 如何设计一个模块,支持用户上传包含大量 ID 的文件,并将去重后的 ID 导出到文件? 为什么可以使用数据库唯一索引实现 ID 去重? 除数据库唯一索引外,还可以使用什么内存数据结构实现去重? 为什么 Set 可以用于 ID 去重? 如果文件达到几十 GB,应该如何处理 ID 去重? 在不允许使用 Redis、Kafka等中间件的情况下,如何处理超大文件? 如何避免将几十 GB 的文件一次性加载到 JVM 内存? 如果核心需求是解析文件内容而不是存储文件,整体处理流程应该如何设计? 大文件解析时,如何进行分块读取、去重和结果输出? 你目前在哪里实习? 是否能够接受到北京工作? 大三期间是否需要长期在校? 能否长期全职实习?预计可以实习到什么时候? 🙌面试感想:尸体很舒服
本篇目录
  1. 01
  2. 02
  3. 03
  4. 04
  5. 05
  6. 06
  7. 07
  8. 08
  9. 09
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
    追问
    Redis 定期扫描过期 Key 时,会不会阻塞正常请求? > Redis 清理过期数据时,如何避免锁影响正常请求?
    上一问 ↑
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
    追问
    为什么要关闭自动提交 Offset,改为手动提交? > 消费任务执行和 Offset 提交的正确顺序是什么?
    上一问 ↑
  39. 39
  40. 40
  41. 41
    如何设计一个模块,支持用户上传包含大量 ID 的文件,并将去重后的 ID 导出到文件?
  42. 42
  43. 43
    追问
    除数据库唯一索引外,还可以使用什么内存数据结构实现去重? > 为什么 Set 可以用于 ID 去重?
    上一问 ↑
  44. 44
    追问
    如果文件达到几十 GB,应该如何处理 ID 去重? > 在不允许使用 Redis、Kafka等中间件的情况下,如何处理超大文件? > 如何避免将几十 GB 的文件一次性加载到 JVM 内存? > 如果核心需求是解析文件内容而不是存储文件,整体处理流程应该如何设计? > 大文件解析时,如何进行分块读取、去重和结果输出?
    上一问 ↑
  45. 45
  46. 46
  47. 47
    大三期间是否需要长期在校? > 能否长期全职实习?预计可以实习到什么时候?

相关公司