Собеседование Frontend (HTML) — вопросы и подготовка

HTML — фундамент любой веб-страницы и один из ключевых навыков фронтенд- и фулстек-разработчика. Этот набор карточек поможет системно изучить язык разметки: от базовых элементов и семантики до вопросов производительности, безопасности и архитектурного проектирования крупных веб-приложений. Внутри набора собраны вопросы, которые часто встречаются на технических собеседованиях уровня Middle, Senior и System Design. Вы разберёте структуру HTML-документа, построение DOM-дерева, семантические теги HTML5, формы, валидацию данных, работу с изображениями, мультимедиа и встроенным контентом. Отдельное внимание уделено современным требованиям веб-разработки: SEO-оптимизации, микроразметке, Open Graph, доступности (Accessibility, WCAG, ARIA), Core Web Vitals и критическому пути рендеринга. Также рассматриваются практические вопросы безопасности, включая XSS, CSP, sandbox, iframe и защиту пользовательского контента. Набор будет полезен разработчикам, готовящимся к собеседованиям, студентам, изучающим фронтенд, а также опытным инженерам, которые хотят освежить знания и углубиться в архитектурные решения, применяемые в production-системах. Карточки помогут не только запомнить теорию, но и научиться принимать правильные технические решения с учётом производительности, масштабируемости, SEO и удобства сопровождения проектов. Вам также может быть интересно: Собеседование TypeScript - вопросы и подготовка Собеседование Frontend (React) - вопросы и подготовка Собеседование Frontend (JavaScript) - вопросы и подготовка Собеседование Frontend (CSS) - вопросы и подготовка

You can start studying this pack. You'll receive 332 messages to help you review each card multiple times, following the principles of the forgetting curve.

Learn more about the spaced repetition method.
HTML: роль, DOM, взаимодействие с браузером и отличие от CSS и JavaScript

Что такое HTML, включая его роль в построении DOM-дерева, взаимодействие с браузером и отличие от CSS и JavaScript?

1/83
Структура HTML-документа

Кратко о том, что такое HTML-документ и из каких частей он состоит.

2/83
HTML5

Что такое HTML5, включая ключевые нововведения стандарта, совместимость со старыми браузерами и ограничения использования?

3/83
DOM и производительность

Что такое DOM и как браузер строит дерево элементов; как получить доступ к узлам и как изменения DOM влияют на производительность.

4/83
Блочные элементы

Что такое блочные элементы и как они ведут себя в потоке документа.

5/83
Семантическая разметка

Что такое семантическая разметка, включая цели использования семантических тегов, влияние на SEO и доступность?

6/83
Строчные элементы (inline)

Что такое строчные элементы, включая ограничения по размерам, особенности позиционирования и практические случаи использования?

7/83
Атрибуты HTML

Что такое атрибуты HTML, включая стандартные атрибуты, пользовательские data-* атрибуты и ограничения их использования?

8/83
Глобальные атрибуты HTML

Кратко о глобальных атрибутах HTML: это атрибуты, которые можно использовать почти на любых элементах — id, class, style, title и др. Ниже — что они делают и к каким проблемам приводят при неправильном применении.

9/83
Комментарии в HTML

Что такое комментарии в HTML, включая их назначение, влияние на размер страницы и возможные риски утечки информации?

10/83
Семантические теги HTML5

Что такое семантические теги HTML5: кратко и по делу.

11/83
Тег article

Что такое тег article, включая сценарии использования для независимого контента и ограничения такого подхода?

12/83
section — семантический контейнер

Что такое тег section, включая критерии выбора между ним и div, а также типичные ошибки применения?

13/83
Теги header и footer

Коротко: элементы header и footer задают вводную и заключительную часть логического блока — страницы или любой секции. Они служат для заголовков, навигации, данных об авторе, дат публикации и ссылок на сопутствующие ресурсы.

14/83
aside

Что такое тег aside и каково его назначение в HTML?

15/83
Тег <main>

Что такое тег <main>, включая требования спецификации, ограничения по количеству экземпляров и влияние на доступность?

16/83
Тег figure и figcaption

Что такое тег figure, включая связь с figcaption, преимущества использования и ограничения?

17/83
Тег <time>

Тег <time> обозначает дату и/или время в человекочитаемом контенте и может содержать машинно-читаемое значение в атрибуте datetime. Полезен для семантики, доступа и автоматической обработки (поиск, индексирование, парсинг).

18/83
Микроразметка, Schema.org и влияние на поиск

Кратко о том, что такое микроразметка и зачем использовать Schema.org и структурированные данные для улучшения представления сайта в поисковой выдаче.

19/83
Тег nav

Что такое тег nav и как правильно выделять навигационные блоки; влияние на SEO и доступность.

20/83
Атрибуты action и method

Что такое атрибуты action и method в HTML-формах: куда отправляются данные и каким HTTP-методом. Включены особенности GET и POST и связанные компромиссы.

21/83
HTML-форма и жизненный цикл отправки

Кратко: HTML-форма — это набор полей и элементов управления, которые браузер собирает и отправляет на сервер при сабмите. Формы определяют, какие данные, в каком кодировке и каким методом будут переданы.

22/83
Элемент input — обзор

Что такое элемент input, включая основные типы полей, сценарии использования и ограничения браузерной реализации.

23/83
Типы полей HTML5: email, url, date, number и кроссбраузерные проблемы

Обзор специальных типов input в HTML5 (например, email, url, date, number), что они дают и какие есть подводные камни при кроссбраузерном использовании.

24/83
Встроенная валидация HTML5

Браузер проверяет поля формы по набору встроенных правил и атрибутов (required, pattern, min, max, step и т.д.) и предотвращает отправку, если данные не проходят проверку. Это удобный первый уровень валидации, но не заменяет серверную проверку.

25/83
fieldset

Что такое элемент fieldset и зачем он нужен?

26/83
Элемент label

Что такое элемент label и зачем он нужен в формах.

27/83
datalist

Что такое элемент datalist, механизм автодополнения и ограничения поддержки браузерами?

28/83
autocomplete (атрибут)

Что такое атрибут autocomplete и как он влияет на UX и безопасность?

29/83
Загрузка файлов через HTML-формы

Загрузка файлов через HTML-формы — это отправка бинарных данных (файлов) с клиента на сервер. Для корректной передачи файлов форма должна использовать enctype="multipart/form-data". Браузеры упаковывают каждый файл в отдельную «часть» (part) с заголовками, границами (boundary) и метаданными.

30/83
Атрибут alt

Что такое атрибут alt, включая требования доступности, SEO и последствия его отсутствия?

31/83
Адаптивные изображения: srcset, sizes и компромиссы

Что такое адаптивные изображения, включая srcset, sizes и компромиссы между качеством и производительностью?

32/83
Элемент img: атрибуты, оптимизация и влияние на производительность

Краткое руководство по элементу <img>: обязательные атрибуты, методы оптимизации изображений и как минимизировать их влияние на производительность страницы.

33/83
Адаптивные изображения: srcset, sizes и компромиссы

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

34/83
Элемент picture

Что такое элемент picture, включая переключение источников изображений и сценарии использования?

35/83
loading="lazy"

Атрибут loading="lazy" указывает браузеру отложить загрузку ресурса (обычно изображений и iframe) до тех пор, пока элемент не приблизится к области просмотра. Это встроенный способ ленивой загрузки без библиотек: браузер сам решает, когда начать загрузку, используя собственные эвристики.

36/83
Элементы audio и video

Что такое элементы audio и video, их поддержка форматов, встроенные элементы управления и ограничения браузеров?

37/83
iframe — элемент и безопасность

Краткий обзор элемента iframe: как встраивать сторонний контент и какие безопасности учитывать.

38/83
Веб-доступность (Accessibility)

Что такое веб-доступность, включая стандарты WCAG, основные принципы и бизнес-ценность внедрения?

39/83
ARIA-атрибуты

Что такое ARIA-атрибуты, включая назначение ролей, состояний и ограничения их использования?

40/83
Атрибут sandbox для iframe

Что такое атрибут sandbox для iframe и зачем он нужен?

41/83
Веб‑доступность (WCAG)

Что такое веб‑доступность, включая стандарты WCAG, основные принципы и бизнес‑ценность внедрения?

42/83
role (атрибут role)

Что такое атрибут role, как он взаимодействует со скринридерами и какие ошибки при его применении встречаются чаще всего?

43/83
Управление фокусом в HTML

Краткое объяснение управления фокусом, tabindex, клавиатурной навигации и типичных проблем доступности.

44/83
HTML-метатеги: title, description, robots

Что такое метатеги HTML и как title, description и robots влияют на поисковую оптимизацию (SEO).

45/83
Канонические ссылки (link rel="canonical")

Что такое канонические ссылки и как link rel="canonical" помогает предотвратить проблемы дублированного контента?

46/83
Open Graph метаданные

Что такое Open Graph метаданные и как они влияют на предпросмотр ссылок в соцсетях?

47/83
Доступные таблицы

Что такое доступные таблицы и как правильно использовать caption, thead, tbody, scope и другие приёмы, чтобы данные были понятны пользователям скринридеров и клавиатурой?

48/83
Скрытый контент (accessibility)

Что такое скрытый контент с точки зрения доступности?

49/83
Доступные формы

Что такое доступные формы, включая подписи полей, сообщения об ошибках и поддержку вспомогательных технологий?

50/83
Структура заголовков h1–h6

Что такое структура заголовков h1-h6 и как она влияет на SEO, доступность и организацию контента.

51/83
hreflang-разметка и поддержка мультиязычных сайтов

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

52/83
Файл sitemap (sitemap.xml)

Что такое файл sitemap и какую роль он играет в HTML‑проекте?

53/83
Критический путь рендеринга

Критический путь рендеринга — набор шагов и ресурсов, которые браузер должен выполнить/загрузить, чтобы впервые корректно отобразить содержимое страницы. Включает разбор HTML, построение DOM, загрузку и парсинг CSS (CSSOM), исполнение JavaScript, построение Render Tree и layout/paint.

54/83
preload (предварительная загрузка ресурсов)

Что такое предварительная загрузка ресурсов через preload и зачем её используют?

55/83
Чрезмерная вложенность HTML

Какие проблемы возникают при чрезмерной вложенности HTML-элементов, включая сложность сопровождения и производительность?

56/83
Как браузер парсит HTML

Краткий обзор этапов разбора HTML-документа, загрузки ресурсов, построения DOM/CSSOM, рендеринга и точек блокировки.

57/83
Влияние размера DOM-дерева на производительность

Как влияет размер DOM-дерева на производительность страницы, включая память, скорость рендеринга и поддержку браузером?

58/83
prefetch — предзагрузка для будущей навигации

Что такое prefetch, включая сценарии ускорения навигации и компромиссы по расходованию сетевых ресурсов?

59/83
Ленивый рендеринг (lazy rendering)

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

60/83
Оптимизация HTML для хороших показателей Core Web Vitals (LCP, CLS, INP)

Краткие рекомендации для улучшения LCP, CLS и INP — что менять в HTML, как расставлять ресурсы и какие приёмы применять, чтобы страница была быстрой и стабильной.

61/83
XSS-атаки (введение и защита)

Что такое XSS (Cross-Site Scripting) и как злоумышленники внедряют вредоносный код через HTML, а также какие практические методы защиты существуют.

62/83
Риски пользовательского HTML

Какие риски возникают при использовании пользовательского HTML-контента, включая хранение, отображение и санитизацию данных?

63/83
Content Security Policy (CSP)

Что такое Content Security Policy и как она ограничивает источники контента для повышения безопасности приложения?

64/83
Архитектурные решения и Production-сценарии

Краткий обзор подходов к архитектуре приложений и типичных сценариев развёртывания и эксплуатации в production.

65/83
rel="noopener" и rel="noreferrer"

Что такое атрибуты rel="noopener" и rel="noreferrer", как они защищают от tabnabbing и какие есть компромиссы?

66/83
iframe и безопасность

Какие проблемы безопасности связаны с iframe, включая clickjacking, и какие существуют методы защиты?

67/83
Проектирование HTML для крупного корпоративного приложения

Как проектировать HTML-разметку крупного корпоративного приложения, включая переиспользование компонентов и долгосрочную поддержку?

68/83
Атрибут sandbox (iframe)

Что такое атрибут sandbox у <iframe> — краткое объяснение и уровни изоляции контента, а также ограничения и практические советы по использованию.

69/83
Семантика vs UI‑библиотеки

Какие компромиссы возникают между семантической разметкой и требованиями UI-библиотек, включая React и другие компонентные фреймворки?

70/83
Семантика в SPA: структура, роутинг и SEO

Как организовывать семантическую структуру сложного SPA-приложения, включая взаимодействие с клиентским роутингом и SEO?

71/83
Организация HTML для дизайн-системы

Краткое руководство по успешной организации HTML в дизайн-системе: единообразие компонентов, предсказуемые точки интеграции и масштабируемость разработки.

72/83
HTML для мультиязычного сайта: локализация, доступность и SEO

Как проектировать HTML для мультиязычного сайта, учитывая локализацию, доступность и SEO?

73/83
Проектирование HTML для SSR-приложений

Как проектировать HTML для SSR-приложений с учётом гидратации, индексации и производительности?

74/83
Генерация HTML: сервер vs клиент

Какие проблемы возникают при генерации HTML на сервере и на клиенте, включая различия в производительности и поддержке SEO?

75/83
Чрезмерное использование div

Почему чрезмерное использование div считается антипаттерном, включая последствия для поддержки кода и доступности?

76/83
Проблемы использования HTML для визуального оформления

Какие проблемы возникают при использовании HTML для визуального оформления вместо передачи смысла контента?

77/83
Проектирование HTML для высоконагруженных публичных сервисов

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

78/83
Вложенные интерактивные элементы

Почему вложенные интерактивные элементы считаются ошибкой и к каким проблемам это приводит?

79/83
Проблемы при дублировании id

Какие проблемы возникают при дублировании идентификаторов id в HTML — как это влияет на JavaScript, CSS и вспомогательные технологии?

80/83
Почему таблицы для макета устарели

Почему использование таблиц для построения макета считается устаревшим подходом, включая исторические причины и современные альтернативы?

81/83
Признаки плохой архитектуры HTML-разметки

Какие признаки указывают на плохую архитектуру HTML-разметки, включая чрезмерную связанность, низкую семантичность и сложность сопровождения?

82/83
Проблемы инлайновых обработчиков событий

Какие проблемы возникают при использовании инлайновых обработчиков событий в HTML, включая безопасность и сопровождение кода?

83/83