Блог

Почему Литкода недостаточно

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

0. Фундаментальная теория.

Литкод не для обучения, а для тренировки. Если какой-то класс проблем "не идет" потому что не хватает знаний структур данных или алгоритмов, лучше почитайте книгу или пройдите курс.

1. Коммуникация

Задачи на собеседовании зачастую специально не до конца определены, чтобы дать кандидату возможность уточнить задачу, спросит про ограничения на данные и т.п.
Это показывает, как и в реальной жизни человек ведет себя: сразу бросается решать то, как он понял (возможно, неверно), или задаст уточняющие вопросы и убедится, что он правильную задачу решает. 

Также нужно уметь донести свои мысли и идеи до интервьюера. Лучше вообще не молчать. А если надо подумать в тишине, то заранее предупредить.

2. Оформление кода


Литкоду и codeforces без разницы, работает — не трогай. 
Но в реальной жизни, как и в собеседовании, код читают живые люди. И он должен быть понятным: 
- названия переменных и функций должны отражать то, что в них содержится: t, s, k, obj, func — это всё плохие названия.
- код должен быть структурирован: если какая-то часть решения логически отдельная, желательно выделить её в функцию. Иногда уместно использовать классы. Если человек понимает, как структурировать код — это большой плюс.

3. Другие типы собеседований


Кроме программирования бывают и другие типы собеседований:
- System Design
- Object Oriented Programming, архитектура классов
- Design Patterns
- Behavioural

4. Резюме


Чтобы вообще попасть на собеседование, нужно чтобы ваше резюме понравилось рекрутеру и потенциальному менеджеру. Если человек решил читать его 10 секунд оно должно ему понравится (это для рекрутера, должно быть адаптировано для быстрого чтения), и если человек читает его две минуты или 10 минут, ему тоже должно понравится (это для руководителя группы который берет к себе человека).

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

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

Разработка