Мы постарались построить собеседование так, чтобы специальная длительная подготовка не требовалась. Все темы обсуждаются в форме простого диалога, где мы разбираем реальные примеры из нашего или твоего опыта или практические задачи.
Регламент
Длительность - обычно интервью занимает 60 минут, но мы рекомендуем зарезервировать 90 минут, так как иногда времени не хватает.
Темы - примерный список тем представлен ниже в разделе "Темы для обсуждения".
Практические задачи на кодирование мы подбираем так, чтобы в них не было сложных алгоритмов - в первую очередь мы хотим проверить навыки решения и обсуждения технических задач.
Будь готов писать код в сетевом блокноте - без IDE. Здесь, возможно, потребуется некоторая сноровка, поэтому мы рекомендуем прорешать несколько задач из списка ниже в редакторе без автодополнения или "на бумаге".
Код может содержать незначительные ошибки компиляции, но вцелом должен удовлетворять требованиям и практикам, принятым в профессиональном сообществе.
Мы не ожидаем глубоких знаний по всем темам. Если у тебя нет опыта или экспертизы по теме, то ее можно пропустить - просто скажи об этом интервьюеру.
Темы для обсуждения
Ревью кода и поиск проблем в чужом коде:
Тебе предлагается выступить в роли ревьюера.
Постарайся понять идею автора
Прокомментируй код и API
Предложи исправления, которые считаешь нужными.
Решение практической задачи на написание кода:
Здесь проверяется навык владения одним из языков программирования, который заявлен, как основной.
Нет цели написать код который будет компилироваться.
Собеседующий подскажет стандартный sdk и поможет с выбором алгоритма.
Примеры задач можно посмотреть на leetcode (Algorithms, easy).
Решение задачи на многопоточное взаимодействие:
Здесь проверяется навык организации межпоточного взаимодействия.
Эту задачу мы даем опытным кандидатам.
Потребуется написать немного кода.
Написание SQL запросов:
Предложи простой запрос для решения практической задачи.
Если есть опыт, то поговорим про оценку производительности запроса.
Эксплуатация приложений:
Поговорим про жизненный цикл приложений.
Обсудим методы диагностики проблем на продакшене.
Работа с k8s. Ключевые концепции и подходы к решению типовых задач.
Linux core - про системное программирование и понимание основных сущностей в подсистеме Linux.