Лирическое
Начинаю я обычно с азов:
Write the result of these expressions:
6 / "3"
"2" * "3"
4 + 5 + "px"
"$" + 4 + 5
"4" - 2
"4px" - 2
7 / 0
typeof null
typeof {}[0]
typeof ("4px" - 2)
parseInt("09")
5 && 2
2 && 5
5 || 0
0 || 5
Сразу видно человек действительно знает язык или просто нахватался верхов.
Источник
Попробую пройти это интервью. Без Google. Какой Google на интервью. И без консоли браузера.
- 6 / "3" // 2, математический оператор строку приводит к числу, получаем 6/3
- "2" * "3" // 6, потому что 2*3
- 4 + 5 + "px" // "9 рх" - вначале сложились два числа, получили 9. а потом прибавилась строка
- "$" + 4 + 5 // "$45" - при сложении со строкой всё выражение становится строкой
- "4" - 2 // 2, потому что 4 - 2
- "4px" - 2 // NaN при попытке преобразовать 4рх к числу
- 7 / 0 // Infinity
- typeof null // object, ошибка языка
- typeof {}[0] // здесь не уверена. нулевой элемент пустого объекта - null? тогда тип object. оказывается undefined
- typeof ("4px" - 2) // number, потому что получается NaN, а NaN это число
- parseInt("09") // 09, нет, оказывается 9
- 5 && 2 // и 5 и 2 это как? false. Нет, неправильно. Это я пока не учила
- 2 && 5
- 5 || 0
- 0 || 5
Дальше из комментариев
- За 8 месяцев интервью ответил на все вопросы всего один человек.
Ещё дальше
- Я верно ответил на все. Куда слать резюме?
И уже в самом конце
- Вы опоздали на четыре года. Всего-то.
Последний комментарий добавлен в 2012 году, а сам разговор происходил в 2008.
Давайте посмотрим как всего за 7 лет изменились требования к js-разработчику
Вакансия: JavaScript-разработчик (2015 г)
Обязательно следить за стандартами JavaScript (ES5, ES6, ES7) и за поддержкой этих стандартов в браузерах и платформах Node.js, io.js.
Также стоит знать хотя бы несколько JS-фреймворков, разбираться в CSS-фреймворках, чтобы в случае необходимости быстро набросать прототип.
Еще стоит не забывать о знании верстки, которые заключаются в знании спецификаций HTML5/CSS3, особенностей браузеров. Понимать, как реализовывать адаптивные и отзывчивые сайты.
Также важно уметь проектировать и создавать сложную архитектуру больших проектов, знать различные парадигмы программирования (ООП, функциональное),
Система сборки проекта на выбор: Grunt, Gulp, webpuck.
Транспилятор (transpiler), помогающий переводить неподдерживаемые инструкции браузера или nodejs стандарта ES6/ES7 в стандарт ES5: Babeljs, TypeScript.
CSS-препроцессоры (на выбор) – LESS, SASS/SCSS, Compas.
Современная IDE с инструментами отладки и взаимодействия с браузерами.
Инструменты тестирования (юнит-тесты, функциональные тесты).
Автопрефиксиры, анализаторы кода, различные инструменты отладки, DevTools.
JS-фреймворки и библиотеки: Angular, React, Flux, Backbone.
Стаж работы от двух лет и более.
Умение работать с ReactJS, писать на TypeScript, работать с RequireJS, Backbone, jQuery, Angular, Gulp.
Другие требования можно посмотреть по ссылке http://samag.ru/archive/article/3006
И да. Почувствуйте разницу