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