Совет студента и преподавателя Codeworks

Итак, вы прошли наш вступительный чат, поздравляем! Теперь мы знаем, что вы серьезно настроены и серьезно относитесь к тому, чтобы стать инженером-программистом. Я сам, будучи студентом программы, стал инструктором, и это мой совет по подготовке к техническому собеседованию.

Что хочет увидеть во время технического интервью?

На первый взгляд, наше техническое интервью посвящено изучению Javascript и базовых концепций информатики. Вы знаете, как работают массивы и объекты и как их перебирать? Как вы объявляете и используете переменные? Насколько удобно вам писать функцию и вызывать ее? Это вопросы, которые проверяют, насколько хорошо вы изучили и усвоили основы Javascript для веб-разработки. Но техническое собеседование - это нечто большее: мы хотим видеть вашу способность решать проблемы, когда вы сталкиваетесь с проблемой, с которой вы никогда раньше не сталкивались.

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

Заставь себя

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

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

Ресурсы для подготовки

Техническая часть приема на Codeworks - это двухэтапный процесс, состоящий сначала из технического собеседования, за которым следует задание по кодированию. Чтобы пройти техническое собеседование, вам необходимо хорошо владеть синтаксисом Javascript и уметь вычислительно мыслить.

Если у вас нет опыта программирования, завершение курса Codecademy по Javascript не гарантирует успешной сдачи. Этот курс фокусируется на синтаксисе и основах языка, а не на вычислительных методах, которые вам понадобятся для решения проблем, что мы и ищем на техническом собеседовании.

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

Я подготовился к техническому собеседованию, просмотрев этот список ката на Codewars (вы будете готовы к собеседованию, если дойдете до пункта 25). На сегодняшний день это мой любимый ресурс, который я рекомендую всем новичкам. Мне это очень нравится, потому что каждая глава знакомит с новой базовой концепцией Javascript. Затем он заставляет вас применять то, что вы только что узнали, творчески, что заставляет вас мыслить вычислительно.

Задачи, перечисленные далее в списке, также основываются на более ранних концепциях. Требование, чтобы вы вспомнили то, что вы узнали раньше, в новом контексте - ключевая стратегия для овладения любым навыком. Более того, все вызовы на Codewars бесплатны. Вы не сможете увидеть решения без штрафных санкций, пока не решите их самостоятельно!

Еще один ресурс, который мне очень понравился, - это Khan Academy, в частности их модуль по рекурсии. Рекурсия - одна из центральных идей информатики, и ее очень трудно понять новичкам. Если вы чувствуете, что не понимаете всего, ничего страшного! Важно то, что вы изо всех сил пытаетесь понять это и немного попрактикуетесь.

Личный урок

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

В бесплатном EDX-курсе Эффективное мышление через математику профессор задает вопрос.

Десять человек (пять пар) идут на вечеринку и начинают рукопожатие. Вы
не жмете руку супругу или (конечно же) свою руку. Один из
мужчин, Джейк, кричит: «Стой! Сколько рук вы пожали? Каждый
дает свой ответ. Жена Джейка отвечает последней. Сколько у нее
рукопожатий? Это 0?

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

записывая то, что мы знаем.

Сломай

Так что запишите это; это самый первый шаг. Записывание того, что вы знаете, а затем экспериментирование с доступной информацией заставляет вас сломать проблему.

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