Увидеть мир
Спарринг по проектированию систем
Заготовки, которые вы копируете и уносите куда угодно. Вставьте любую в большую модель — она станет интервьюером и проведёт вас по задаче по действиям, вместо того чтобы пересказывать ответ.
Пока эти заготовки есть только на 简体中文.
Как этим пользоваться
С чего начать
- Выберите задачу, откройте её и скопируйте заготовку.
- Вставьте её в новый пустой диалог — не в тот, где вы уже разбирали эту задачу, иначе модель пойдёт за старыми ответами.
- Ничего не пишите. Дождитесь первого вопроса.
Четыре слова, которые можно бросить в любой момент
跳过сразу перейти к следующему действию提示дать направление, но не ответ直说吧разобрать этот пункт целиком, а потом снова спрашивать про цену复盘сразу перейти к итогу и выдать карточку разбора
Три ловушки
- Не делайте две задачи в одном диалоге: контекст первой заставит модель заранее решить, какого вы уровня.
- Не ищите ответ сразу после вопроса. Тридцать секунд ступора — это уже полезная информация.
- Когда начнёт вас хвалить, отправьте её к пятому правилу: чувство одобрения заслоняет то, что вы упустили.
Порядок, который советуем: сначала тренировка по общим приёмам как проверка деталей, потом задача про короткие ссылки, чтобы освоить ход, дальше выбирайте по своему направлению, а задачу про свой проект делайте снова и снова.
Частые задачи
秒杀 / 限时抢购
一秒钟涌进来十万个人,只有一百件货。
支付系统
钱不能多也不能少,而第三方随时超时。
订单与库存(电商交易链路)
一条链路跨四个服务,中间任何一步都可能失败。
短链系统
最简单的一道,专门考基本功。
Feed 流 / 朋友圈 / 微博时间线
读扩散还是写扩散,以及那个有一千万粉丝的人。
IM / 即时通讯
消息不能丢、不能重,还要在三个端上一致。
排行榜 / 计数系统
ZSet 谁都会用,同分怎么排、亿级怎么算名次就不一定了。
优惠券 / 红包
发一亿张券,核销不能重复,拆红包不能多出一分钱。
通知与推送系统
多通道、有配额,还不能把同一条推两遍。
限流器
四种算法的临界问题,以及计数的那台 Redis 挂了你放还是不放。
大文件上传 / 网盘
分片、续传、秒传,以及回调凭什么可信。
附近的人 / 打车派单
这其实是两道题,很多人把它们混成一道。
定时任务调度系统
只执行一次,以及「该跑没跑」怎么发现。
评论 / 树形结构
三种树存储没有绝对优劣,所以得先问产品要什么。
Отдельные тренировки
通用模板:任何一道系统设计题
索引里没有的题,套这一份。
横切套路:第二层追问快问快答
专治「结论会背、推导讲不出」。
讲自己的项目
把「我做过一个 XX 系统」逼成三个数字 + 一个取舍 + 一个故障。