Frontend Interview - собеседования по Javanoscript / Html / Css – Telegram
Frontend Interview - собеседования по Javanoscript / Html / Css
11.4K subscribers
2.1K photos
118 videos
319 files
530 links
Канал для подготовки к собеседованиям по фронтенду

Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront

Купить рекламу: https://telega.in/c/frontendinterview

Канал в реестре РКН:
https://rknn.link/su
Download Telegram
В каких случаях используется `document.write()`?

document.write() записывает строку текста в поток документа, открытого при помощи document.open().

Когда document.write() выполняется после загрузки страницы, он вызывает document.open, который очищает весь документ (<head> и <body> будут удалены!) и заменяет содержимое на заданное значение параметра. Подобный подход считается опасным и не рекомендуется его использовать.

В Интернете есть несколько ответов, которые объясняют, что document.write() используется в коде отслеживания или когда вы хотите добавить стили, которые должны работать только при включенном JavaScript. Он даже используется в шаблоне HTML5 для параллельной загрузки скриптов и сохранения порядка выполнения! Тем не менее, я подозреваю, что эти причины могут быть устаревшими, и в наши дни они могут быть достигнуты без использования document.write().

👉 @frontendInterview
Что выведется в консоль?
Anonymous Quiz
75%
true
25%
false
Что такое Feature detection и feature inference?

Feature detection (определение возможностей браузера)
Определение возможностей браузера заключается в определении, поддерживает ли браузер определенный блок кода - и если нет, то будет выполняться другой код, так что браузер всегда сможет обеспечить работоспособность и предотвратить сбои/ошибки в некоторых браузерах. Например:
 if ('geolocation' in navigator) {
// Можно использовать navigator.geolocation
} else {
// Обработка отсутствия возможности
}
Modernizr - отличная библиотека для обработки таких функций.

Feature inference (предположение возможностей)
Предположение возможностей проверяет на наличие определенных возможностей, как и предыдущий подход, но использует другую функцию, которая предполагает, что определенная возможность уже существует, например:
 if (document.getElementsByTagName) {
element = document.getElementById(id);
}

Этот подход не рекомендуется. Первый подход более надежен.
Группировка запятыми

Напишите функцию, которая принимает число, преобразует его в строку и разделяет по три цифры запятой.

Пример
1 -> "1"
10 -> "10"
100 -> "100"
1000 -> "1,000"
10000 -> "10,000"
100000 -> "100,000"
1000000 -> "1,000,000"
35235235 -> "35,235,235"


👉 @frontendInterview
Что такое строка User Agent?

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

Доступ к ней можно получить через navigator.userAgent. Тем не менее, строка User Agent сложна для обработки и может быть подделана. Например, браузер Chrome идентифицируется как Chrome, так и Safari.

Таким образом, чтобы обнаружить браузер Safari, вы должны проверить на наличие строки Safari и отсутствие строки Chrome. Избегайте этого метода.

👉 @frontendInterview
Расскажите об Ajax как можно более подробно

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

С помощью Ajax веб-приложения могут отправлять данные на сервер и получать их с сервера асинхронно (в фоновом режиме), не влияя на отображение и поведение открытой страницы. Отделяя уровень обмена данными от уровня представления, Ajax позволяет веб-страницам и, в частности, веб-приложениям динамически изменять содержимое без необходимости перезагрузки всей страницы. На практике для получения/передачи данных используется формат данных JSON вместо XML из-за того, что JSON основан на JavaScript.

Раньше для асинхронного взаимодействия использовали XMLHttpRequest API, а сейчас принято использовать fetch API.

👉 @frontendInterview
В чем разница между событием `load` и событием `DOMContentLoaded`?

Событие DOMContentLoaded вызывается, когда исходный HTML-документ полностью загружен и обработан, не дожидаясь окончания загрузки таблиц стилей, изображений и скриптов.

Событие load происходит только после загрузки DOM и всех зависимых ресурсов.

👉 @frontendInterview
Алгоритмы и структуры данных

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

Большая часть материала книги составляет необходимый минимум знаний по алгоритмике не только для программистов-профессионалов, но и любых других специалистов, активно использующих программирование в работе.

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

👉 @frontendInterview
Битва символов

У каждого символа есть свой вес, рассчитывающийся исходя из положения в алфавите:
A = 1, B = 2, ... Y = 25, Z = 26

Сравните два набора символов и определите победителя, исходя из веса.
Примеры:
battle("ONE", "TWO"); // => "TWO"`
battle("ONE", "NEO"); // => "Tie!"


👉 @frontendInterview
JavaScript. Карманный справочник

В книге представлены самые важные сведения о синтаксисе языка и показаны примеры его практического применения. Несмотря на малый объем карманного издания, в нем содержится все, что необходимо знать для разработки профессиональных веб-приложений.

👉 @frontendInterview