Здравствуйте! Почему у программистов такие лютые собеседования? Я такого не видел больше ни в одной профессии. На собеседовании программистам устраивают самый настоящий жёсткий квалификационный экзамен, спрашивая всё, что только можно спросить + всякие задачки на логику, алгоритмы и т.п. Зачем так жёстко-то? Будто в Кремль устраиваешься программистом... Это жесть... Невозможно же быть асом во всех аспектах этой профессии... Но если что не ответил не возьмут... Это жесть просто... Чтобы пройти собеседования, нужно лет 5 жить в обнимку с компьютером и учиться в режиме 24/7... Это же нереально...
Дотошные собеседования с вопросами о каждой мелочи проводят люди, которые либо сами не слишком грамотные специалисты, либо не понимают, как оценить кандидата, либо просто ленивы и им плевать. В этих случаях берутся стандартные формальные вопросы на знание терминологии и прочих не очень полезных на практике вещей. Да-да, клиент платит не за паттерн обозреватель, а за правильно работающую, надежную, красивую и поддерживаемую программу, а соотношение этого с теоретическими знаниями — скорее слабая корреляция, чем жесткая функциональная зависимость.
Лично я спрашиваю на собеседования только пару общих вопросов по теории, типа «как работает X», где X — ключевая технология, используемая в работе. При этом мне важно понимание сути, а объяснять можно хоть на пальцах, сыпать терминами не нужно. Большая часть вопросов призвана проверить, как кандидат думает, насколько хорошо ориентируется в инструментах (ведь мало написать код, нужно его упаковать и доставить потребителю), как декомпозирует задачу, видит ли потенциальные проблемы и задает ли вопросы (или слепо пишет код, не вникая).
Теорию всегда можно нагуглить. В нашей сфере мало толку от кучи неиспользуемой информации. Когда требуются определенные знания для решения задачи, человек идет в гугл и ищет мануалы/документацию/гайды/статьи/книги. Немотивированное запоминание всего подряд лишь отбирает время и ресурсы мозга, которые можно потратить на более приятные занятия, личную жизнь, увлечения (все мы увлечены программированием, но ведь не им одним).
Собеседования такие жёсткие т.к. никто не хочет в команду человека который не понимает чем O(n) отличается от O(1)
Командам нужно закрыть дырку, а не возиться с джуном, которому нужно объяснять нюансы.
Возможно, я напишу бред, но, как я понял, O(n) - это число, где n - некий индекс, а O(1) - это O * 1 ?
то, что вам адекватно, кому-то жесть, как сложно ))
Жестоко, но я согласен.