Какая ваша любимая фишка internet explorer
Обновлено: 03.07.2024
Это перевод популярного репозитория от html5bp — Front-end Job Interview Questions (en), который существует с 2009 года. Список вопросов составлялся и дополнятся известными во front-end людьми, поэтому на этот список можно положиться. Перевод делал не я (вернее я хотел, но он оказался уже переведен).
Замечание: Этот репозиторий содержит подборку вопросов, которые могут быть использованы на собеседованиях на должность front-end разработчика. Здесь предлагаются лишь идеи, не нужно задавать все вопросы сразу (иначе в один час точно не уложитесь).
Также, имейте в виду, что многие вопросы не требуют однозначного короткого ответа, а лишь помогают завести беседу на ту или иную тему (предоставляя кандидату возможность показать себя во всей красе).
Содержание
Общие вопросы: [↑]
Вопросы по HTML: [↑]
- Для чего нужен doctype и сколько разновидностей Вы можете назвать?
- В чем разница между standards mode и quirks mode?
- Какие ограничения накладывают стандарты XHTML?
- Могут ли возникнуть проблемы при подаче страниц с типом application/xhtml+xml ?
- Что нужно иметь в виду при разработке многоязычных сайтов?
Вопросы по JavaScript: [↑]
- Какими js-библиотеками Вы пользовались?
- Вы когда-нибудь заглядывали в исходный код библиотек/фреймворков, которыми пользовались?
- Чем JavaScript отличается от Java?
- Что-такое хэш-таблица?
- Что такое неопределенные (undefined) и необъявленные (undeclared) переменные?
- Что такое замыкание и как/для чего его используют?
- Как вы предпочитаете их использовать?
- Бонус, если упомянута чистота глобального пространства имен
- Что, если Ваш модуль не заключен в пространство имен?
- В чем разница между .call и .apply ?
- Что делает и для чего нужна функция Function.prototype.bind ?
- Когда Вы оптимизируете свой код?
- Объясните, как работает наследование в JavaScript?
- Где до сих пор используется document.write() ?
- В большинстве генерируемых баннеров, хотя так делать не рекомендуется
- Если да, какие библиотеки использовали? (Mustache.js, Handlebars etc.)
- Опишите принцип мемоизации (избежание повторных вычислений) в JavaScript
- Почему тернарный оператор так называется?
- Что такое арность функции?
- Что делает строчка "use strict"; ? Какие достоинства и недостатки от её использования?
Примеры кода на JavaScript [↑]
Вопрос: Какое значение возвращает данное предложение?
Ответ: 3Вопрос: Какое значение возвращает данное предложение?
Ответ: «goh angasal a m’i»Вопрос: Чему равно window.foo?
Ответ: «bar»,
только если выражение window.foo было ложным, иначе переменная сохранит своё изначальное значениеВопрос: Что покажут эти два alert?
Ответ: «Hello World» и ReferenceError: bar is not definedВопрос: Чему равно foo.length?
Ответ: 2Вопрос: Чему равно foo.length?
Ответ: undefinedВопросы по jQuery: [↑]
- Объясните «chaining».
- Объясните «deferreds».
- Какие Вы знаете приемы оптимизации кода, использующего jQuery?
- Что делает .end() ?
- Как добавить пространство имён к обработчику событий? Для чего это нужно?
- Назовите 4 разных вида аргументов, которые принимает функция jQuery()?
- Селектор (строка), HTML (строка), Callback (функция), HTMLElement, объект, массив, массив элементов, объект jQuery etc.
Вопросы по CSS: [↑]
- Что такое «reset» CSS и для чего он нужен?
- Объясните, что такое плавающие элементы (floats) и как они работают?
- Какие вы знаете методы запрета обтекания (clearing) и какие где применяются?
- Что такое CSS спрайты? Как они реализуются на странице или сайте?
- Какие Ваши любимые методы подмены текста картинкой (image replacement) и когда Вы их используете?
- CSS property hacks, conditionally included .css files…
- Как Вы обеспечиваете отображение страниц в старых/ограниченных браузерах?
- Какие приёмы/процессы Вы при этом используете?
- Если да, расскажите, что вам в них нравится и не нравится?
- Webfonts (сервисы вроде Google Webfonts, Typekit, Fontsquirrel etc.)
- Если да, то в чем её суть? Расскажите о системе нотификации селекторов.
«Светская беседа»: [↑]
- Самое крутое, что Вы когда либо делали и чем гордитесь?
- Вы знаете секретный жест HTML5-банды?
- Что Вы больше всего любите в Ваших инструментах разработки?
- У Вас есть какие-нибудь личные проекты?
- Возьмите листок бумаги и напишите в столбик буквы A B C D E. Теперь отсортируйте столбик в алфавитном порядке по убыванию, не написав ни строчки кода.
- Засеките, через сколько времени кандидат перевернет листок
- Бонус за комбинацию. Аргументированную. +2 за зомби-пират-ниндзя-обезьяну
Первоначальные авторы [↑]
Еше можно подписаться на email рассылку новых заметок. Не чаще раза в неделю, без спама.
Серия статей, в которой я буду разбирать популярные вопросы на собеседовании разработчиков интерфейсов и front end разработчиков, связанные с JavaScript и версткой.
Используем системный шрифт San Franciso на Mac OS
Сниппет для использования нового системного шрифта San Franciso из El Capitan и IOS 9.
Первая статья из серии полезных привычек разработчиков и программистов: Проверяй свой код перед комитом.
Гайд по стилю кода на JavaScript от AirBnB
Общие рекомендации по стилю написания кода от Airbnb. Влючая сравнения производительности и лучшие практики.
Что такое Function.prototype.bind, Function.prototype.apply, Function.prototype.call и зачем они нужны?
Что такое вообще prototype, для чего используется? ООП в JS.
Паттерны проектирования — какие вообще есть, какие имеют смысл в JS, чем можно заменить всеми любимый синглтон?Все остальное можно довольно быстро объяснить или есть в либах:)
Эээ, а зачем его заменять? В js его тоже можно написать.
Это ведь не сильно сложный вопрос для такого профи?
@sim3x
* Синглтон является глобальным объектом. Глобальные объекты заставляют код пахнуть.
* Синглтон является неявной зависимостью. Явное (через DI) лучше неявного.
* Нарушает принцип единственной ответственности, т.к. отвечает, помимо основной цели, еще и за свой жизненный цикл.
* Вносит stateful поведение, что вообще не очень хорошо и затрудняет тестирование (может возникнуть ситуация, когда тесты должны будут прогоняться в определенном порядке, что плохо).
Если кандидат начнёт рассуждать про то, как можно реализовать ООП в JS, его можно сразу заворачивать. ООП в JS по факту нет и оно там без надобности.Кроме подразумевающегося объекта вызова, про прототипы обязательно поподробнее. Кстати, сама вопроса уже хороша — Function.prototype.bind, а не просто про метод bind у типа данных Function.
Ещё бы спросил про работу JS в HTML, а именно про события — модель, перехват, инициализация. Про scope обязательно, то бишь замыкания.
@Petroveg ООП в JS есть, и практика показывает, что именно ооп является более понятным и простым способом повторного использования кода, несмотря на успехи фп.
Работа с HTML, все эти события и пр. — банальщина. Замыкания — да.
Не путайте наличие в языке классов и ооп — бесит неимоверно.
@k12th Наследование через прототипы и ООП — принципиально разные вещи. А, если кто-то пытается написать нечто для имитации ООП, это не есть ООП.
Опишите или дайте ссылку, где объясняется ваша точка зрения — что называть ООП.
@Petroveg если вам религия не позволяет посмотреть для начала хотя бы в википедию, я не собираюсь продолжать беседу.
Ого! Знаток негодуе))
Применительно к JS логично говорить про компонентно-ориентированное программирование. Потому и спрашиваю — где вы увидели ООП в JS и в чём это проявляется?@Petroveg Давайте исходить из классического определения ООП, как в школе учили — инкапсуляция, полиморфизм и наследование.
* Инкапсуляция (не путаем со сокрытием данных) — то есть объединение данных и операций на ними есть? Есть. (Сокрытие данных, впрочем, тоже можно эмулировать.)
* Полиморфизм — в силу динамической типизации есть.
* Наследование — любой объект имеет скрытое поле [[prototype]], которое ссылается на некий другой объект. Если при запросе некоторого свойства оно не находится в данном объекте, то оно ищется у объекта, прописанного в [[prototype]]. Есть.Ну и если все-таки перебороть противоестественное отвращение к гуглению и википедии, то увидим, что в объектно-ориентированной парадигме манипулируют объектами и классами или прототипами.
Инкапсуляция в силу замыканий есть. Вы абсолютно правы. Правда, инкапсуляция может быть в каких угодно языках. Даже и в не объектно-ориентированных.
Полиморфизм есть, конечно. И тут вы правы, одно слово — динамическая типизация. Правда, как и инкапсуляция, может быть где угодно.
Вот ни слова про классы не сказал, но вы сами их тащите на свет. Наверное потому, что наследование через прототипы и есть краеугольный камень. Можно сколько угодно обсуждать инкапсуляцию, полиморфизм, абстракцию и оставшиеся мелочи, но отсутствие классов делает Javascript таки языком весьма опосредованно относящимся к ООП. Я определил бы как очень и очень особенную версию ООП.
И главное, я не понимаю, как отношение Javascript к ООП поможет для решения задач? Знание десятка интерфейсов событий, отличий групп clint-, offset- и scroll-свойств, общее понимание архитектуры веб-приложений и прочее ИМХО куда как важней.
For Web — фронтенд, дизайн, программирование запись закреплена
Артем Евсеенков
Андрей Яковенко
Максим Неплох
Андрей Левицкий ответил Максиму
Максим Неплох
Максим Неплох Алексей, зачем? Смех смехом, а если человеку полезна эта инфа, то он откроет страницу с компа и почитает.
Максим, какую инфу об html могут сообщить люди, которые его не знают?
Алексей Назаров"С какой технической сложностью вы недавно столкнулись и как с ней справились?"
Особенно классно это задавать человеку, который отработал в большой компании. Когда баги сыпятся как снежинки, там уже просто не помнишь, в чем дело было.
Все так, просто надо записывать интересные кейсы чтоб потом подготовленно отвечать, этот вопрос задают сейчас абсолютно везде независимо от стека и позицииЧто вы изучили вчера/на этой неделе?
С какой технической сложностью вы недавно столкнулись и как с ней справились?
Можете ли вы объяснить общие принципы относительно front-end безопасности или недавние проблемы, которые вы решили?
Даже в самых конченных конторах, когда я был нулем и приходил на джуна, такого бреда не спрашивали. -_-
Nick SolverЧто такое FOUC (Flash Of Unstyled Content)? Как его избежать?
Что вы думаете о AMD против CommonJS?
Объясните, почему это не является IIFE: function foo()< >();.
Показать полностью.
Что необходимо изменить, чтобы это стало IIFE?Это точно вопросы одному и тому же человеку?))
Сколько ресурсов браузер может одновременно загружать с одного домена?
Какие есть исключения?
(фронт-енд ограничения к загрузке ресурсов - о боже мой)Благодаря Preview for Developers мы смогли подробно изучить обновление Windows Phone 8.1 и уверены, что вы заметите между WP8 и WP8.1 огромную разницу. А мы пока расскажем вам о новых крутых фишках Internet Explorer 11!
Итак, вот что вы сможете делать в обновленном IE11:
Что ж, это крутые фишки и теперь мы хотели бы рассказать вам о них более подробно!
1. Прикрепляйте веб-сайты на начальный экран в качестве живых плиток
2. Поддержка встроенного видео
Ещё одно новшество: на веб-сайтах (да, да, и на YouTube!) теперь будет поддерживаться встроенное видео! Вы сможете просматривать его прямо на странице, а не в полноэкранном режиме, как это было раньше. Более того, видео будет проигрываться даже на экране блокировки! Хотите узнать больше об улучшенном HTLM5 и поддержке встроенного видео в IE11? Следите за обновлениями на нашем сайте.
3. Режим InPrivate Browsing
А вот и ещё одна забавная функция. Режим InPrivate Browsing позволит вам лазить в интернете, не оставляя никаких следов, ни истории, ни куки! Это очень удобно, если вашим телефоном часто пользуются другие и вы не хотите, чтобы они видели некоторые сайты вы истории. Будь то «сайты для взрослых», или же вы искали подарок другу на день рождения, режим InPrivate создан для вас. Куки, временные файлы, история и другие данные – всё будет «чисто», комар носа не подточит!
4. Бесконечные закладки
Вам ведь не хватало 6 вкладок на Windows Phone 8? Мы открыли уже бездну вкладок в Internet Explorer на Windows Phone 8.1, и пока они даже не думают заканчиваться! С появлением Internet Explorer 11 на Windows Phone 8.1 вам будет доступно неограниченное число вкладок: вы сможете открыть столько вкладок, сколько нужно!
5. Функция синхронизации вкладок, избранного и истории
При помощи вашего аккаунта Microsoft вы сможете синхронизировать вкладки, избранное и историю Internet Explorer 11 на всех ваших девайсах, как на Windows Phone 8.1, так и на Windows 8.1! Вкладки, избранное и история будут доступны на любом вашем девайсе. О дивный «облачный» мир!
6. Функция сохранения паролей
Отныне вы сможете сохранять пароли для сайтов. Включите эту функцию в настройках Internet Explorer 11 и вам больше не придётся каждый раз вводить пароль для ваших любимых веб-сайтов! Согласитесь, это очень удобно!
7. Режим чтения статей и веб-страниц (Reading Mode)
Вот еще одна фишка, которую Internet Explorer на Windows Phone 8.1 позаимствовал у своих собратьев с ПК и планшетов. Новый «Режим чтения» позволяет оптимизировать веб-страницу для более удобного чтения (при условии, что веб-страница поддерживает такую функцию). Нажмите на значок «книга» в адресной строке, после чего текст и изображения на веб-странице будут отображаться без рекламы, логотипов и т.д.
8. Переход вперед-назад при помощи свайпов влево-вправо
Вы уже обновились до Windows Phone 8.1 по нашей инструкции? Тогда расскажите нам о своей любимой фишке в Internet Explorer 11 в комментариях!
Читайте также: