2024-09 秋招滴滴一面(50min)
补发一下之前秋招的面经,涨点经验,毕业就待米了
,希望能变成红名大佬
,滴滴一天连续三场面试(10 点到 14 点,饭都没吃),隔了几天挂掉了,面试过程压力好大,不问八股的
。
其实这三场都是全问项目+实习+场景题,但是用 deepseek 优化了下描述,变得通用一些。
一、项目经验与系统设计
- 请分享你在技术面试中的自我介绍思路,重点说明如何突出技术亮点?
- 能否以你主导或参与的一个项目为例,阐述其业务背景、核心解决的问题,以及技术方案中的关键挑战?
- 在分布式系统中引入消息队列(MQ)通常为了解决哪些问题?结合你的项目说明其必要性。
- 有人提出用异步线程替代MQ实现解耦,这种方案的潜在风险是什么?如何权衡选择?
- 消息队列选型时主要考虑哪些因素?以RocketMQ为例,它的核心设计理念是什么?
二、缓存与数据库设计
- 项目中如何制定缓存策略?哪些场景适合用缓存?缓存穿透/雪崩如何应对?
- 是否所有数据都应缓存?如何判断数据是否需要缓存?缓存更新策略如何设计?
- 分布式锁的实现方式有哪些?以Redis为例,如何保证锁的原子性和防误删?
- Redis实现分布式锁时,Lua脚本相比普通命令调用的优势是什么?请用伪代码说明防误删逻辑。
三、高并发与限流
- 高并发场景下,如何设计流量控制机制?Sentinel中常用的限流算法有哪些?
- 令牌桶算法的核心原理是什么?如何设计一个分布式的令牌桶限流服务?
- 实现分布式限流时,如何避免依赖异步线程维护令牌?关键数据结构如何设计?
四、扩展思考
- 在系统设计中,"削峰填谷"有哪些常见手段?MQ在其中起什么作用?
- 如果让你重新设计一个高并发系统,技术栈选型会关注哪些指标?(可结合Redis/MQ/DB等展开)
面完 5 分钟发了二面邀请。
#Java##软件开发笔面经#后端开发笔面经 文章被收录于专栏
主要收录一部分我的笔试面试经历文章,欢迎订阅。