5 излюбленных вопросов Javascript-разработчика из Spotify, по которым можно оценить уровень разработчика как специалиста.
Мэтиас Питер Йохансон (Mattias Petter Johansson), Javascript разработчик из Spotify, на вопрос о том, как можно оценить уровень js-программиста привел в пример 5 своих излюбленных вопросов, зная ответы на которые можно будет чувствовать себя уверенней на любом собеседовании.
1. Расскажите о разнице между call и apply
Ответ на этот вопрос будет полон личных домыслов, так что если человек не сможет вам ответить на него, это не скажет о нем как о специалисте так много, как развернутый ответ. Ведь каждый Javascript-программист, написавший библиотеку (или две) будет знать ответ на этот вопрос.
Здесь автор делает особое замечание по поводу библиотек: так как call и apply наиболее часто используемые методы при разработке библиотек, человек не знающий ответ на вопрос об их различии, упускает из виду мощные аспекты языка.
2. Объясните, что такое map
Map является чрезвычайно полезной концепцией функционального программирования, которая должна быть знакома любому вовлеченному в компьютерные технологии. Если человек этого не знает – это признак того, что ему не хватает общих знаний информатики или конкретного языка. Если вы не знаете что такое map, вы вероятно мало что смыслите и в функциональном программировании, а следовательно, многое теряете.
3. Объясните, что такое bind
Это действительно большой вопрос, так как ответ на него требует углубленного понимания концепции bind в Javascript. Поэтому, из ответа интервьюируемого, который как ни крути, будет развернутым, можно многое узнать о нем, как о специалисте, задавая дополнительные вопросы по теме.
4. Расскажите, как работают замыкания
Вопрос для программистов, которые утверждают, что имеют большой опыт в целом, но не в js. Замыкания – чрезвычайно важный механизм во всех языках программирования и особое значение имеют они в Javascript. Если программист хорошо понимает замыкания, то и в js он освоится быстро.
5. Случалось ли в вашей практике, что вы сталкивались с проблемами производительности Javascript и если да, то как вы решали их?
Ответ на этот вопрос расскажет многое о практических знаниях человека и о том, сколько работы было проделано им на самом деле. На случай, если вы не находите сразу что на это можно ответить, почитайте общие рекомендации от Google по поводу оптимизации выполнения Javascript.
Другие статьи по теме
Собеседование на должность программиста: вопросы по алгоритмам
Комментарии