Системный дизайн на коленке: как быстро прикинуть нагрузку
Когда на собеседовании по проектированию систем вас просят "прикинуть на коленке" нагрузку или объём данных — это не про математику с тетрадкой. Это проверка того, как вы мыслите и умеете оценивать.
Аналогичный кейс вы можете встретить в рабочих процессах, когда вы проектируете 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 #аналитик #навыкАналитика #архитектура
Когда на собеседовании по проектированию систем вас просят "прикинуть на коленке" нагрузку или объём данных — это не про математику с тетрадкой. Это проверка того, как вы мыслите и умеете оценивать.
Аналогичный кейс вы можете встретить в рабочих процессах, когда вы проектируете 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 #аналитик #навыкАналитика #архитектура