Plan
Last updated
Was this helpful?
Last updated
Was this helpful?
функциональные требования (что пользователь хочет от системы в виде сценариев, jobs to be done)
нефункциональные требования (главные архитектурные характеристики: sizing, rps)
выбрать правильный способ интеграции системы: files, DB, API, messaging.
if (API) REST?, RPC?, GraphQL, AsyncAPI
выбрать сети и протоколы (TCP, UDP)
Балансировщики нагрузки (nginx, HAproxy)
обрабатываемые сценарии
happy path. Read / write path
corner cases (когда части системы отваливаются). Уточнить на собесе что именно т до какой глубины здесь прорабатывать
проговорить логи, мониторинг, миграцию данных
TODO:
stateless / stateful нагрузки (как разделять?)
how to store documents in document oriented dbs
K/V, document oriented, column oriented, graph
по конкретным базам проработать
понять гарантии. Какой диапазон нагрузок они потянут. Дрифты часов
twelve factor app
как масштабировать stateless/stateful компоненты на чтение, на запись (с использованием оркестраторов, горизонтальное, вертикальное)
Важно:
задавать правильные вопросы
не комититься на задачи, которые не нужно решать
помнить о времени
не начинать проектировать сразу
делиться своими размышлениями на собесе
проявлять самостоятельность и проактивность в проектировании
реагировать на наводящие вопросы и уточнения
в конце спросить и почему вы именно эту задачу спрашиваете?
netflix
repeat relations in DB ( 1 to many, etc)
DDD
Entity-Relationship diagram
what is failure domains
partitioning vs sharding
for 10 euro here there are many of below systems designed
tik tok
twitter (Twitter timeline and search)
url shortener
uber
доставка еды
whatsup
tinder
Pastebin.com
web crawler
Mint.com
data structures for a social network
In details
key-value store for a search engine
Amazon's sales ranking by category feature
Dropbox
(good example )
Great youtube channel ;