Топ 5 ошибок на алго собесе
Сейчас алгоритмическая секция есть почти в любой компании, особенно в крупной. Сегодня наш преподаватель Тимур, который сам провел десяток алго собесов, поделиться своим топом ошибок у кандидатов, и подскажет, как их исправить. А если хотите более комплексно подготовиться к алго секции, то записывайтесь на наш курс.
1. Незнание асимптотики для встроенных функций
Например кандидат начинает хранить всю подстроку вместо того, чтобы хранить крайние позиции подостроки и ошибочно думает, что делают это за О(1). Так dp[i][j] = s.substr(i, j) - здесь при оценки сложности кандидаты забывают, что s.substr(i, j) работает за линию.
Для предотвращения ошибки, достаточно посмотреть примеры оценки алгоритмов, разобраться с работой стандартных функций ( append, pop, substr и тд), например, просто прочитав документацию. Также во время практики постоянно задаемся вопросом: за сколько работают используемые функции.
2. Тайминг
Кандидаты мало внимания уделяют тренировке скорости решения задач, плохо и медленно объясняют решение. Часто кандидаты не успевают дорешать вторую задачу именно из-за того, что просто долго объясняли решение.
При подготовке объясняйте свое решение товарищам или зарегистрируйтесь на сайте pramp. Там можно найти единомышленников, которые тоже готовятся к собесам и проводить друг другу интервью.
3. Зациклиться на каком то одном алгоритме
Распространенной ошибкой является прорешка задач на определенную тему перед собеседованием. В первую очередь начинает искать решение в самых свежих воспоминаниях. Часто замечал картинку, как кандидат пытается предложить решение из какой-то продвинутой олимпиадной темы, при этом видно, что он только в процессе ее освоения, хотя сама задача на просто на два указателя.
Чтобы не повторять такую судьбу, просто решайте как можно больше разнообразных задач перед собеседованием, устраивайте разнобой.
4. Угловые тесты
На алгоритмических собеседованиях часто возникают ситуации, когда задачи имеют нестандартные условия или пограничные случаи такие как пустой массив или множество. Не все к ним готовы. После написания кода собеседующий может указать на ошибки, и вам придется потратить время на их исправление и в следствие не успеть решить все задачи, хотя подобные ошибки можно было предусмотреть заранее.
Поэтому во время подготовки анализируем свои решения и смотрим на каких маленьких тестах решение может упасть. Например пустая строка или n=1
5. Компилятор
Все привыкли к тому, что на LeetCode после написания кода сразу показываются синтаксические ошибки. Однако на реальном интервью такое невозможно, так как код не компилируется. Поэтому на поиск таких ошибок может потребоваться дополнительное время. Так можно запросто забыть проверить есть ли ключ в словаре или нет: без запуска на определенных тестах можно не заметить такую ошибку.
Поэтому во время подготовки пишите код на не компилируемом редакторе, а затем отправляйте свой код в литкод на проверку. Из интереса можно попробовать кодить без компилятора.
А какие ошибки вы бы добавили в этот топ? Обязательно пишите в комментариях!
Post #54
25.8K
- 🔥 26
- 👍 9
- ❤ 4