Как всё устроено
Этапы
Цель каждого технического интервью — получить информацию о ваших навыках. Но если вы решили задачи и остается время, не стесняйтесь задать вопросы про Яндекс.
Обратная связь
Сроки предоставления обратной связи: обычно в течение трех дней после каждого пройденного этапа.
- Cобеседования проходят в Zoom
- Код пишем в онлайн-редакторе Яндекс Интервью
В зависимости от вашего опыта мы предложим один из двух треков собеседований
Проверка базовых технических навыков
Алгоритмическая задача (Python/Go)
Повторите основы языка
Для Python
- Списки, словари, множества
- Работа с файлами: open, read, write
- Регулярные выражения
Для Go
- Срезы, мапы, структуры
- Работа с файлами: os, io
- Регулярные выражения
Попрактикуйте алгоритмы
Полезные ресурсы
- LeetCode (Easy/Medium) — задачи на строки, массивы, связные списки
- Codewars (Python/Go) — короткие алгоритмические задачи
- GeeksforGeeks — разбор популярных алгоритмов
- Tour of Go — тур по Go
- The Python Tutorial — учебник по Python
Типовые темы
- Срезы, мапы, структуры
- Работа с файлами: os, io
- Регулярные выражения
Потренируйтесь писать код без IDE
- Пишите код в блокноте или простом редакторе без автодополнения.
- Проговаривайте вслух ход решения. Попробуйте обосновать свои выводы без запуска кода
„„„ Напишите функцию, которая принимает список строк и возвращает самую длинную строку, которая может быть составлена из других строк списка. Пример: “cat”, “cats”, “dog”, “catsdog”] → “catsdog” „„„ def longest_composite_word(words): # ваш код здесь
Консольные задачи (Linux, траблшутинг)
Работать будете в виртуальной машине через SSH — понадобится демонстрация экрана. Проверьте настройки Zoom или Telemost, что во время секции не возникло проблем.
Во всех задачах есть описание того, что нужно сделать. Если останутся вопросы, обратитесь к интервьюеру.
Попрактикуйте диагностику проблем
Типичные сценарии
- Сервис не запускается
- Диск переполнен
- Высокая нагрузка на CPU
- Проблемы с сетью
- Парсинг лога
Полезные ресурсы
- OverTheWire Bandit — задачи на поиск уязвимостей
- CmdChallenge — практика работы с консолью
- SadServers — реалистичные сценарии траблшутинга
Потренируйтесь быстро искать информацию
- Используйте man и --help
- Узнайте или вспомните, где искать логи
- Проблема: «Сервер не сохраняет логи в /var/log/myapp.log. Найдите и исправьте проблему».
- Проблема: «Процесс python3 использует 100% CPU. Найдите причину и устраните её, если это необходимо».
Проверка углубленных технических навыков
Алгоритмическая задача (Python/Go)
Повторите основы языка
Для Python
- Списки, словари, множества
- Работа с файлами: open, read, write
- Регулярные выражения
Для Go
- Срезы, мапы, структуры
- Работа с файлами: os, io
- Регулярные выражения
Попрактикуйте алгоритмы
Полезные ресурсы
- LeetCode (Easy/Medium) — задачи на строки, массивы, связные списки
- Codewars (Python/Go) — короткие алгоритмические задачи
- GeeksforGeeks — разбор популярных алгоритмов
- Tour of Go — тур по Go
- The Python Tutorial — учебник по Python
Типовые темы
- Поиск и сортировка
- Хеш-таблицы (словари)
- Работа со строками
- Простые структуры данных — например, стек или очередь
Потренируйтесь писать код без IDE
- Пишите код в блокноте или простом редакторе без автодополнения.
- Проговаривайте вслух ход решения. Попробуйте обосновать свои выводы без запуска кода
„„„ Напишите функцию, которая принимает список строк и возвращает самую длинную строку, которая может быть составлена из других строк списка. Пример: “cat”, “cats”, “dog”, “catsdog”] → “catsdog” „„„ def longest_composite_word(words): # ваш код здесь
Задача на восстановление работоспособности сервиса (Linux, траблшутинг)
Работать будете в виртуальной машине через SSH — понадобится демонстрация экрана. Проверьте настройки Zoom или Telemost, что во время секции не возникло проблем.
Во всех задачах есть описание того, что нужно сделать. Если останутся вопросы, обратитесь к интервьюеру.
Попрактикуйте диагностику проблем
Типичные сценарии
- Сервис не запускается
- Проблемы с сетью
Полезные ресурсы
- OverTheWire Bandit — задачи на поиск уязвимостей
- CmdChallenge — практика работы с консолью
- SadServers — реалистичные сценарии траблшутинга
Потренируйтесь быстро искать информацию
- Используйте man и --help
- Узнайте или вспомните, где искать логи
Проверка базовых технических навыков
Алгоритмическая задача (Python/Go)
Повторите основы языка
Для Python
- Списки, словари, множества
- Работа с файлами: open, read, write
- Регулярные выражения
Для Go
- Срезы, мапы, структуры
- Работа с файлами: os, io
- Регулярные выражения
Попрактикуйте алгоритмы
Полезные ресурсы
- LeetCode (Easy/Medium) — задачи на строки, массивы, связные списки
- Codewars (Python/Go) — короткие алгоритмические задачи
- GeeksforGeeks — разбор популярных алгоритмов
- Tour of Go — тур по Go
- The Python Tutorial — учебник по Python
Типовые темы
- Срезы, мапы, структуры
- Работа с файлами: os, io
- Регулярные выражения
Потренируйтесь писать код без IDE
- Пишите код в блокноте или простом редакторе без автодополнения.
- Проговаривайте вслух ход решения. Попробуйте обосновать свои выводы без запуска кода
„„„ Напишите функцию, которая принимает список строк и возвращает самую длинную строку, которая может быть составлена из других строк списка. Пример: “cat”, “cats”, “dog”, “catsdog”] → “catsdog” „„„ def longest_composite_word(words): # ваш код здесь
Консольные задачи (Linux, траблшутинг)
Работать будете в виртуальной машине через SSH — понадобится демонстрация экрана. Проверьте настройки Zoom или Telemost, что во время секции не возникло проблем.
Во всех задачах есть описание того, что нужно сделать. Если останутся вопросы, обратитесь к интервьюеру.
Попрактикуйте диагностику проблем
Типичные сценарии
- Сервис не запускается
- Диск переполнен
- Высокая нагрузка на CPU
- Проблемы с сетью
- Парсинг лога
Полезные ресурсы
- OverTheWire Bandit — задачи на поиск уязвимостей
- CmdChallenge — практика работы с консолью
- SadServers — реалистичные сценарии траблшутинга
Потренируйтесь быстро искать информацию
- Используйте man и --help
- Узнайте или вспомните, где искать логи
- Проблема: «Сервер не сохраняет логи в /var/log/myapp.log. Найдите и исправьте проблему».
- Проблема: «Процесс python3 использует 100% CPU. Найдите причину и устраните её, если это необходимо».
Проверка углубленных технических навыков
Алгоритмическая задача (Python/Go)
Повторите основы языка
Для Python
- Списки, словари, множества
- Работа с файлами: open, read, write
- Регулярные выражения
Для Go
- Срезы, мапы, структуры
- Работа с файлами: os, io
- Регулярные выражения
Попрактикуйте алгоритмы
Полезные ресурсы
- LeetCode (Easy/Medium) — задачи на строки, массивы, связные списки
- Codewars (Python/Go) — короткие алгоритмические задачи
- GeeksforGeeks — разбор популярных алгоритмов
- Tour of Go — тур по Go
- The Python Tutorial — учебник по Python
Потренируйтесь писать код без IDE
- Пишите код в блокноте или простом редакторе без автодополнения.
- Проговаривайте вслух ход решения. Попробуйте обосновать свои выводы без запуска кода
„„„ Напишите функцию, которая принимает список строк и возвращает самую длинную строку, которая может быть составлена из других строк списка. Пример: “cat”, “cats”, “dog”, “catsdog”] → “catsdog” „„„ def longest_composite_word(words): # ваш код здесь
Задача на восстановление работоспособности сервиса (Linux, траблшутинг)
Работать будете в виртуальной машине через SSH — понадобится демонстрация экрана. Проверьте настройки Zoom или Telemost, чтобы во время секции не возникло проблем.
Во всех задачах есть описание того, что нужно сделать. Если останутся вопросы, обратитесь к интервьюеру.
Попрактикуйте диагностику проблем
Типичные сценарии
- Сервис не запускается
- Проблемы с сетью
Полезные ресурсы
- OverTheWire Bandit — задачи на поиск уязвимостей
- CmdChallenge — практика работы с консолью
- SadServers — реалистичные сценарии траблшутинга
Потренируйтесь быстро искать информацию
Полезные ресурсы
- Используйте man и --help
- Узнайте или вспомните, где искать логи
Практики SRE
SRE practice
Попросим вас спроектировать сервис на платформе Excalidraw — ознакомьтесь заранее, чтобы посмотреть на элементы управления.
Вашей задачей будет нарисовать архитектуру сервиса и обсудить компоненты современной инфраструктуры: балансировщики, reverse proxy, сервисы хранения, базовые СУБД (SQL/NoSQL), очереди, кеши.
Повторите основные SRE практики и как они применяются
- Надежность и SLA/SLO/SLI
- Постмортемы, инцидент-менеджмент и другие практики
- Регулярные выражения
Попробуйте нарисовать схемы архитектур типовых сервисов
Полезные ресурсы
- для high-load веб-приложения
- микросервисной платформы
- ETL пайплайна
- инфраструктуры малой компании
- S3 object storage
- habr.com
Изучите полезные ресурсы
- Google SRE Book
- Site Reliability Workbook
- https://martinfowler.com/microservices/
- https://books.yandex.ru/books/CaFYb3Pu System design.
- AWS Amazon Architecture
- https://kubernetes.io/docs/setup/best-practices
- https://www.coursera.org/learn/cloud-computing
- https://www.educative.io/courses/grokking-the-system-design-interview
- Производительность систем — Грегг Б.
Коротко о подготовке
- Алгоритмы. Ежедневно пишите код на LeetCode и Codewars.
- Linux. Решайте задачи на OverTheWire и SadServers.
- Траблшутинг. Учитесь анализировать логи и использовать команды для траблшутинга.