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

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

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

Канал в реестре РКН:
https://rknn.link/su
Download Telegram
Джон Дакетт. HTML и CSS. Разработка и дизайн веб-сайтов

Эта книга – самый простой и интересный способ изучить HTML и CSS. Независимо от стоящей перед вами задачи: спроектировать и разработать веб-сайт с нуля или получить больше контроля над уже существующим сайтом, эта книга поможет вам создать привлекательный, дружелюбный к пользователю веб-контент. Простой визуальный способ подачи информации с понятными примерами и небольшим фрагментом кода знакомит с новой темой на каждой странице. Вы найдете практические советы о том, как организовать и спроектировать страницы вашего сайта, и после прочтения книги сможете разработать свой веб-сайт профессионального вида и удобный в использовании.
В чем разница между feature detection (определение возможностей браузера) и feature inference (предположение возможностей)

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

Feature inference (предположение возможностей)
Предположение возможностей проверяет на наличие определенных возможностей, как и предыдущий подход, но использует другую функцию, которая предполагает, что определенная возможность уже существует, например:
 if (document.getElementsByTagName) {
element = document.getElementById(id);
}
Этот подход не рекомендуется. Первый подход более надежен.
Какой метод массива нужно подставить вместо пропуска чтобы преобразовать массив в строку?
Anonymous Quiz
21%
split
67%
join
7%
splice
5%
slice
Расскажите об Ajax как можно более подробно

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

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

На практике для получения/передачи данных используется формат данных JSON вместо XML из-за того, что JSON основан на JavaScript.
Раньше для асинхронного взаимодействия использовали XMLHttpRequest API, а сейчас принято использовать fetch API.
Валидатор сообщения

Напишите функцию, которая принимает строку, состоящую из цифр и букв. За каждой цифрой должно следовать слово, состоящая из количества букв, равного цифре. Если это условие соблюдается, то функция должна вернуть true, иначе - false.

Пример:
"3hey5hello2hi" разбивается на 3, hey, 5, hello, 2, hi
Функция должна вернуть true, так как:
hey - состоит из 3 букв
hello - состоит из 5 букв
hi - состоит из 2 букв
Какое значение НЕ соответствует CSS свойству display?
Anonymous Quiz
2%
none
4%
inline
60%
list-item
33%
static
1%
block
Какие преимущества и недостатки в использовании Ajax?

Преимущества
Повышение интерактивности. Новые данные с сервера могут быть добавлены динамически без перезагрузки всей страницы.

Сокращение количества подключений к серверу, поскольку скрипты и таблицы стилей нужно запрашивать только один раз.

Состояние может быть сохранено на странице. Переменные JavaScript и состояние DOM сохраняется, поскольку главная страница контейнера не перезагружается.

Недостатки
Сложнее реализовать добавление динамической веб-страницы в закладки.

Не работает, если в браузере отключен JavaScript.

Некоторые поисковые роботы не выполняют JavaScript и не видят данные, загружаемые при помощи JavaScript.
Объясните, как работает JSONP (и почему это не совсем AJAX)

JSONP (JSON с набивкой) - это способ, часто используемый для обхода политики ограничения домена в браузерах, потому что Ajax-запросы с текущей страницы к серверу, находящемуся в другом домене, запрещены.
JSONP работает, отправляя запрос к серверу в другом домене через тег <noscript> и обычно с параметром запроса callback, например: https://example.com?callback=printData. Затем сервер обернет данные внутри функции с именем printData и вернет их клиенту.
HTML:
 <noscript>
function printData(data) {
console.log(`My name is ${data.name}!`);
}
</noscript>
<noscript src="https://example.com?callback=printData"></noscript>
JS:
 // Файл загружен с https://example.com?callback=printData
printData({ name: 'Yang Shun' });
У клиента должна быть функция printData в своей глобальной области видимости, и эта функция будет выполнена клиентом, когда будет получен ответ с сервера из другого домена.
JSONP может быть небезопасным и иметь повышенный риск. Поскольку JSONP - это действительно JavaScript, и он может делать все остальное, что может делать JavaScript, то вы должны быть уверены в надежности поставщика данных JSONP.

В наши дни, CORS является рекомендуемым подходом и JSONP является способом для его обхода.
В чем разница между "атрибутом" (attribute) и "свойством" (property)?

Атрибуты определены в разметке HTML, а свойства определены в DOM. Чтобы проиллюстрировать разницу, представьте, что у нас есть это текстовое поле в HTML: <input type="text" value="Hello">.

 const input = document.querySelector('input');
console.log(input.getAttribute('value')); // Hello
console.log(input.value); // Hello

Но после того, как вы измените значение текстового поля, добавив к нему "World!", будет:
console.log(input.getAttribute('value')); // Hello
console.log(input.value); // Hello World!
Человеческий фактор. Успешные проекты и команды

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

ДеМарко и Тимоти обращают внимание на ошибки, которые усложняют управление командой. Одна из них — чрезмерное стремление руководителя улучшить технологии работы, автоматизировать процессы. От этого страдает управление человеческими ресурсами, которое получает низший приоритет.
Найти нарушителя порядка

Вам дан массив из чисел. Они идут в порядке возрастания, кроме одного числа, которая разрушает этот порядок. Найдите это число.

Примеры:
 [1,2,3,4,17,5,6,7,8] => 17 is the only breaker.
[19,27,33,34,112,578,116,170,800] => 578 is the only breaker.
Алгоритмы. Построение и анализ

В книге описаны самые разнообразные алгоритмы, сочетается широкий диапазон тем с глубиной и полнотой изложения; при этом изложение доступно для читателей самого разного уровня подготовки. Каждая глава книги относительно самодостаточна и может использоваться в качестве отдельной темы для изучения. Алгоритмы в книге "Алгоритмы. Построение и анализ" описаны простым человеческим языком и с применением псевдокода, который понятен любому, кто хоть в небольшой степени знаком с программированием, а пояснения принципов их работы даны без излишней математической строгости и требуют лишь элементарных знаний.