Инфраструктурными задачами:
Продуктовыми задачами:
Вам предстоит решить пять задач за 5 часов. Перед тем, как начать, рекомендуем пройти тренировочный контест — в нём собраны тестовые задания прошлых лет. Решать задачи можно на множестве языков — Python, C++, Java, Go, PHP, C#, C, Kotlin, Scala, JavaScript. Все решения проверяются автоматически.
Если ваше решение не проходит проверку, попробуйте учесть возможные краевые случаи, написать стресс-тесты или просто более тщательно проанализировать возможные ошибки. И главное — помните: необязательно выполнить все пять задач, чтобы пройти на следующий этап. Начните с малого, а мы оценим ваши знания и навыки.
Что вам поможет подготовиться:
После успешного прохождения тестового задания вас пригласят на 2–3 технических интервью. Каждое длится час-полтора.
Вас попросят решить 2–3 задачи на написание кода, алгоритмы и структуры данных, а также ответить несколько вопросов по теории. Залог успешного прохождения технического интервью — хорошее знание алгоритмов и выбранного языка программирования.
Важно уметь оценивать сложность алгоритмов, писать читаемый код, внимательно проверять ошибки, не забывать про краевые случаи. Не менее важно уметь коммуницировать с интервьюером — слышать подсказки и реагировать на них, не бояться задавать вопросы, рассуждать вслух, озвучивать возникающие идеи. Опыт самостоятельных проектов — учебных, рабочих или личных — всегда преимущество. Будет полезно, если вы заранее вспомните пару таких примеров и поделитесь с нами на собеседовании.
Дополнительным плюсом будут:
Что вам поможет подготовиться:
Часто стажёры знают алгоритмы едва ли не лучше разработчиков. Поэтому помните: ваши главные враги — волнение и отсутствие привычки крутить код в голове.
Я не видел каких-то однотипных технических ошибок, но вот нетехнические ошибки на собеседованиях у всех одинаковые. Если тезисно:
Ребята не проверяют свой код до сдачи, даже если явно попросить об этом.
Не задают вопросы по задаче, даже если они есть. В итоге тратят время на решение не той задачи.
Стесняются честно ответить, что не знают ответ на вопрос, и начинают придумывать ответ на ходу. Это всегда видно и обнажает все пробелы в конкретной теме и парочке смежных. К тому же это плохой сигнал для найма — я ожидаю, что человек в рабочем процессе попросит помощи в незнакомой теме.
Не следуют договоренностям. Если план решения уже обсудили — стоит следовать плану, это важно для командной работы.
Часто стажёры знают алгоритмы едва ли не лучше разработчиков. Поэтому помните: ваши главные враги — волнение и отсутствие привычки крутить код в голове.
Я не видел каких-то однотипных технических ошибок, но вот нетехнические ошибки на собеседованиях у всех одинаковые. Если тезисно:
Ребята не проверяют свой код до сдачи, даже если явно попросить об этом.
Не задают вопросы по задаче, даже если они есть. В итоге тратят время на решение не той задачи.
Стесняются честно ответить, что не знают ответ на вопрос, и начинают придумывать ответ на ходу. Это всегда видно и обнажает все пробелы в конкретной теме и парочке смежных. К тому же это плохой сигнал для найма — я ожидаю, что человек в рабочем процессе попросит помощи в незнакомой теме.
Не следуют договоренностям. Если план решения уже обсудили — стоит следовать плану, это важно для командной работы.