Співбесіда з системного дизайну для AI-інженера: практичний посібник

Автор: Aaron Cao · Оновлено

Вас просять спроєктувати систему машинного навчання наскрізно: дані та ознаки, навчання й оцінювання, обслуговування (serving) та затримку, моніторинг і дрейф. Останні раунди роблять сильний акцент на retrieval augmented generation та обслуговуванні моделей. Оцінюють компроміси, які ви можете обґрунтувати, а не єдину правильну архітектуру.

Що насправді перевіряє цей етап

Коли чуєш це завдання вперше, воно звучить неймовірно широко: спроєктуйте рекомендаційну систему або спроєктуйте чат-бота над внутрішніми документами компанії. Цей розділ пояснює, що саме оцінює інтерв'юер, тож широта перестає бути проблемою. Коротко кажучи, оцінюють, чи можете ви перетворити розпливчастий продуктовий запит на систему з конкретними числами.

Більшу частину оцінки формують чотири речі:

  • Скоупінг. Чи запитуєте ви, хто користувачі, скільки запитів на секунду, і який поріг якості вважається успіхом, перш ніж щось малювати?
  • Судження про дані. Звідки беруться навчальні дані, як вони розмічені, і що просочується між навчанням і обслуговуванням?
  • Оцінювання. Офлайн-метрики плюс онлайн-запобіжник. Відповідь без плану оцінювання сприймається як junior-рівень, хоч якою хорошою була б архітектура.
  • Продакшн-чуття. Бюджет затримки, вартість на запит, частота перенавчання і те, що відбувається, коли модель помиляється.

Завдання, які трапляються знову й знову

П'ять завдань охоплюють більшість раундів системного дизайну для AI-інженера:

  • Retrieval augmented generation над приватними документами. Стратегія чанкінгу, вибір моделі ембедингів, векторний індекс, реранкінг і те, що ви робите, коли retrieval не повертає нічого релевантного.
  • Обслуговування моделі в масштабі. Батчинг, квантизація, підтримка завантаженості GPU, кешування і цільова затримка p99, яку ви заявили під час скоупінгу.
  • Рекомендації або ранжування. Генерація кандидатів, потім ранжування, feature store, розбіжність (skew) між навчанням і обслуговуванням, холодний старт.
  • Конвеєр ознак (feature pipeline). Потокова обробка проти пакетної, коректність point-in-time, бекфіли.
  • Агентний воркфлоу. Виклик інструментів, ліміти кроків, стелі вартості і те, як втручається людина. Повніший банк запитань є в розділі типів співбесід.

У кожного з них є одна складна частина, на яку чекає інтерв'юер. Для retrieval це оцінювання, бо назвати векторну базу даних може кожен, а от пояснити, як виміряти, чи покращився retrieval, можуть небагато. Для обслуговування це компроміс між вартістю, затримкою і розміром моделі.

Структура, яка витримує 45 хвилин

Перші п'ять хвилин витратьте на вимоги та числа і запишіть їх там, де інтерв'юер їх бачить: запити на секунду, прийнятна затримка, поріг якості, бюджет. Усе, що йде далі, посилається на ці чотири числа — саме це змушує відповідь звучати як інженерія, а не як екскурсія інструментами.

Далі йдіть спершу вшир: діаграма з джерелами даних, офлайн-навчанням, сховищем артефактів, шляхом обслуговування і петлею зворотного зв'язку. Лише після того, як уся картина складена, занурюйтесь углиб, і нехай інтерв'юер сам обере компонент. Завершіть, назвавши два режими відмови і те, що ви моніторили б, щоб виявити кожен із них.

ML-інженера, який проходив співбесіду на позицію senior у пошуковій компанії, попросили спроєктувати семантичний пошук за тікетами підтримки. Вона витратила чотири хвилини на скоупінг, зафіксувала 200 мілісекунд на рівні p95 і фіксований щомісячний бюджет на inference, а потім використала обидва числа, щоб відмовитися від великого реранкера на користь невеликого cross-encoder-а над топ-50 кандидатами. Оцінювали саме компроміс, а не вибір моделі.

Де живий асистент допомагає на раунді дизайну

Системний дизайн — це усний і візуальний формат, тож асистент допомагає тут менше, ніж на інших етапах. Що він може — це тримати чек-лист перед вами. SubcueAI слухає аудіо зустрічі й виводить структуру на локальний оверлей: питання скоупінгу, які ви ще не задали, розділ оцінювання, який ви пропустили, режими відмови, які варто назвати. Десктопний застосунок на macOS і Windows захоплює системне аудіо разом із мікрофоном; бічна панель розширення браузера захоплює лише аудіо вкладки зустрічі, тож вона чує інтерв'юера, не транскрибуючи вас. Жоден бот не приєднується до дзвінка.

У цьому раунді обмеження мають значення більше, ніж у більшості інших. Якщо ви демонструєте екран, щоб намалювати діаграму, оверлей опиняється всередині того, що ви показуєте. Проктровані тести й корпоративні керовані машини поза межами застосування, і жоден інструмент не є повністю невиявним. Асистент також не може вигадати архітектурне судження, яке оцінюється. Практика цих завдань проти AI-інтерв'юера на сторінці пробної співбесіди формує саме це; оверлей лише не дає вам забути про оцінювання на 30-й хвилині.

Часті запитання

Чи потрібно знати конкретну векторну базу даних за назвою?

Назвати якусь — нормально, важливіше обґрунтувати вибір. Інтерв'юери запитують, чому саме цей індекс, який тут компроміс щодо recall, і як ви здійснили б переіндексацію без простою.

Скільки математики очікується на цих раундах?

Достатньо, щоб оцінювати розміри: розмірність ембедингів проти пам'яті індексу, токени проти вартості, розмір батча проти затримки. Виведення формул трапляються рідко, а арифметика, яку можна порахувати вголос, — звичайна справа.

Чим раунд системного дизайну для AI-інженера відрізняється від класичного?

Фреймворк той самий. Різниця в тому, що дані, оцінювання та життєвий цикл моделі несуть ту вагу, яку класичний раунд надає шардингу й консистентності.

Чи може SubcueAI допомогти, поки я малюю діаграму?

Він може підказувати вам частини фреймворку, які ви ще не розкрили. Якщо діаграма на демонстрованому екрані, пам'ятайте, що оверлей перебуває всередині того, що ви показуєте.

Схожі запитання

← Докладніше: Типи співбесід