Співбесіда з ML Engineer. 230 запитань для Junior, Middle та Senior

Machine Learning Engineer— це спеціаліст, який розбирається в алгоритмах машинного та глибокого навчання і здатен натренувати ці моделі для вирішення бізнес-задач. За даними DOU, медіанна зарплата українського ML Engineer сягає $2825.

Редакція DOU разом з експертами АІ-спільноти в Україні AI HOUSE та фахівцями з різних компаній підготувала список запитань для співбесіди на позицію ML Engineer рівня Junior, Middle і Senior. Цей список питань не є вичерпним, однак може стати корисним орієнтиром у підготовці до інтерв’ю. Попередні статті з рубрики шукайте за тегом 100 техпитань.

🎓 Junior

Machine Learning
1.Поясніть, як працює логістична регресія.
2.Для чого потрібна кластеризація? Як вона працює?
3.Які алгоритми використовують для кластеризації даних? У чому основна ідея кожного з них? Як працює алгоритм K-means?
4.Що таке Precision/Recall?
5.У чому різниця між Accuracy, Precision і Recall? Наведіть приклади, коли слід використовувати кожен з них.
6.Що таке валідація? Для чого вона потрібна?
7.Для чого потрібні валідаційні та тестові датасети? Чому недостатньо лише одного з них?
8.Яким є правильний процес валідації?
9.Які метрики оцінення якості моделей знаєте?
10.Які метрики варто використовувати для незбалансованих класів?
11.Що таке Bias Variance Tradeoff?
12.Що таке регуляризація? Які методи регуляризації знаєте?
13.Чи можна використовувати лінійну регресію для завдань класифікації? Чому?
14.Опишіть задачу машинного навчання з погляду теорії ймовірності. Поясніть принцип мінімізації емпіричного ризику.
15.Які методи ви знаєте для роботи з категоріальними даними?
16.Як зрозуміти, що у вас модель overfitted? А що вказує на те, що вона underfitted?
17.Розкажіть, як працюють дерева рішення? Які є недоліки? Як боротися з оверфітом?
18.Як ансамблювати моделі?
19.Що таке стекінг і бегінг?
20.Навіщо потрібен cross-entropy loss? Чому ми не можемо вчити класифікацію за допомогою L2?
21.Які властивості cross-entopy loss?
22.Навіщо потрібен Momentum в оптимізаторах? Яку проблему він вирішує?
23.Як працює RMSProp?
24.Як працює Adam?
25.Розкажіть про кросвалідацію.
26.Як отримати ті самі результати після тренування моделі за умови, що набір даних і параметрів моделі не змінюється?
27.Як працює RNN? Навіщо вони існують і які задачі виконують?
28.Розкажіть про LSTM і GRU. Як вони працюють та які проблеми розв’язують?
29.Чи варто використовувати метрику accuracy? Обґрунтуйте своє рішення.
30.Розкажіть про недоліки метрики F1-міри.
31.Що таке ROC, ROC AUC? Яка математична інтерпретація ROC AUC?
32.Що таке confusion matrix?
33.Що таке outlier в даних?
34.Що таке кластеринг?
35.У чому відмінність між L1 та L2 регуляризаціями? Які властивості у ваг з використанням різних регуляризацій?
36.Яка різниця між supervised та unsupervised learning?
37.Як можна пояснити overfitting? Які є способи його уникнення?
38.Яким чином опрацьовуєте пропуски в даних?
39.Озвучте базові кроки в Machine Learning pipeline.
40.Яким чином зберегти/завантажити модель так, щоб використовувати її за допомогою Python?
41.Як справлятися з imbalanced datasets?
42.Що таке one-hot encoding та коли він корисний?
43.Опишіть процес нормалізації даних і коли він є важливим.
44.Яким чином обробляєте категоріальні дані?
45.У вас є 1000 прикладів у наборі даних. Які пропорції для train/validation/test розподілу використаєте? Чому?
46.Чому важливо перемішувати (shuffle) дані перед тренуванням моделі?
47.Чи можете назвати популярні хмарні платформи для розгортання моделей машинного навчання та коротко описати їхні переваги?
48.При створенні набору даних для бінарної класифікації ви бачите, що один з класів переважає інший як 9:1. Ваші дії?
49.Чи можете ви описати різницю між класифікацією та регресією в машинному навчанні?
50.Яку роль відіграє інженерія ознак (feature engineering) в машинному навчанні, чи можете ви навести приклад?

MLOps
51.Що таке MLOps і чому він важливий у проєктах з машинного навчання?
52.Чи працювали ви з системами контролю версій, наприклад Git, у проєкті з машинного навчання? Як це сприяло проєкту?
53.Чи можете пояснити концепцію постійної інтеграції (CI) і постійного розгортання (CD) у контексті машинного навчання?

Deep Learning
54.Які архітектури мереж для завдань класифікації вам відомі?
55.Що таке transfer learning і коли варто його застосовувати?
56.З якими моделями ви працювали? Розкажіть про їхні особливості та новації.
57.Для чого потрібна функція активації в нейронних мережах?
58.Як відбувається початкова ініціалізація ваг у нейронних мережах? Чому вона не може бути нульовою?
59.Навіщо потрібна батч-норма? За що відповідають alpha, beta ? Що буде, якщо їх забрати?
60.Що таке dropout? Як він себе поводить на trainee і на тесті?
61.Як би ви перетворювали часові дані в числовий формат?

Алгоритми
62.Які типи задач машинного навчання ви знаєте?
63.Опишіть алгоритм роботи Support Vector Machines.
64.Перерахуйте основні структури даних, їхні плюси й мінуси.
65.Які умови потрібно виконувати для застосування закону великих чисел?
66.Яка різниця між помилками Type I та II?

Python
67.Що таке closure?
68.Які існують dunder methods?
69.Що таке decorators?
70.Що означає property? Як це впроваджувати?
71.Які вам відомі пакети класів для зберігання даних? Які вони мають переваги й недоліки (dataclass, attrs, pydantic)?
72.Які вам відомі пакети для зберігання та обробки табличних даних? Які вони мають переваги й недоліки (pandas, polars)?

Computer Vision
73.Як працює Canny Edge Detection в OpenCV, порахуйте на прикладі прохід довільного фільтру, наприклад фільтру Соболя, за картинкою.
74.Що таке аугментація?

🎩 Middle

Загальні запитання
1.Який останній paper ви читали?
2.Як ви оцінюєте результативність моделі машинного навчання? Які метрики використовуєте для завдань регресії та класифікації? Коротко опишіть їхні переваги.

Machine Learning
3.Як ви обираєте тип класифікатора, базуючись на розмірі даних тренувального набору?
4.Поясніть метод градієнтного спуску. Як обрати швидкість навчання для алгоритму оптимізації градієнтного спуску?
5.Як ви вирішуватимете проблему класифікації тексту, якщо у вас незбалансований датасет?
6.Як правильно робити крос-валідацію на time-series?
7.Batch vs Mini-batch: у чому різниця та коли що краще використовувати?
8.Які є типи та джерела data leakage? Наведіть приклади кожного типу та як їх уникати.
9.Розкажіть основні концепти робити градієнтного бустингу. Чим відрізняється XGBoost від LightGBM?
10.Як працюють Conv-LSTM і Conv-GRU? Чим вони відрізняються від LSTM та GRU?
11.Які є методи для тренування моделей на дисбалансних датасетах? Які в них переваги та недоліки?
12.Якщо у вас у датасеті є багато ознак, яким чином ви будете обирати/видаляти їх для моделювання?
13.Запропонуйте метрику, яка б відображала, наскільки впевнена модель в передбаченні?
14.Для чого потрібне використання батчів під час тренування? Чи завжди найбільший розмір батчу буде вести до найкращого результату
15.Як обирати значення K для алгоритму K-means?
16.Що таке стратифікація? Для чого вона в тестовому/валідаційному датасетах?
17.Чи реалізували ви або використовували Machine Learning pipeline? Якщо так, будь ласка, опишіть його компоненти та переваги.
18.Які класи з бібліотеки sklearn можуть знадобитись під час підготовки даних?
19.Як називається процес, при якому характеристика (feature), що міститься в тренувальному наборі даних, не буде очікувано доступною в момент передбачення?
20.Під час створення характеристик ви отримали набір даних, що містить 575 стовпців. Чи варто додавати увесь набір даних до тренування? Якщо ні, то які ваші наступні дії? Якщо так, то як змінився б ваш підхід, скажімо, якщо є 57 575 стовпців?
21.Які підходи до перетворення текстових даних у числові ви знаєте?

Model Building and Evaluation
22.Опишіть різницю між алгоритмами за типом decision trees, SVM і random forests?
23.Поясніть, навіщо потрібен hyperparameter tuning, опишіть деякі підходи.
24.Яка різниця між bagging і boosting?
25.Яким чином працювали б із time series даними?

Deep Learning
26.Що таке autoencoders? Для яких завдань їх використовують?
27.Що таке проблема зникомого градієнта? Як вона може вплинути на навчання? Опишіть методи, які використовують для уникнення цієї проблеми.
28.Поясніть механізм уваги (attention).
29.Що таке дистиляція в ML і навіщо її використовують? Поясніть головну ідею дистиляції.
30.Як додати дропаут в LSTM?
31.Які підходи, моделі, метрики використовують для ranking задачі?
32.Які способи зменшення потреби в даних вам відомі?
33.Як саме обираєте, з якими моделями працювати?
34.Які методи оптимізації швидкості моделей знаєте?
35.Що таке метод Quantization-aware training та як він працює?
36.Розкажіть про принцип роботи трансформерів.
37.Чому ми не можемо використовувати оптимізатори другого порядку для задач Deep Learning?
38.Яку проблему вирішує Cycle Policy? Що таке One Cycle?
39.Як підбирати значення LR для навчання?
40.Що таке skip-connections у нейронних мережах і навіщо вони?

MLOps
41.Назвіть найкращі практики версіювання моделей.
42.Розкажіть про концепт data shifts. Як його можна виявляти?
43.Чи працювали ви з технологіями контейнеризації, такими як Docker? Будь ласка, опишіть ваш досвід.
44.Чи працювали ви з системами оркестрації контейнерів, такими як Kubernetes? Будь ласка, опишіть ваш досвід.
45.Як ви управляєте версіюванням і відстеженням моделей в колаборативному середовищі?
46.Поясніть роль feature stores і data versioning в операціях з машинного навчання.
47.Поясніть переваги та виклики використання serverless-архітектури для розгортання моделей машинного навчання в «хмарі».

Computer Vision
48.Опишіть архітектуру FasterRCNN і YOLO. У чому між ними різниця?
49.Яка різниця між one-stage і two-stage object detector? Які плюси та мінуси кожного з них?
50.Розкажіть, як рахують mAP-метрику для задачі Object Detection? Що таке IOU?
51.Розкажіть, як рахують MS COCO mAP@IOU=0.5:0.95:0.05? В чому перевага метрики над VOC Pascal mAP?
52.Як пришвидшити object detection модель?
53.Розкажіть, як працює U-Net?
54.Які метрики використовують для сегментації? Dice, IOU?
55.Навіщо потрібен дискримінатор в GAN? Що буде, якщо дискримінатор буде ідеальним?
56.Розкажіть про ProgressGAN. Як за допомогою нього генерувати зображення високої якості з деталями?
57.Розкажіть про Cycle GAN. Як за допомогою нього можна вирішити проблему, коли немає точної відповідності між вхідною та вихідною картинками?
58.Розкажіть про StyleGAN. Як за допомогою нього генерувати зображення з потрібним стилем?
59.Які метрики використовують для перевірення якості GANs?
60.Чи можливо створити класифікатор на 100 тисяч класів? Обґрунтуйте свою думку.
61.Розкажіть про Triplet loss? У чому недоліки?
62.Навіщо в Re-ID фічі проєктуються на сферу?
63.Розкажіть про функцію CosFace? Навіщо її використовують та які її переваги для Re-ID?
64.Розкажіть про архітектуру VGG? Які її особливості? Що було новітнього представлено в ній свого часу?
65.Розкажіть про Skip Connection в архітектурі ResNet? Яку проблему він вирішує?
66.Розкажіть про depth-wise separable convolution в архітектурі MobileNet? Яку роль він відіграє?
67.Розкажіть про RELU6 в архітектурі MobileNet? Яку роль він відіграє?
68.Розкажіть про inverted residual block в архітектурі MobileNet v2? Як він влаштований?
69.Розкажіть про Inception Block? Як він влаштований в архітектурах Inception, Inception V2, Inception V3? Чому саме така архітектура?
70.Що таке NAS?
71.Розкажіть про архітектуру EfficientNet. Які технічні рішення стоять за вибором параметрів для архітектури?
72.Розкажіть, як працює Knowledge Distillation? Що таке NoisyStudent Networks?
73.Розкажіть, як працює Prunning у нейромережах? Які його переваги та недоліки?
74.Чим відрізняється Pruninging за вагами і за згортками? Які їхні переваги та недоліки?
75.Розкажіть про квантизацію. У чому різниця між per-channel і per-tensor?
76.Навіщо робити label smoothing для класифікації?
77.Розкажіть про ViT? Що таке токен?
78.Чим відрізняється робота з картинками та відео? Які челенджі виникають у роботі з відео?
79.Чи потрібні усі фрейми з відео? Як обирати їх?
80.Як працюють алгоритми стиснення відео? H264 кодек?
81.Які задачі може розв’язувати CV?
82.Які типи попередньої обробки зображень ви знаєте?
83.Що таке SIFT, SURF?
84.Яка різниця між виявленням об’єкта та відстежуванням?
85.Що таке семантична сегментація (Semantic segmentation)?
86.Як працюють моделі переведення зображення в текст?
87.Як працюють генеративні моделі (наприклад, DALL-E)?
88.У вас є завдання створити помічника для аналізу зображення рентгену. Якими будуть ваші кроки?

Алгоритми
89.Поясніть різницю між рекурсією та ітерацією в контексті програмування. Коли краще використовувати той чи інший підхід?

NLP
90.Які фреймворки для NLP вам знайомі?
91.Що таке Syntactic Analysis?
92.Що таке лематизація (lemmatization) і стемінг (stemming)? Для чого їх використовують?
93.Що таке BoW, TF-IDF, BM25 та де їх використовують?
94.Що таке токенізація (tokenization)? Які її типи ви знаєте?
95.Що таке word2vector? Що означає «sentence to a vector»? Де це поняття використовують?
96.Чому ембеди слів, отримані від трансформерів, кращі за класичний word2Vec?
97.Як би ви розв’язали задачу аналізу твітів за емоційним забарвленням? У вас є два варіанти: сучасний підхід (LLMs) або створення власної системи з нуля.
98.Що таке пояснювальне ML (explainable ML)? Як використовувати підхід to make a black-box a gray one?
99.Якби ви реалізували dropout і batch normalization для нейронної мережі? Коли це важливо?

Виробництво
100.Які фактори потрібно враховувати під час розгортання моделі?
101.Як ви будете відстежувати модель машинного навчання?
102.Як можна налаштувати модель для обробки зміни концепції, після її розгортання?

Python
103.Які фреймворки для ML ви знаєте та вмієте використовувати? Розкажіть про найбільш успішний проєкт, завершений на кожному з цих фреймворків (щонайменше TensorFlow, PyTorch, scikit-learn).

👑 Senior

Загальні запитання
1.Як зрозуміти, що проєкт варто вирішувати шляхом ML?
2.Коли потрібно використовувати ML, а коли — ні?
3.Які передумови для успішного ML-проєкту?
4.Що таке успішний ML-проєкт?
5.Опишіть виклики розгортання моделей машинного навчання в продукції, включаючи моніторинг та обслуговування.
6.Як ви вирішуєте питання конфіденційності та етики при роботі з чутливими даними в проєктах з машинного навчання?
7.Які є тенденції та нові технології в галузі машинного навчання та штучного інтелекту?
8.Чи можете надати приклад складного реального проєкту з машинного навчання, детально описати вашу роль і внесок.
9.Опишіть ваш досвід проєктування та впровадження комплексних робочих процесів з машинного навчання з найкращими практиками MLOps, включаючи введення даних, навчання моделей і розгортання в хмарному середовищі.

Machine Learning
10.Наведіть приклад найкращих практик підбору гіперпараметрів.
11.Які етапи розробки ML-проєкту?
12.Як інтерпретувати передбачення моделі? Які методи інтерпретації ви знаєте? Які їхні недоліки та переваги?
13.Як виявляти outlier у вхідних даних класифікатора? Як це можна робити без перенавчання моделі або кластеризації?
14.Як забезпечити приватність та анонімність даних?
15.Як уникнути упередженості (наприклад, расової або гендерної) в моделі, що викликана набором даних, на якому натренована?
16.У випадку тренування sequential-моделей (LSTM, Transformer-based, etc.), як розв’язувати проблему нерівномірності послідовностей, коли одна довша за іншу?
17.Які автоматичні алгоритми зменшення вимірності характеристик ви знаєте?
18.Як пояснити вплив тієї чи іншої характеристики на результат моделі? Які алгоритми для цього існують?
19.Що таке real time training і які проблеми покликаний вирішити цей підхід?
20.Які підходи до багатопотокового тренування моделей ви знаєте та чим вони відрізняються?
21.Як би ви підійшли до великомасштабного розподіленого проєкту машинного навчання?
22.Обговоріть виклики та можливі рішення при роботі з часовими рядами, табличними, текстовими або зображеннями (виберіть один тип даних відповідно до досвіду) для застосувань машинного навчання.
23.Що таке First Type Error і Second Type Error?
24.Як сформувати критерії вибору найкращої моделі з усіх натренованих моделей і як пояснити цей вибір нетехнічним колегам?
25.Як забезпечити відтворюваність тренування моделі під час роботи у великій команді?

Deep Learning
26.Розкажіть про ваш досвід використання різних deep learning фреймворків.
27.На вашу думку, чи краще для NN працює L2-регуляризація?
28.Що таке metrics learning? Чим відрізняється від класифікації? Які основні функція втрат використовують?
29.Опишіть adversarial attacks в глибокому навчанні та можливі заходи захисту від них.
30.Які основні прийоми використовують під час тренування моделей глибокого навчання та в чому їхня практична користь?

MLOps
31.Намалюйте діаграму рекомендаційної системи для YouTube.
32.Поясніть основні етапи життєвого циклу моделі в MLOps.
33.Як MLOps може бути налаштований для моделей, які деплояться на edge-пристрої?
34.Як заміряти деградацію моделей?
35.Назвіть найкращі практики керування залежностями пакетів і середовищами для ML-моделей.
36.Які методи моніторингу якості моделей у продакшні ви знаєте? Які з них використовували?

NLP
37.Поясніть, як працює квантизація моделей на прикладі LoRa.
38.Процес файнтюнінгу LLM часто потребує розмічених даних, отримання яких може бути дорогим. Як ми можемо зменшити потребу у великих розмічених датасетах під час файнтюнінгу LLM?
39.Як можна використати LLM для створення wiki за кодом проєкту? Як при цьому боротись з галюцинаціями?
40.Де можна використати Explainable AI (XAI) в NLP?
41.Які є методи покращення якості LLM-ембедингів?

Алгоритми
42.Який з двох алгоритмів XGBoost і Random Forest можна паралелізувати та чому?
43.Що таке cold start problem? Як з нею справлятись?
44.Що таке concept drift?
45.Що таке model drift?

Computer Vision
46.Де можна використати Explainable AI (XAI) у CV?
47.Що таке hard negative mining і як це використовують в object detection?
48.Чому transfer learning із задачі детекції об’єктів до задач сегментації працює погано?
49.Що таке anchor в object detection? Розкажіть про anchor-free підходи.
50.Як виконати задачу instance segmentation, використовуючи моделі для semantic segmentation?
51.Як фреймворки TensorRT та OpenVINO оптимізують сітки?
52.Розкажіть про архітектуру ConvNeXt.
53.Як оптимізувати алгоритми, які працюють на потоці відео?


Дякуємо за технічну рецензію Володимиру Сидорському (Research Development Team Lead у Respeecher). Питання для матеріалу надали Михайло Кушнір (засновник DestiLabs), Олексій Бабич (Machine Learning Engineer & Researcher у Provectus), Микола Грінь (Senior Machine Learning Engineer, ML Team Lead у ZONE3000/Namecheap), Андрій Бойчук (Computer Vision Technical Leader у blackthorn.ai), Сергій Бродюк (Data Scientist в MGID.com), Володимир Мудрий (Data Scientist, Intelliarts), Олександр Зарічковий (Head Of Research, SQUAD), Роман Кислий (Research Data Scientist у Visa), Дмитро Зікрач (Data Science Competence Manager у SoftServe). Окремо дякуємо AI HOUSE за допомогу у підготовці запитань для статті.

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось27
До обраногоВ обраному28
LinkedIn


13 коментарів

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Цікава наступна стаття з короткими відповідями на питання :)

Доволі цікаві запитання.
А ще виявляється, що диплом в магістратурі, який я писав колись по SRGAN і дотичних архітектурах(зараз правда і PhD почав в тій сфері) і самонавчання при написанні таки дає результат, і можна навіть на питання мідлів відповідати.
Нашим університетам б взяти то на замітку і хоч якийсь практичний досвід дати студентам і змогли б застрибнути і в цю IT сферу

«Очікуйте на всіх співбесідах на ML\DS в укр. компаніях починаючи з наступного тижня»))))
В списку для Senior деякі питання на шкталт

Що таке First Type Error і Second Type Error?

чи

На вашу думку, чи краще для NN працює L2-регуляризація?

затисалися випадково із джун та мідл секції відповідно.
І мені особисто тут не вистачає system design. Для сінйора зпроектувати якийсь малий кусок фейсбука чи нетфлікса — мастхев

Для Senior ML Engineer шматок нетфліксу? Хіба що рекомендаційну систему. Практикував кілька разів питати system design для online learning, виходило з перемінним успіхом.

Взагалі, ML в Україні та інтерв’ю на ці позиції це дуже розсіяна тема. Мабуть, тема настільки не мейнстрімна, що кожен самостійно оцінює необхідний рівень. В певний момент допомагав трейні підготуватись до співбесід та тестових завданнь і був здивований різноманітністю питань: від «fit/transform» задач на sklearn до «побудуй Flask API що розпізнає рукописні цифри і запусти в докері».

Це ж для архітекта, чи може ви хочете, щоб розробники змогли у будь який домен?

Про питання правильно підмітили.

Стосовно system design — то тут насправді треба говорити про проектування певного рішення загалом, а не кусок фейсбука чи нетфлікса. Наприклад — спроектувати рекомендаційну систему нетфлікса на рівні концепцій.
Хоча в українських реаліях мабуть є частина компаній яка хоче і фактично технічного лідання проектів з усіх сторін — але це вже не позиція ML Engineer.

Непогвні питання для джунів.
Для senior не знаю, так глибоко не копав, виглядають адекватно.
Для middle це якось перебір вам не здається? Чи дійсно мідл має розбиратись в архітектурах тих чи інших CNN моделей, які там блоки і чому саме вони використовуються?
При цьому питання по NLP в більшості до рівня джуна відносяться.
Думаю ті хто робив список мають багатий досвід роботи з CV і не дуже з NLP=)

Або на співбесідах зараз вимагають не дуже глибоких знань NLP)
Насправді ми намагалися залучати фахівців з різних компаній, щоб зібрати різнобічну картину. Та й список питань це більше орієнтир, ніж гайд для проходження співбесіди

Дивно, не з ІТ, а з загально-наукового бекграунду, відсотків 10 питань здається навіть знаю, хоча з AI не працював і особливо не цікавився.

сподобалось питання як додати дропаут в лстм. Глибоко, цікаво. Дякую!

Топ!
Дякую за статтю, навіть з досвідом буде не зайве оновити в памʼяті основи.

Знаєш це все, бо вчив в універі — вибачте не вистачає досвіду.
Під час браку кадрів 2020-2021 отримав посаду МЛ інженера, тепер раниш моделі чи підганяєш параметри, щоб результати пробігали — спеціаліст с досвідом, теорія скіпається на співбесіді.

Жодного знайомого слова. Відчув себе типовою звичаною людиною, для якої ІТ це щось на рівні магії.

Підписатись на коментарі