Що таке system design інтерв'ю і навіщо воно потрібне
System design інтерв'ю — це формат технічної співбесіди, на якому кандидату пропонують спроєктувати систему за розпливчастою умовою: наприклад, «спроєктуйте сервіс коротких посилань» або «як би ви побудували стрічку новин для мільйонів користувачів». Перевіряється не ерудиція щодо інструментів, а інженерне мислення: уміння декомпозувати задачу, розставляти пріоритети й пояснювати рішення.
Чим це відрізняється від coding interview
Coding interview оцінює коректність алгоритму та якість коду. System design оцінює архітектурні рішення: як зберігати дані, як масштабувати читання, що робити при відмові вузла, де вузьке місце. Тут немає єдино правильної відповіді — є обґрунтована й необґрунтована.
Кого запрошують на такі інтерв'ю
Зазвичай system design з'являється на позиціях middle і вище: backend-розробники, full-stack, platform-інженери, SRE, техліди й архітектори. На junior-позиціях частіше обмежуються алгоритмами та питаннями про мову. Якщо ви цілитеся в команду з реальним навантаженням, готуватися варто заздалегідь — дивіться руководства по карьере та обзор зарплат по ролям.
Структура відповіді, яку очікують інтерв'юери
Сильна відповідь майже завжди йде однією й тією ж послідовністю: уточнення, оцінка масштабу, високорівнева схема, деталізація компонентів, вузькі місця та компроміси. Якщо кандидат починає малювати бази даних на першій хвилині — це тривожний сигнал.
Крок 1. Уточнювальні питання
До будь-яких рішень треба звузити задачу. Запитайте про функціональні вимоги, нефункціональні (затримка, доступність, консистентність) та обмеження за ресурсами. Хороший набір уточнень звучить так: скільки користувачів, яке співвідношення читання й запису, чи допустима eventual consistency, чи є вимоги щодо георозподілу.
Крок 2. Оцінка масштабу
Далі прикидка обсягів: скільки запитів за секунду, скільки даних за рік, скільки місця під зберігання та кеш. Точність не критична — важливо показати, що ви вмієте рахувати порядок величин і що архітектура обирається під цей порядок, а не навмання.
Крок 3. Високорівнева схема
Намалюйте клієнта, балансувальник, сервісний шар, сховище, кеш, чергу та зовнішні залежності. Проговоріть потік даних: як запит потрапляє в систему й як повертається відповідь. На цьому рівні важливіша ясність, ніж деталі.
Крок 4. Деталізація та компроміси
Потім заглиблюєтеся у два-три вузли на вибір інтерв'юера: схема даних, шардування, реплікація, стратегія кешування, ідемпотентність, ретраї. Щодо кожного рішення одразу називайте альтернативу й ціну: що виграли, що втратили.
Типові кейси й що в них перевіряють
Набір задач повторюється від компанії до компанії: короткі посилання, стрічка, чат, rate limiter, платіжний шлюз, файлове сховище, пошук, нотифікації. Сенс не в тому, щоб вивчити відповідь на кожен кейс, а в тому, щоб відпрацювати універсальний каркас.
Кейс: скорочувач посилань
Тут перевіряють генерацію короткого ідентифікатора, колізії, співвідношення читання й запису, кеш на читання та аналітику переходів. Хороша відповідь містить обговорення того, що робити при вичерпанні простору ключів і як рахувати статистику, не гальмуючи основний шлях запиту.
Кейс: стрічка контенту
Ключові теми — fan-out при публікації проти fan-out при читанні, кешування перших сторінок, пагінація, персоналізація та деградація під навантаженням. Інтерв'юер дивиться, чи розумієте ви, де саме рветься система при різкому зростанні трафіку.
Кейс: rate limiter
Компактний кейс на розподілені системи. Обговорюються алгоритми обмеження, зберігання лічильників, атомарність операцій, поведінка при втраті вузла та наскільки строго треба дотримувати ліміт. Тут добре видно, чи вміє кандидат міркувати про консистентність.
Інструменти й теми, які потрібно знати
Список тем скінченний і осяжний. Вивчіть призначення інструмента та його слабкі місця — цього достатньо, щоб упевнено міркувати на інтерв'ю.
| Тема | Навіщо потрібна у відповіді | Що запитають додатково |
|---|---|---|
| Балансування навантаження | Розподіл трафіку між сервісами | Health-check, sticky sessions, відмова вузла |
| Кешування | Зниження затримки й навантаження на сховище | Інвалідація, прогрів, cache stampede |
| Черги та брокери | Асинхронна обробка, розв'язка сервісів | Доставка, порядок, повторна обробка |
| Реплікація та шардування | Масштабування запису й читання | Вибір ключа шарду, ребалансування |
| CAP і консистентність | Обґрунтування вибору моделі даних | Який компроміс обрали й чому |
Корисно заздалегідь зафіксувати термінологію — якщо якийсь термін ви вживаєте невпевнено, звіртеся з глоссарием IT-терминов.
Підхід до незнайомих технологій
Не обов'язково знати конкретний продукт до деталей. Чесне «я працював з аналогом, ось чим він відрізняється і як би я обирал» цінується вище, ніж спроба імітувати експертизу. Інтерв'юер перевіряє хід думки, а не каталог знань.
Тайм-менеджмент на інтерв'ю
Типове system design інтерв'ю триває близько години, і час на ньому розподіляється нерівномірно. Кандидат, який витратив сорок хвилин на вимоги й не дійшов до архітектури, провалює секцію навіть за хороших питань.
Практичний розклад години
- Перші хвилини — уточнення й фіксація вимог на дошці або в документі.
- Наступні кілька хвилин — оцінка масштабу та межі системи.
- Середина — високорівнева схема й обговорення потоку даних.
- Остання третина — заглиблення у вибрані компоненти та розбір компромісів.
- Фінал — вузькі місця й що б ви покращили, якби було більше часу.
Що робити під час виконання
Інтерв'юер часто мовчить і записує — це нормально. Коментуйте хід думки, періодично питайте, чи варто заглиблюватися. Віддалена асинхронна форма інтерв'ю вимагає трохи більшої вербалізації, ніж розмова біля дошки в офісі, тож тренуйтеся проговорювати рішення вголос.
Як побудувати план підготовки на кілька тижнів
System design не вивчається за один вечір перед інтерв'ю. Робочий план — це кілька тижнів регулярних занять по сорок-шістдесят хвилин, де розбір кейсів чергується з теорією та тренуванням пояснення.
Тиждень 1-2: база
Розберіть теми з таблиці вище: балансування, кешування, черги, реплікація, шардування, моделі консистентності. Мета — розуміти призначення та слабкі місця, а не глибини внутрішньої реалізації.
Тиждень 3: розбір кейсів
Щодня один кейс: двадцять хвилин письмового плану відповіді й двадцять хвилин проговорювання вголос. Важливо записувати не фінальне рішення, а хід міркування — саме його відтворює інтерв'юер на співбесіді.
Тиждень 4: імітація інтерв'ю
Знайдіть партнера й прогоніть повну годину всерйоз, із мовчазним спостерігачем у ролі інтерв'юера. Мок-інтерв'ю викриває проблеми таймингу, не помітні під час самостійної підготовки. Якщо ви паралельно шукаєте роботу, корисно тримати добірку вакансій відкритою й звіряти теми інтерв'ю з вимогами — наприклад, у розділах вакансии в affiliate и media buying та удалённые вакансии часто перелічені конкретні вимоги до архітектурних навичок.
Помилки, через які провалюють секцію
Більшість невдач на system design інтерв'ю пов'язані не з дефіцитом знань, а з організацією відповіді. Кандидат або мовчить, або йде в деталі, або не визнає компромісів.
Найчастіші промахи
- Початок проєктування без уточнення вимог і масштабу.
- Одне єдине рішення без альтернатив та обговорення ціни.
- Заглиблення в мікродеталі БД на етапі високорівневої схеми.
- Ігнорування відмови компонентів і деградації під навантаженням.
- Мовчазна робота без коментарів щодо ходу думки.
Як перевернути складне питання
Якщо питання виходить за межі досвіду, не зупиняйтеся. Скажіть прямо, що тема нова, потім міркуйте від відомого: які вимоги, які обмеження, які знайомі патерни застосовні. Інтерв'юери цінують чесність і здатність думати на ходу вище, ніж енциклопедичні знання.
Які зарплати й ролі стоять за цими інтерв'ю
System design зазвичай супроводжує грейди middle і senior, і різниця в доході між грейдами суттєва, хоча конкретна вилка сильно залежить від країни, компанії та формату роботи. В україномовному digital-сегменті орієнтовні діапазони відрізняються за вертикаллю та рівнем відповідальності.
Чим відрізняються грейди
| Грейд | Що перевіряють | Рівень доходу |
|---|---|---|
| Junior | Coding і базові знання мови | Нижче ринку, system design майже не питають |
| Middle | Здатність спроєктувати сервіс середньої складності | Помітно вище junior, зростає з досвідом |
| Senior / Lead | Компроміси під навантаження, відмовостійкість, вплив на кілька систем | Суттєва надбавка до middle; залежить від продукту й локації |
Орієнтовні цифри за конкретними ролями й вертикалями є в окремому розборі — там же вказані вакансії з прямими вилками (наприклад, частина media buyer-позицій у ніші dating публікується з діапазоном близько 700-1000 USD, але це інший стек та інша роль). Якщо ви роботодавець і хочете знайти інженерів з архітектурним досвідом, подивіться разместить вакансию та тарифы для работодателей.
Як секція впливає на оффер
System design — один із найвагоміших етапів на позиціях з архітектурною відповідальністю. Упевнено проведене дизайн-інтерв'ю нерідко визначає рівень грейду, а разом з ним і вилку оффера, тож недооцінювати підготовку не варто навіть за сильних алгоритмів.
Часто задавані питання
Скільки часу потрібно на підготовку до system design інтерв'ю?
Орієнтовно кілька тижнів регулярних занять по сорок-шістдесят хвилин на день. Перша половина йде на базові теми — кеш, черги, реплікація, шардування, консистентність. Друга — на розбір кейсів та імітацію інтерв'ю з партнером. Якщо у вас уже є досвід проєктування під навантаженням, термін можна скоротити.
Чи можна готуватися українською, якщо співбесіда англійською?
Так, і це поширена практика. Терміни варто знати обома мовами, бо «consistency», «sharding», «load balancer» на інтерв'ю в міжнародній компанії звучать англійською, а пояснювати компроміси вам комфортніше рідною. Тренуйтеся перемикатися: розбирайте кейс українською, а ключові терміни й фінальний опис схеми проголошуйте англійською.
Що робити, якщо я не знаю конкретну технологію, про яку запитали?
Визнайте це прямо й переходьте до міркування. Назвіть відомий аналог, поясніть різницю в моделі даних або гарантіях доставки, запропонуйте, як би ви обирали інструмент за вимогами. Інтерв'юери оцінюють хід мислення та здатність працювати в невизначеності, а не каталог технологій.
Чи потрібно малювати схему на дошці або в редакторі?
На віддаленому інтерв'ю частіше використовуються онлайн-дошки або текстові документи, в офісі — маркерна дошка. Принцип один: малюйте мінімально достатню схему з блоків і стрілок, підписуйте потоки даних і проговорюйте вголос, що саме означають компоненти. Краса малюнка не оцінюється — оцінюється ясність структури.
Чи підходить досвід в арбітражі трафіку або media buying?
Досвід із digital-ніші корисний, якщо ви працювали з інфраструктурою: трекінг-системи, високі навантаження на постбеки, обробка подій, аналітика в реальному часі. Ці сценарії добре лягають на типові кейси. Однак на суто інженерних позиціях питатимуть класичні архітектурні компроміси, тож варто пройти базову програму підготовки.
Як знайти компанії, які проводять такі інтерв'ю?
Дивіться вимоги в активних оголошеннях: там прямо вказано, які секції включає процес. На WEB-HH зараз близько 1897 активних вакансій за кар'єрною темою, з них 47% з віддаленим форматом — цього достатньо, щоб скласти уявлення про ринок. Також корисно читати блог WEB-HH, де розбираються практичні сторони найму та підготовки до інтерв'ю.