Системный дизайн на коленке: как быстро прикинуть нагрузку

Когда на собеседовании по проектированию систем вас просят "прикинуть на коленке" нагрузку или объём данных — это не про математику с тетрадкой. Это проверка того, как вы мыслите и умеете оценивать. Аналогичный кейс вы можете встретить в рабочих процессах, когда вы проектируете MVP решение в очень короткие сроки.

➡️ Зачем нужны такие оценки? Они помогают понять, потянет ли архитектура задачу и где узкие места. Это не точность до байта, а ориентир для решений.

➡️ Что стоит держать в голове Степени двойки: ➖1 Кб = 2¹⁰ байт ≈ 1000 ➖1 Мб = 2²⁰ ≈ 1 млн байт ➖1 Гб = 2³⁰ ≈ 1 млрд байт Эти приближения позволяют мгновенно оценивать объёмы.

Латентность операций: ➖доступ к L1 cache ≈ 1 нс ➖к оперативке ≈ 100 нс ➖поиск по диску ≈ 10 мс ➖передача пакета между датацентрами (Калифорния <—> Нидерланды) ≈ 150 мс. Разница между наносекундами и миллисекундами колоссальна. Память — быстрая, диск — медленный, сеть между регионами ещё медленнее.

Доступность (SLA) ➖99% аптайма = почти 3,5 дня простоя в год. ➖99,9% ≈ 9 часов. ➖99,99% ≈ 52 минуты. Чем больше девяток — тем дороже стоит инфраструктура.

➡️  Пример: MAX на салфетке У мессенджера уже 18 млн пользователей: ➖Допустим, 10% из них активны ежедневно —> 1,8 млн DAU (Daily Active Users). ➖Если каждый отправляет 30 сообщений в день, то это ≈ 54 млн сообщений в сутки. ➖Пусть 10% содержат медиа (фото/видео) по 1 МБ  —> ещё 5,4 ТБ трафика в день.

➡️ Советы ➖Не тратьте время на точные деления: 99987/9,1 упрощайте до 100 000/10 = 10 000 — и этого достаточно. ➖Записывайте свои предположения, чтобы не потерять логику. ➖Всегда указывайте единицы измерения: 5 — это Кб или Мб?

📌 Смысл в том, что важен не ответ, а процесс мышления. Умение быстро оценивать масштаб задачи показывает ваш опыт.

#it #аналитик #навыкАналитика #архитектура

Системный дизайн на коленке: как быстро прикинуть нагрузку | Сетка — социальная сеть от hh.ru