Собеседование по программированию: отличные инструменты и полезные советы, которые помогут сделать правильный выбор

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

Кодирование интервью в формате GIF

Какое дело с собеседованиями по кодированию?

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

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

Важная часть вашей подготовки к собеседованию по кодированию - это правильное мышление. Однако я не собираюсь здесь затрагивать эту тему. Другое дело - быть готовым с точки зрения имеющейся у вас базы знаний. Даже если вы, возможно, уже знакомы с некоторыми концепциями, всегда есть возможность что-то освежить. Это то, на чем я сосредоточусь в этой публикации.

Время - ваш самый ценный ресурс

Готовясь написать этот пост, я хотел посмотреть под другим углом, нежели тот, который у меня есть. Поэтому я спросил Трея Хаффина, мнение которого я очень ценю, что, по его мнению, является самым важным, о чем разработчики должны помнить при собеседовании по кодированию?

Самый ценный ресурс при подготовке к собеседованию - это ваше время. Чем эффективнее вы используете свое время или чем меньше времени вы тратите впустую, тем больше у вас шансов изучить концепции и интуицию, необходимые для успешного прохождения собеседований по программированию и уверенности в ответе на любой возможный вопрос . - Трей Хаффин, основатель gitconnected и expert.dev

Что нужно знать о существующих решениях?

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

  • Вам все равно нужно поискать в Интернете, чтобы заполнить пробелы или получить полный опыт, необходимый для подготовки.
  • Многие варианты сосредоточены только на решении проблем, вместо того, чтобы тратить время на эффективную подготовку по широкому кругу категорий, чтобы узнать, что необходимо. Время следует потратить на изучение наиболее важных концепций, которые, скорее всего, будут проверены.
  • Многие говорят вам, что нужно изучать, но не говорят, почему вы это изучаете, и о результатах обучения.
  • Отсутствие личной поддержки. Не все можно сделать автоматически с уже существующими текстами и видео. Иногда вам просто нужно задать вопрос в своем собственном стиле.

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

Кодовые войны

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

  • Плюсы: это бесплатно! Хорошо для того, чтобы задавать практические вопросы и оставаться начеку. Хорошее сообщество и система баллов.
  • Минусы: не зацикливайтесь на собеседовании. Он предназначен для того, чтобы оставаться в курсе программирования и не только для удовольствия от кодирования - нет категорий, которые снова означают, что это заставляет вас сосредоточиться на шлифовании, а не на обучении.

Итоговая оценка: 4 из 5
Почему я поставил такую ​​оценку? В целом концепция отличная и новаторская. Договор, с которым вы можете сотрудничать, и то, что это бесплатно, меняет правила игры для многих разработчиков. Он не получил 5, так как он не предназначен для собеседований. Это отличный инструмент, который поможет вам лучше писать код на собеседованиях, но вам придется много работать, чтобы использовать Codewars.

Skilled.dev

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

  • Плюсы: Skilled.dev старается быть как можно более полным, чтобы вам никогда не приходилось покидать платформу (сводит к минимуму необходимость поиска дополнительных знаний за пределами). Он предназначен для подготовки к собеседованию для пожилых людей и разработчиков, которые только что закончили программировать Bootcamp. Я ценю его всеобъемлющий характер: каждый вопрос содержит пошаговую текстовую статью, видео с пошаговым руководством по решению и интегрированную среду выполнения кода для тестирования ваших решений.
  • Минусы: он был запущен недавно. Это означает, что он достаточно свежий, и, если вы не можете осмелиться стать одним из первых последователей, возможно, он не для вас.

Итоговая оценка: 4,5 из 5
Почему я поставил такую ​​оценку? Он обеспечивает отличное решение для многих проблем, которые упускают из виду современные платформы для собеседований по кодированию. Я не мог поставить ему пятерку, так как он только что запущен, и люди его пробуют. Очень любопытно увидеть эти обзоры в ближайшие несколько месяцев. Я лично считаю, что expert.dev может добиться больших успехов и получить 5 из 5.

LeetCode

LeetCode - это платформа, которая поможет вам улучшить свои навыки, расширить свои знания и подготовиться к техническим собеседованиям.

  • Плюсы: множество проблем и разбиты по категориям. Почему это важно? Предлагает решения проблем с краткими пояснениями. Также есть раздел комментариев и форумы для обсуждения.
  • Минусы: нет указаний или рекомендаций - пользователь сам решает, как проводить свое время, что может оказаться эффективным, а может и нет. Проблема в том, что это заставляет вас сосредоточиться на измельчении, а не на обучении. Мы видим, что объяснения сделаны на высоком уровне из отзывов пользователей и не вдавались в подробности. Это заставляет читателя проводить дополнительные исследования, чтобы получить необходимые предварительные знания и обнаружить важные результаты обучения. Чтобы добавить вишенку на вершину, многим разработчикам это может быть немного дороже.

Итоговая оценка: 4 из 5
Почему я поставил такую ​​оценку? У этой платформы серьезный послужной список. Однако они по-прежнему упускают из виду некоторые фундаментальные вещи, которые ожидает рядовой пользователь, например, надлежащее руководство. Контент отличный, но ему не хватает опыта работы с пользователем, который упростил бы его использование, не теряя много времени.

Другие распространенные методы подготовки к собеседованию по кодированию

FreeCodeCamp

  • Плюсы: отличное сообщество. Некоторое курирование.
  • Минусы: в основном это указывает на внешние источники. Курирование несложное, поэтому вы, скорее всего, просто задаете вопросы и вынуждены искать в Интернете, когда вы чего-то не понимаете. Непонятно, почему выбраны определенные темы или вопросы - вы должны сами узнать результаты обучения

Если вам нравятся такие вещи, как freeCodeCamp, вы можете также проверить эти два ресурса:

Каналы YouTube

  • Плюсы: бесплатно. Многие великие учителя. Вы наверняка сможете найти видео на что угодно.
  • Минусы: здесь нет инструкций и рекомендаций, поэтому вам нужно время, чтобы решить, что изучать, и вы вынуждены выяснять, что для вас важно. Это заставляет вас решить, что важно выучить и изучить. Неуверенность в том, насколько хорошо что-то поддерживается или обновляется. Нет среды выполнения кода, в которой можно было бы предоставить образцы кода, тесты и решения.

Crack the Coding Interview [Книга]

  • Плюсы: много вопросов. Это дешево по сравнению с чем-то вроде LeetCode. Охватывает все темы собеседований (преподает концепции, выполняет поиск работы, обсуждает мягкие навыки, охватывает все основные структуры данных и алгоритмы).
  • Минусы: это не универсальный продукт. Пояснения к структурам данных и алгоритмам все еще находятся на высоком уровне. Скорее всего, это заставит вас получить дополнительные знания в Интернете, чтобы по-настоящему изучить темы, если у вас нет опыта в области компьютерных наук и вам просто не нужно переподготовки. Это книга, поэтому вы упускаете из виду все аспекты цифровых технологий (например, среду для запуска кода и тестирования решений, обсуждения в сообществе, видео, интерактивные примеры, простую связь между темами и концепциями). Кроме того, поскольку это книга, у вас не будет возможности получать обновления после покупки экземпляра.

Что нужно учитывать перед поездкой

  • Вы получаете только бесплатные материалы или готовы немного заплатить, чтобы получить более качественные презентации? Я рекомендую вам сделать здесь вложения, а не использовать только бесплатные. Большая часть премиального контента не бесплатна. Если вы хотите быстро получить желаемую работу, возможно, вам стоит подумать о вложении средств.
  • Насколько вы заботитесь о времени? Некоторые платформы, как правило, тратят кучу времени, которое в противном случае можно использовать для подготовки.
  • Это ваше первое интервью? Или вы уже знакомы с процессом? Если вы новичок, я бы порекомендовал начать с онлайн-платформ, таких как expert.dev и LeetCode, поскольку у них есть интерфейс для проверки ваших ответов в Интернете.

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

daily.dev - самый простой способ оставаться в курсе последних новостей программирования. Это лента статей, оцененная сообществом из более чем 60 000 разработчиков. Получайте лучший контент из лучших технических изданий по любой теме. Все в одном расширении.