вступление

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

Спросите устаревшие темы

Сейчас 2022 год, а эра ES5 давно прошла, так что я думаю, задавать вопросы по коду, которые включают var, не такая уж хорошая идея…
вот пример:

вот вопрос - почему при нажатии li элементов выводится всегда "5"?

Ответ, который здесь считается «правильным», заключается в том, что функция обратного вызова клика должна быть заключена в замыкание, как здесь:

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

как-то проигнорил...

Я знаю, цель здесь — проверить, знает ли интервьюируемый о термине close и его значении, но, если этот шаблон больше не используется в современном коде… почему знание истории должно быть фактором для взять человека в команду? Вы большой поклонник истории?

Дайте большие домашние экзамены

Иногда компании хотят «пощупать» ваши возможности кодирования и предлагают вам провести какую-то домашнюю оценку… Обычно все начинается со слов «создайте приложение, которое показывает…»
и далее следует список требований вроде —

  • идеальный пиксель (как данный дизайн)
  • машинопись
  • следует использовать избыточность
  • доступный
  • и т. д…

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

Кроме того, как интервьюер, вы, скорее всего, будете тем, кто будет проверять задачи кодирования и пытаться оценить навыки кодирования кандидатов…
Это непростая задача – увидеть, в чем именно заключаются слабые и сильные стороны. чьего-то кода, когда он содержит множество файлов js, css, html, json (не говоря уже о множестве различных аспектов и практик, таких как линтинг кода, сообщения коммитов и т. д.)…

Что касается соискателя, (парня, который пытается получить представление о внутренней атмосфере компании) —
задание, которое заявлено как выполнение нескольких часов, но на самом деле занимает дни, может свидетельствовать о нереальных сроках и жестком давлении или двусмысленности критериев -выполнено в ежедневных задачах…

Задавайте алгоритмические вопросы

Алгоритмическое мышление всегда считалось признаком хорошего программиста… но я думаю, говоря о фронтенде в 2022 году, мы должны спросить: почему именно?
мы должны взять в команду кого-то, кто может быстро написать функцию, которая получает index и возвращает член fibonacy?
лучше ли посмотреть знание flex фичи в css, или посмотреть, знает ли он реагировать?
потому что если нет — получится гениальный парень, которому нужно будет многому научиться,
> даже если он гениален, это может занять время…

Да, я знаю, о чем вы думаете, читая эти строки… алгоритмические навыки, необходимые для решения проблем с производительностью!
Ну, как человек, который наблюдал несколько проблем с производительностью на разных проектах — обычно причина проблемы является злоупотреблением (или неправильным использованием) некоторых функций фреймворка (например, слишком много рендеров в реакции), и его можно решить, хорошо зная фреймворк или его инструменты. какая-то существующая функция) может быть даже вредным в таких случаях

Хороший пример экзамена

Итак, вместо того, чтобы все критиковать, могу ли я порекомендовать какой-нибудь вопрос для интервью, чтобы найти хорошего разработчика реагирования?
На самом деле я могу подумать о каком-то вопросе, например —
учитывая следующие документы, реализовать компонент Collapse:

бонус, поддержка режима «аккордеон» (одновременно открыта только одна панель)

Заключение

Цель собеседования — найти лучшего фронтенд-разработчика для вашей команды.
Итак, прежде чем гуглить «лучшие вопросы для фронтенд-интервью»,
спросите себя — что я хочу, чтобы этот парень/девушка делал в своей повседневной работе?
(Потому что может случиться так, что в вашей команде вы делаете что-то другое, когда находитесь в месте, откуда пришли вопросы)
Кроме того, еще одна вещь, которую я пытался сказать здесь, — процесс собеседования не должен быть очень сложным. и болезненно для обоих — интервьюера или кандидата…

В общем, (если только вы не изобрели машину времени и не перенеслись в сталинскую Россию) жизнь не должна быть тяжелой…