Какая ваша любимая фишка 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 на Mac OS

              Сниппет для использования нового системного шрифта San Franciso из El Capitan и IOS 9.

              Первая статья из серии полезных привычек разработчиков и программистов: Проверяй свой код перед комитом.

              Гайд по стилю кода на JavaScript от AirBnB

              Гайд по стилю кода на JavaScript от AirBnB

              Общие рекомендации по стилю написания кода от Airbnb. Влючая сравнения производительности и лучшие практики.

              k12th

              Что такое Function.prototype.bind, Function.prototype.apply, Function.prototype.call и зачем они нужны?
              Что такое вообще prototype, для чего используется? ООП в JS.
              Паттерны проектирования — какие вообще есть, какие имеют смысл в JS, чем можно заменить всеми любимый синглтон?

              Все остальное можно довольно быстро объяснить или есть в либах:)

              sim3x


              Эээ, а зачем его заменять? В js его тоже можно написать.

              k12th

              k12th

              RUSgrigoryev

              k12th

              sim3x


              Это ведь не сильно сложный вопрос для такого профи?

              k12th

              @sim3x
              * Синглтон является глобальным объектом. Глобальные объекты заставляют код пахнуть.
              * Синглтон является неявной зависимостью. Явное (через DI) лучше неявного.
              * Нарушает принцип единственной ответственности, т.к. отвечает, помимо основной цели, еще и за свой жизненный цикл.
              * Вносит stateful поведение, что вообще не очень хорошо и затрудняет тестирование (может возникнуть ситуация, когда тесты должны будут прогоняться в определенном порядке, что плохо).

              Petroveg

              Если кандидат начнёт рассуждать про то, как можно реализовать ООП в JS, его можно сразу заворачивать. ООП в JS по факту нет и оно там без надобности.

              Petroveg

              Кроме подразумевающегося объекта вызова, про прототипы обязательно поподробнее. Кстати, сама вопроса уже хороша — Function.prototype.bind, а не просто про метод bind у типа данных Function.

              Ещё бы спросил про работу JS в HTML, а именно про события — модель, перехват, инициализация. Про scope обязательно, то бишь замыкания.

              k12th

              @Petroveg ООП в JS есть, и практика показывает, что именно ооп является более понятным и простым способом повторного использования кода, несмотря на успехи фп.

              Работа с HTML, все эти события и пр. — банальщина. Замыкания — да.

              Не путайте наличие в языке классов и ооп — бесит неимоверно.

              Petroveg

              @k12th Наследование через прототипы и ООП — принципиально разные вещи. А, если кто-то пытается написать нечто для имитации ООП, это не есть ООП.

              Опишите или дайте ссылку, где объясняется ваша точка зрения — что называть ООП.

              k12th

              @Petroveg если вам религия не позволяет посмотреть для начала хотя бы в википедию, я не собираюсь продолжать беседу.

              Petroveg

              Ого! Знаток негодуе))
              Применительно к JS логично говорить про компонентно-ориентированное программирование. Потому и спрашиваю — где вы увидели ООП в JS и в чём это проявляется?

              k12th

              @Petroveg Давайте исходить из классического определения ООП, как в школе учили — инкапсуляция, полиморфизм и наследование.
              * Инкапсуляция (не путаем со сокрытием данных) — то есть объединение данных и операций на ними есть? Есть. (Сокрытие данных, впрочем, тоже можно эмулировать.)
              * Полиморфизм — в силу динамической типизации есть.
              * Наследование — любой объект имеет скрытое поле [[prototype]], которое ссылается на некий другой объект. Если при запросе некоторого свойства оно не находится в данном объекте, то оно ищется у объекта, прописанного в [[prototype]]. Есть.

              Ну и если все-таки перебороть противоестественное отвращение к гуглению и википедии, то увидим, что в объектно-ориентированной парадигме манипулируют объектами и классами или прототипами.

              Petroveg

              Инкапсуляция в силу замыканий есть. Вы абсолютно правы. Правда, инкапсуляция может быть в каких угодно языках. Даже и в не объектно-ориентированных.

              Полиморфизм есть, конечно. И тут вы правы, одно слово — динамическая типизация. Правда, как и инкапсуляция, может быть где угодно.

              Вот ни слова про классы не сказал, но вы сами их тащите на свет. Наверное потому, что наследование через прототипы и есть краеугольный камень. Можно сколько угодно обсуждать инкапсуляцию, полиморфизм, абстракцию и оставшиеся мелочи, но отсутствие классов делает Javascript таки языком весьма опосредованно относящимся к ООП. Я определил бы как очень и очень особенную версию ООП.

              И главное, я не понимаю, как отношение Javascript к ООП поможет для решения задач? Знание десятка интерфейсов событий, отличий групп clint-, offset- и scroll-свойств, общее понимание архитектуры веб-приложений и прочее ИМХО куда как важней.

              For Web — фронтенд, дизайн, программирование

              For Web — фронтенд, дизайн, программирование

              For Web — фронтенд, дизайн, программирование запись закреплена

              Мартин Дугин

              Артем Евсеенков


              Артем Евсеенков

              Дамир Тахаутдинов

              Андрей Яковенко


              Андрей Яковенко

              DELETED

              Евгений Ионов

              Максим Неплох


              Максим Неплох

              Ксения Широкова

              Андрей Левицкий


              Андрей Левицкий ответил Максиму

              Николай Поздняков

              Максим Неплох


              Максим Неплох

              Алексей Каменев

              Максим Неплох


              Максим Неплох Алексей, зачем? Смех смехом, а если человеку полезна эта инфа, то он откроет страницу с компа и почитает.

              Алексей Каменев

              Максим, какую инфу об html могут сообщить люди, которые его не знают?

              DELETED

              Алексей Каменев

              DELETED

              Алексей Назаров


              Алексей Назаров

              Николай Поздняков

              "С какой технической сложностью вы недавно столкнулись и как с ней справились?"

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

              Александр Усков

              Все так, просто надо записывать интересные кейсы чтоб потом подготовленно отвечать, этот вопрос задают сейчас абсолютно везде независимо от стека и позиции

              Дмитрий Пронин

              Илья Иванников

              Что вы изучили вчера/на этой неделе?

              С какой технической сложностью вы недавно столкнулись и как с ней справились?

              Можете ли вы объяснить общие принципы относительно front-end безопасности или недавние проблемы, которые вы решили?

              Даже в самых конченных конторах, когда я был нулем и приходил на джуна, такого бреда не спрашивали. -_-

              Артем Филиппов

              Илья Иванников

              Олег Мусиенко


              Nick Solver

              Что такое FOUC (Flash Of Unstyled Content)? Как его избежать?

              Что вы думаете о AMD против CommonJS?

              Объясните, почему это не является IIFE: function foo()< >();.
              Показать полностью.
              Что необходимо изменить, чтобы это стало IIFE?

              Это точно вопросы одному и тому же человеку?))

              Сколько ресурсов браузер может одновременно загружать с одного домена?
              Какие есть исключения?
              (фронт-енд ограничения к загрузке ресурсов - о боже мой)

              windows phone 8.1 IE11

              Благодаря Preview for Developers мы смогли подробно изучить обновление Windows Phone 8.1 и уверены, что вы заметите между WP8 и WP8.1 огромную разницу. А мы пока расскажем вам о новых крутых фишках Internet Explorer 11!

              Итак, вот что вы сможете делать в обновленном IE11:

              Что ж, это крутые фишки и теперь мы хотели бы рассказать вам о них более подробно!

              1. Прикрепляйте веб-сайты на начальный экран в качестве живых плиток

              2. Поддержка встроенного видео

              Inline_Video_IE11

              Ещё одно новшество: на веб-сайтах (да, да, и на 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)

              IE11 режим чтения

              Вот еще одна фишка, которую Internet Explorer на Windows Phone 8.1 позаимствовал у своих собратьев с ПК и планшетов. Новый «Режим чтения» позволяет оптимизировать веб-страницу для более удобного чтения (при условии, что веб-страница поддерживает такую функцию). Нажмите на значок «книга» в адресной строке, после чего текст и изображения на веб-странице будут отображаться без рекламы, логотипов и т.д.

              8. Переход вперед-назад при помощи свайпов влево-вправо

              IE11 свайп

              Вы уже обновились до Windows Phone 8.1 по нашей инструкции? Тогда расскажите нам о своей любимой фишке в Internet Explorer 11 в комментариях!

              Читайте также: