Перейти к содержимому
Ступень 1111.3 Собеседования

Как устроен найм в ML

Карта найма в ML: семь ролей и чем они отличаются, чего ждут от junior, middle и senior, из каких этапов состоит собеседование и какие уроки курса готовят к каждому, сколько времени нужно на подготовку, где искать работу и стажировки и как оценить компанию со своей стороны.

УРОКstage-11/11-3-interviews/01-hiring-process.mdx1 ч 40 минУрок 1 из 6
После урока вы сможете
  • Различать семь ML-ролей по задачам и навыкам и выбрать одну-две целевые
  • Объяснить, чего ждут от junior, middle и senior, и честно оценить свой уровень после курса
  • Назвать этапы собеседования и что проверяет каждый, а по таблице «этап → уроки курса» составить план подготовки на 8–10 недель
  • Находить вакансии и стажировки, разбирать требования и оценивать компанию и команду со своей стороны

За ступени 0–10 вы прошли путь от первой строки на Python до своей LLM, а в модулях 11.1 и 11.2 поработали «как на работе» и научились проектировать ML-системы. Найм — отдельная игра со своими правилами. Сильный инженер, который их не знает, проигрывает более слабому, который готовился. Он не может за две минуты рассказать о проекте, неделю делает тестовое задание или молчит на алгоритмической секции, хотя задачу знает.

Хорошая новость: правила почти везде похожи. Порядок и число секций у каждой компании свои, но набор блоков общий: скрининг, алгоритмы, теория ML, ML coding, проектирование ML-систем, поведенческое интервью, иногда тестовое задание. Этот урок — карта: какие бывают роли, чего ждут на каждом уровне, что проверяет каждый этап и какие уроки курса к нему готовят. Остальные уроки модуля разбирают этапы по одному.

Собеседование — не экзамен, а выборка из вашей будущей работы. За час интервьюер пытается понять, каким вы будете коллегой через полгода: как думаете вслух, что делаете, когда не знаете ответа, как проверяете себя. Поэтому подготовка — это не заучивание ответов. Вы тренируете те же навыки, что нужны на работе, только в условиях ограниченного времени.

Названия ML-ролей не стандартизованы. «ML-инженером» одна компания называет того, кого другая зовёт data scientist, а «AI-инженер» может и писать промпты, и обучать модели. Поэтому в вакансии читайте обязанности, а не заголовок. Ниже — семь типичных ролей в том виде, в каком их чаще всего описывают.

РольЧем занимаетсяГлавные навыкиЧто из курса ближе всего
ML-инженерДоводит модель до продукта: данные, обучение, оценка, сервинг, мониторингPython, классический ML и DL, PyTorch, SQL, инженерная культураступени 2–3 и 7, модули 11.1–11.2
LLM/AI-инженер приложенийСтроит продукт поверх готовых LLM: промпты, RAG, агенты, эвалы, стоимостьAPI моделей, RAG, агенты, оценка качества, бэкендступень 8, модуль 7.3, разбор 11.2.2
Research engineerresearch engineer (инженер-исследователь)EN research engineerИнженер в исследовательской команде: реализует и масштабирует идеи исследователей — большие запуски обучения, распределённые вычисления, воспроизведение статей, инфраструктура экспериментов. Пишет больше кода, чем исследователь, и меньше продуктового кода, чем ML-инженер.Реализует и масштабирует идеи исследователей: большие запуски, распределённое обучение, воспроизведение статейглубокий PyTorch, распределённое обучение, отладка обученияступени 4–6, модуль 5.4, урок 11.4.1
Исследователь (research scientist)Ставит гипотезы, придумывает методы, публикует статьиматематика, постановка экспериментов, письмоурок 9.2.2, 11.4.1; обычно ждут публикаций
Data scientistОтвечает на вопросы бизнеса с помощью данных: анализ, A/B-тесты, прогнозные моделистатистика, SQL, pandas, бустинг, умение объяснить выводступени 1–2, урок 1.3.4, 11.1.3
MLOpsMLOpsEN MLOps (machine learning operations)Практики и инфраструктура, которые доводят модель до продакшена и держат её там: конвейеры данных и обучения, версии моделей, CI/CD, сервинг, мониторинг, откат. MLOps-инженер отвечает за эту платформу, а не за качество конкретной модели.-инженерПлатформа, на которой живут модели: конвейеры, CI/CD, версии, сервинг, мониторингDocker, Kubernetes, CI/CD, наблюдаемостьуроки 8.4.3, 11.1.4, разбор 11.2.5
Инженер по инференсуСкорость и стоимость генерации: движки, квантование, батчинг, ядраvLLM и SGLang, квантование, CUDA и Triton, профилированиемодули 7.1–7.2 и 5.7

Как выбрать роль? Посмотрите, что вам больше всего нравилось в курсе. Если увлекли ступень 8 и разбор ассистента поддержки, ваш путь — LLM-инженер приложений. Если нравилось чинить обучение, считать FLOPs и гонять DDP на четырёх картах, смотрите на ML-инженера или research engineer. Если в радость были замеры скорости из модулей 7.1 и 7.2, подойдёт инференс.

Выберите одну основную роль и одну запасную. Алгоритмы, теория и ML coding у всех ролей общие, поэтому подготовка к двум соседним ролям почти совпадает. Различаются проектная секция и вопросы о проектах.

Об исследователе — честно. В сильных лабораториях на эту роль обычно ждут публикаций или учёной степени. Путь туда из курса чаще лежит через research engineer: воспроизведение статей (урок 11.4.1), открытый код и первые собственные эксперименты.

Грейдгрейд (уровень должности)EN job level (seniority level)Ступень в лестнице должностей компании: junior → middle → senior → lead и выше. От грейда зависят ожидания (масштаб задач и самостоятельность), набор секций собеседования и вилка зарплаты. Названия и число ступеней в каждой компании свои. определяет масштаб задач и самостоятельность. Названия и число ступеней у каждой компании свои, но смысл похож.

УровеньМасштабПример задачиЧто проверяют сильнее
Стажёр, juniorЗадача с понятной постановкой, под присмотром наставника«Обучи классификатор обращений по готовой разметке и сравни с бейзлайном»базу: алгоритмы, теорию ML, ML coding; умение учиться
MiddleЗадача целиком: от уточнения до продакшена и метрик, без присмотра«Сделай поиск по базе знаний для поддержки и выведи его в прод»плюс проектирование ML-систем и реальные проекты в деталях
SeniorНаправление: выбирает, что делать, видит риски, растит других«Реши, нужна ли нам своя модель или хватит API, и спланируй квартал»плюс глубокий system design, компромиссы, лидерство в поведенческих вопросах

Выше senior идут lead, staff, principal: больше влияния на команду и компанию, меньше собственного кода.

Где вы после курса. По LLM вы знаете больше типичного junior: обучали трансформер, писали GRPO и квантование. Но грейд — это не объём знаний, а опыт самостоятельной работы: в команде, на продакшене, с чужим кодом и сроками. Модуль 11.1 и выпускной проект дали этому опыту заменитель, но не сам опыт. Реалистичная цель для первой работы в ML — стажировка или junior с сильным портфолио. Если до курса вы работали разработчиком, аналитиком или инженером, цельтесь в middle в смежной роли, где прежний опыт засчитают. Не занижайте себя до «я ничего не умею» и не завышайте до senior. Интервьюер быстро увидит расхождение, и это хуже, чем честно названный уровень.

flowchart LR
A["Отклик:<br/>резюме или<br/>рекомендация"] --> B["Скрининг<br/>20–30 мин"]
B --> TECH
subgraph TECH["Технические секции, по 45–60 мин"]
  direction TB
  T1["Алгоритмы"]
  T2["Теория ML и LLM"]
  T3["ML coding"]
  T4["ML system design"]
end
TECH --> D["Поведенческое<br/>интервью"]
D --> E["Финал:<br/>разговор с командой"]
E --> F["Оффер"]
B -.->|"иногда вместо<br/>части секций"| H["Тестовое<br/>задание"]
H -.-> TECH
Типичная воронка найма. Порядок, число секций и наличие тестового у каждой компании свои; в стартапе всё может уложиться в два разговора

Крупные компании обычно проводят для всех кандидатов на роль одинаковый набор секций. Стартапы чаще подстраивают процесс под свою задачу: разговор с основателем, разбор их реальной проблемы, тестовое задание. Что проверяет каждый этап:

  • Скрининг. Рекрутер или нанимающий менеджер, 20–30 минут. Проверяют, подходите ли вы вакансии: рассказ о себе, почему эта роль, формат работы, сроки, иногда ожидания по деньгам. Бывает и короткий технический скрининг на 5–10 вопросов вроде «что такое переобучение» или «чем LoRA отличается от полного дообучения». Главная ошибка — импровизировать: рассказ о себе на две минуты готовят заранее (шаблон — в уроке 11.3.6). Об ожиданиях по деньгам отвечайте вилкой из свежих обзоров рынка (где их искать — ниже) или спросите вилку вакансии.
  • Алгоритмы. Задача «на доске» на 45 минут. Проверяют, пишете ли вы корректный код и оцениваете ли сложность.
  • Теория ML и LLM. Вопросы с углублением: «что такое bias–variance?» → «как это видно на кривых обучения?» → «что сделаете, если…». Третий уровень «почему» отделяет понимание от заученных ответов — по-китайски их зовут «багу»«багу» (заученные шаблонные ответы к собеседованию)EN rote interview answers ("eight-legged essay")IT-жаргон: стандартные ответы на типовые теоретические вопросы собеседования, которые заучивают заранее («зубрить багу»). Слово — от «багувэнь», «восьмичленного сочинения» с жёстко заданной формой на императорских экзаменах эпох Мин и Цин.. Для LLM добавляются задачи на оценку: память на обучение 7B-модели, почему decode упирается в пропускную способность памяти.
  • ML coding. Написать кусок ML с нуляML coding (секция собеседования)EN ML coding interviewЭтап собеседования, где за 30–45 минут пишут кусок ML с нуля: softmax, attention, k-means, AUC. По-китайски такие задания называют «шоусы» — «разорвать руками», то есть написать без библиотек. за 30–45 минут: softmax, attention, k-means, AUC.
  • ML system designпроектирование ML-системEN ML system designПроектирование всей системы, в которой модель — лишь одна часть: требования, метрики, данные, бейзлайн, модель, оценка, сервинг, мониторинг и цикл обратной связи. Отдельная секция собеседований на ML-инженера.. Спроектировать систему за 45–60 минут вслух и с числами. Для middle и выше часто главная секция.
  • Поведенческое интервьюповеденческое интервьюEN behavioral interviewСекция собеседования, где спрашивают о прошлом опыте: «расскажите о случае, когда…». Проверяют, как вы работаете — с ошибками, конфликтами, неопределённостью, сроками. Отвечают историями по методу STAR.. «Расскажите о случае, когда…» — как вы работаете с ошибками, конфликтами, неопределённостью. Отвечают историями по методу STAR.
  • Тестовое задание. Задача на дом на несколько часов или дней: обучить модель, собрать прототип, разобрать данные. Иногда заменяет часть секций.
  • Финал и оффероффер (предложение о работе)EN job offerОфициальное предложение о работе после собеседований: должность, грейд, зарплата и другие условия, дата выхода. Условия оффера обсуждают до подписания — это и есть переговоры об оффере.. Разговор с руководителем команды о задачах, затем предложение с условиями, которые можно обсуждать.

Главная таблица урока. Почти к каждому этапу курс уже готовил вас. Осталось повторить материал в формате собеседования: вслух, с таймером, без подсказок.

ЭтапЧто тренироватьУроки курсаСколько готовиться*
СкринингРассказ о себе за 2 минуты, ответы о мотивации, короткие вопросы по базе11.3.6, этот урок2–3 вечера
АлгоритмыДевять техник, оценка сложности, решение вслух11.3.56–8 недель по 1–1.5 ч в день, план в уроке
Теория ML50–60 частых вопросов с углублением11.3.2 и ступени 1–3: обобщение, метрики, backprop2–3 недели
Вопросы по LLM50–60 вопросов и задачи «на подумать»11.3.3 и ступени 4–92–3 недели
ML codingДевять задач с нуля на NumPy с таймером11.3.4 и ДЗ s11-hw05-ml-coding1–2 недели
ML system designСхема из девяти шагов, оценки на салфетке, четыре разбора11.2.1–11.2.5 и ДЗ s11-hw04-capacity3–4 недели
Поведенческое6–8 историй по STAR, вопросы работодателю11.3.61 неделя
Тестовое заданиеБейзлайн, README, честные выводы, ограничение по времени11.3.6, проекты P1–P11 как образцычасы–дни, по ходу процесса

* Наша оценка для выпускника курса при 1–1.5 часа занятий в день. Темы идут параллельно, а не друг за другом, поэтому вся подготовка занимает 8–10 недель, а не сумму строк таблицы.

Пять принципов, на которых держится план.

  1. Начните с вакансий, а не с учебников. 15–20 вакансий целевой роли покажут, какие этапы и навыки нужны именно вам. Как их разобрать — в практике урока.
  2. Алгоритмы — каждый день понемногу, остальное — блоками. Алгоритмы — навык руки, он копится медленно и быстро выветривается (урок 11.3.5). Теорию и system design удобнее брать блоками по 2–3 недели.
  3. Пробные собеседованияпробное собеседованиеEN mock interviewТренировочное собеседование в формате настоящего: с таймером, вслух, с «интервьюером» — коллегой, учебным напарником или ИИ. Главная польза — разбор после: где молчали, где ушли в сторону, чего не знали. — с середины подготовки. Раз в неделю с учебным напарником или с ИИ в роли интервьюера. Первое пробное собеседование почти всегда проходит хуже, чем ожидаешь: молчание, потерянная нить, забытая формула. Лучше пережить это на тренировке.
  4. Откликайтесь до того, как почувствуете себя готовым. Чувство полной готовности не приходит никогда. Первые настоящие собеседования — тоже тренировка, поэтому начните с компаний, которые для вас не на первом месте.
  5. Разбирайте каждое собеседование. В течение часа после него запишите вопросы и места, где споткнулись, в journal/mistakes.md (тетрадь ошибок). Через месяц у вас будет личный банк вопросов.
НеделиКаждый день, 45–60 минБлок недели, ещё 30–45 мин в деньКонтрольная точка
1–2Алгоритмы: сложность, хэш-таблицы, окноРазбор вакансий, резюме и README проектов (11.3.6)резюме готово, 15–20 вакансий разобрано
3–4Алгоритмы: сортировка, бинпоиск, стек, кучаТеория ML (11.3.2)квиз-тренажёр 11.3.2 без ошибок в ключевых темах; первые отклики
5–6Алгоритмы: графы, ДПLLM (11.3.3) и ML coding (11.3.4, ДЗ s11-hw05)ДЗ s11-hw05 на Strong; первое пробное собеседование
7–8Смешанные задачи с таймеромSystem design (модуль 11.2, ДЗ s11-hw04)два разбора вслух за 45 минут
9–10Повтор задач из тетради ошибокПоведенческое (STAR) и пробные собеседования полного цикла6–8 историй, два полных пробных собеседования

Если у вас уже идут собеседования, план сжимается: смотрите, какие секции ждут вас в ближайшие две недели, и готовьтесь в первую очередь к ним.

  • hh.ru — одна из крупнейших площадок вакансий в России. Ищите по ключевым словам («ML-инженер», «LLM», «PyTorch») и подпишитесь на новые вакансии по сохранённому запросу.
  • Хабр Карьера (career.habr.com) — площадка для IT: вакансии, профиль со стеком технологий, раздел о зарплатах в IT.
  • Карьерные страницы компаний. У крупных компаний свои сайты вакансий и программы стажировок. По ним же видно, какие команды занимаются ML.
  • Рекомендации. Рекомендация сотрудникарекомендация сотрудника (реферал)EN employee referralСотрудник компании передаёт ваше резюме рекрутеру или нанимающему менеджеру напрямую. Процесс собеседований не отменяет, но резюме точно прочитают. Рекомендовать стоит только того, чью работу видел: например, по совместному проекту или open source. гарантирует, что резюме прочитают, хотя собеседования всё равно придётся пройти. Рекомендации вырастают из живых связей: учебные группы, open source (11.4.2), соревнования (11.4.3), сообщества вроде Open Data Science (11.4.4), митапы и конференции.

Удалённая работа и международные компании

Заголовок раздела «Удалённая работа и международные компании»

Главная площадка международного найма — LinkedIn. Профиль на английском должен совпадать с резюме. Учтите, что из России сайт заблокирован с 2016 года. Собеседование в международной компании целиком идёт на английском, поэтому рассказ о проектах и разборы задач заранее проговорите вслух по-английски. Форма договора, налоги, валютные правила и ограничения на найм из вашей страны со временем меняются. Уточняйте их у специалиста до того, как вкладываться в долгий процесс, а не после оффера. Для удалённой работы портфолио особенно важно: работодатель не видит вас в офисе, зато видит ваш GitHub.

СтажировкастажировкаEN internshipРабота на ограниченный срок, обычно для студентов и начинающих: реальные задачи под присмотром наставника. Отбор проще, чем на полную ставку, а хорошая стажировка часто заканчивается предложением о работе. — самый короткий путь в индустрию для человека без опыта: отбор проще, наставник есть, а хорошая стажировка часто заканчивается оффером. Крупные компании набирают стажёров волнами, поэтому следите за их карьерными страницами заранее. Часть программ рассчитана на студентов, так что читайте условия. Ещё один путь — бесплатные школы при компаниях с конкурсным отбором, например Школа анализа данных (ШАД) Яндекса. Они дают сильную программу и связи с индустрией, но к отбору по математике и алгоритмам нужно готовиться.

Цифр мы не приводим: они быстро устаревают и сильно зависят от города, компании и грейда. Ориентиры ищите в обзорах площадок: в разделе зарплат Хабр Карьеры, в аналитике рынка труда от hh.ru, для международного рынка — на levels.fyi. Смотрите на дату обзора, размер выборки и грейд и сравнивайте два-три источника. Один обзор — это точка, а не вилка.

Вакансия состоит из трёх частей: обязанности (что вы будете делать), требования (без чего не возьмут) и «будет плюсом». Требования часто написаны как список пожеланий. Если вы закрываете обязанности и основную часть требований, откликайтесь. Но вакансия «senior, 5+ лет» для первой работы почти наверняка мимо. Ищите junior, стажировки и роли, где засчитают ваш прошлый опыт.

Слова в вакансии подсказывают, какие секции вас ждут и что подтянуть:

В вакансииСкорее всего спросятЧто повторить
PyTorch, обучение моделейML coding, теория DL11.3.4, 11.3.2, ступень 3
LLM, RAG, агенты, промптывопросы по LLM, дизайн LLM-системы11.3.3, 11.2.2, ступень 8
A/B-тесты, статистикаэксперименты и метрики1.3.4, 11.1.3
Docker, Kubernetes, CI/CDдеплой и эксплуатация8.4.3, 11.1.4
vLLM, квантование, CUDAинференс и железомодули 7.1–7.2, 5.7
DDP, FSDP, распределённое обучениемасштабирование обучения5.4.3, 5.7.4
«опыт вывода в продакшен»рассказ о проекте целикоммодули 11.1–11.2 и выпускной проект

Собеседование идёт в обе стороны. Для первой работы главный вопрос — будете ли вы расти: есть ли рядом сильные ML-инженеры и настоящий ML, а не только его название в вакансии. Что выяснить на собеседовании и до него:

Что выяснитьХороший знакТревожный знак
Задачи на первые 3 месяцаконкретный ответ: «ассистент поддержки, сейчас бейзлайн на BM25»«посмотрим, у нас много всего»
Кто наставникв команде есть ML-инженеры, код-ревью, есть кого спроситьвы будете единственным ML-специалистом
Данные и железоданные есть и доступны, есть GPU или бюджет на API«данные соберём потом»
Как модели попадают в продэвалы, A/B-тесты, мониторинг — шаги 6–9 из 11.2.1«выкатываем, если на глаз нормально»
Тестовое заданиена несколько часов, с обратной связьюнеделя работы над реальной задачей компании
Как переживают сбоипостмортемы без поиска виноватых (11.1.4), дежурства описаны«у нас всё горит, привыкнете»

Часть ответов можно найти до собеседования: технический блог и доклады команды на конференциях, её открытый код на GitHub, статьи. Если команда пишет о своих экспериментах с числами и неудачами, ML в ней скорее настоящий. Самый честный источник — сотрудник, с которым вы поговорите без рекрутера. Конкретные вопросы для конца собеседования собраны в уроке 11.3.6.

Вакансий много, а времени мало. Посчитайте, какие навыки требуют чаще всего и каких не хватает вам. Тексты в задании учебные. Когда функции пройдут тесты, замените их на настоящие вакансии своей роли.

Частые навыки в вакансиях и ваши пробелы6 тестов
import re

# Анализ вакансий: какие навыки требуют чаще всего и каких не хватает вам.
# Учебные тексты вакансий: составлены для задания, компании и требования вымышлены.
# Потом замените их на 15–20 настоящих вакансий своей целевой роли.
VACANCIES = [
    "ML-инженер в команду поиска. Требования: Python, PyTorch, SQL, опыт обучения моделей. Плюсом будет: LLM, Docker.",
    "LLM-инженер: ассистент на RAG и агентах. Python, FastAPI, работа с API больших языковых моделей. Плюс — vLLM.",
    "Data scientist: A/B-тесты, SQL, Python, pandas, статистика, градиентный бустинг.",
    "Junior ML engineer. Python, PyTorch or TensorFlow, Git, Linux. Nice to have: Docker, Kubernetes.",
    "Инженер по инференсу LLM: vLLM, квантование, CUDA, Python. Плюсом будет Triton.",
    "MLOps-инженер: Docker, Kubernetes (k8s), CI/CD, Airflow, мониторинг моделей, Python.",
    "Research engineer: PyTorch, распределённое обучение (DDP, FSDP), чтение статей, Python, Git.",
    "NLP-инженер: дообучение LLM через LoRA, RAG, Python, PyTorch, Hugging Face Transformers.",
]

# Навык → его написания в вакансиях (уже нормализованные: строчные, «е» вместо «ё»).
SKILLS = {
    "python": ["python"],
    "pytorch": ["pytorch", "torch"],
    "sql": ["sql"],
    "llm": ["llm", "больших языковых моделей", "большие языковые модели"],
    "rag": ["rag"],
    "docker": ["docker"],
    "kubernetes": ["kubernetes", "k8s"],
    "vllm": ["vllm"],
    "cuda": ["cuda"],
    "lora": ["lora", "qlora"],
    "ab-tests": ["a/b", "ab тесты"],
    "distributed": ["ddp", "fsdp", "распределенное обучение"],
    "git": ["git"],
}


def normalize(text):
    """Приводит текст вакансии к виду, в котором удобно искать навыки.

    1) нижний регистр; 2) «ё» → «е»; 3) каждый кусок из символов, которые НЕ входят в [0-9a-zа-я+#/], —
    в один пробел (регулярное выражение r"[^0-9a-zа-я+#/]+"); 4) лишние пробелы убрать, края обрезать.
    Пример: normalize("LLM-инженер, A/B-тесты; Ёлка C++!") → "llm инженер a/b тесты елка c++".
    """
    # TODO: ваш код
    ...


def extract_skills(text, skills):
    """Множество навыков (ключей skills), у которых хотя бы одно написание есть в тексте ЦЕЛЫМИ словами.

    «rag» не должен находиться в «storage», а «torch» — в «torchvision». Приём: окружить пробелами и
    нормализованный текст, и искомое написание. Многословные написания («большие языковые модели») ищутся как фраза.
    """
    # TODO: ваш код
    ...


def skill_shares(vacancies, skills):
    """Доля вакансий, где встречается каждый навык: [(навык, доля от 0 до 1)].

    Навык считается один раз на вакансию, сколько бы раз его ни упомянули. Навыки с долей 0 не включать.
    Порядок — по убыванию доли, при равной доле — по алфавиту. Пустой список вакансий → [].
    """
    # TODO: ваш код
    ...


def gap_report(vacancies, skills, my_skills, min_share=0.25):
    """Ваши пробелы: навыки с долей ≥ min_share, которых нет в my_skills, — в том же порядке, что в skill_shares."""
    # TODO: ваш код
    ...


print(normalize("LLM-инженер, A/B-тесты; Ёлка C++!"))
print(extract_skills(VACANCIES[0], SKILLS))
print(skill_shares(VACANCIES, SKILLS))
print("Пробелы:", gap_report(VACANCIES, SKILLS, my_skills={"python", "pytorch", "sql", "git"}))
  1. Выберите основную и запасную роль. Соберите 15–20 вакансий на hh.ru, Хабр Карьере или LinkedIn и сохраните их тексты в journal/job-search/vacancies.txt через пустую строку. Журнал приватный, а чужие тексты не нужно публиковать.

  2. Допишите в SKILLS навыки, которые встречаются в ваших вакансиях, и посчитайте доли:

    # vacancies.txt — вакансии через пустую строку; функции — ваши из задания выше
    raw = open("journal/job-search/vacancies.txt", encoding="utf-8").read()
    vacancies = [v for v in raw.split("\n\n") if v.strip()]
    for name, share in skill_shares(vacancies, SKILLS):
    print(f"{name:14s} {share:.0%}") # формат :.0% печатает 0.35 как «35%»
    print("Пробелы:", gap_report(vacancies, SKILLS, my_skills={"python", "pytorch", "rag", "lora"}))
  3. Оцените себя по каждому этапу из главной таблицы по шкале 0–3 и запишите в журнал вместе с доказательством:

    ## Самооценка перед подготовкой · 2026-10-06 · роль: LLM-инженер (запасная: ML-инженер)
    | Этап | 0–3 | Доказательство | План |
    |---|---|---|---|
    | Алгоритмы | 1 | 4 задачи из 11.3.5 решил с подсказками | 11.3.5, каждый день 6 недель |
    | ML system design | 2 | разбор 11.2.2 вслух за 60 минут, без чисел по памяти | 11.2.3–11.2.4, салфетка |

    Шкала: 0 — не знаю, с чего начать; 1 — решаю с подсказками; 2 — решаю сам, но медленно; 3 — решаю вслух за отведённое время. Этапы с оценкой 0–1 ставьте в план первыми, а пробелы из вакансий добавьте отдельной строкой.

Проверь себя6 вопросов
1 Вакансия: «строим ассистента поддержки на готовых LLM через API — RAG, агенты, оценка качества ответов, контроль стоимости». Какая это роль, если судить по обязанностям?
2 Что сильнее всего отличает middle от junior?
3 Какие уроки и задания курса готовят к секции ML system design?Можно выбрать несколько ответов
4 На скрининге спросили: «Какие у вас ожидания по зарплате?» Какой ответ лучше?
5 Из 20 вакансий PyTorch упомянут в 14, LLM — в 11, Docker — в 8, Kubernetes — в 3. У вас есть PyTorch и LLM. Сколько навыков покажет отчёт о пробелах при пороге доли 0.25?
6 Какие признаки должны насторожить кандидата на первую работу в ML?Можно выбрать несколько ответов
  • Названия ML-ролей не стандартизованы — читайте обязанности. Семь типичных ролей: ML-инженер, LLM/AI-инженер приложений, research engineer, исследователь, data scientist, MLOps-инженер, инженер по инференсу.
  • Грейд — это масштаб самостоятельности. Реалистичная цель после курса — стажировка или junior с сильным портфолио, а с прошлым опытом в IT — middle в смежной роли.
  • Этапы найма почти везде одинаковые: скрининг, алгоритмы, теория ML и LLM, ML coding, ML system design, поведенческое, иногда тестовое. К каждому готовит конкретный урок курса, а вся подготовка занимает 8–10 недель при 1–1.5 часа в день.
  • Начинайте с разбора 15–20 вакансий, откликайтесь до ощущения полной готовности, разбирайте каждое собеседование в тетради ошибок и оценивайте компанию так же внимательно, как она оценивает вас.

Дальше: урок 11.3.2 — теория ML и DL: банк частых вопросов по ступеням 1–3 с короткими ответами, типичными ошибками кандидатов и ссылками на уроки курса.

Закончили урок?Урок пройден

Отметьте его — и 5 карточек из урока попадут в колоду повторения. · 5 карточек — в колоде повторения

Первоисточники 4

  • EN
    Chip Huyen. Introduction to Machine Learning Interviews Book
    часть 1 — какие бывают ML-роли, из каких этапов состоит найм и какие сигналы ищут интервьюеры; веб-версия — huyenchip.com/ml-interviews-bookссылка
  • EN
    alirezadir · Machine-Learning-Interviews (AIMLInterviews)
    пять модулей технического собеседования на ML-позиции: алгоритмы, ML coding, широта ML, system design, поведенческое; есть README на китайскомссылка · MIT
  • ZH
    amusi · AI-Job-Notes «Как получить работу на позиции AI-алгоритмиста»
    китайский взгляд на найм в AI: календарь набора выпускников (летняя стажировка, досрочная и основная волны осеннего набора), советы по решению задач на LeetCode и Nowcoder, рекомендации сотрудников; в README есть реклама платной группы — нужна только открытая частьссылка
  • EN
    Yangshun Tay. Tech Interview Handbook
    бесплатное руководство по всем фазам технического найма — от отклика до переговоров об оффере; сайт techinterviewhandbook.orgссылка

Лицензия текста урока: CC-BY-SA-4.0 · обновлено 2026-10-06