HTML & CSS на собесе: Гайд по выживанию для фронтендера в 2026 🎯
Готовитесь к собеседованию на фронтенд-разработчика? Разбираем реальные вопросы по HTML и CSS, которые задают в 2026 году: от базовых концепций до хардкорных тем вроде BFC и Container Queries. С примерами кода, мемами и практическими советами.
Как не превратиться в мем "backend developer doing frontend"
Поздравляю! Вы решили пойти на собеседование фронтенд-разработчиком. Скорее всего, вы уже знаете, что такое семантические теги, box model и как отцентрировать div (спойлер: это всё ещё не так просто, как кажется 😅).
Но давайте будем честны: между "я изучал CSS" и "я прошел собеседование по CSS" — целая вселенная боли, страданий и вопросов в стиле "а вы знаете, что такое BFC?".

HTML: "Это же просто теги, что может пойти не так?"
1. Семантика — это не философия, это про теги
Вопрос: Чем отличается <div> от <section> и зачем вообще нужна семантика?
Что нужно знать:
Семантические теги (<article>, <section>, <nav>, <header>, <footer>, <aside>) не просто делают код "красивее".
Они:
Улучшают SEO (поисковики любят структуру)
Делают сайт доступным для скринридеров
Помогают разработчикам понимать структуру без чтения всего кода
<!-- Плохо: --><div class="article"><div class="header">Заголовок</div><div class="content">Контент</div></div>
<!-- Хорошо: --><article><header>
<h1>Заголовок</h1></header><section>Контент</section></article>Помните, что говорят: "Использовать везде <div> — это как называть все переменные data1, data2, data3". Технически работает, но коллеги будут вас ненавидеть.
2. HTML5 фичи: не только canvas и video
Топ-вопросов 2025:
В чём разница между
<canvas>и<svg>?Что такое data-атрибуты и зачем они нужны?
Как работает
localStoragevssessionStorage?
Быстрый ответ по canvas vs svg:
<canvas>— растровая графика, для сложной анимации и игр<svg>— векторная, для иконок и масштабируемых элементов
Data-атрибуты — ваш личный кастомный атрибут-хранилище:
<article data-post-id="12345" data-category="frontend"><!-- Можно читать через JS: article.dataset.postId --></article>3. Формы: больше, чем просто input
Вопрос: Какие новые типы input появились в HTML5?
Ответ для импресса интервьюера:
type="email"— валидация emailtype="tel"— телефон (мобильная клавиатура оптимизирована)type="date",type="time"— нативные date-пикерыtype="range"— слайдерtype="color"— color-пикерrequired,pattern,min,max— встроенная валидация без JS!
<input type="email" required
pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"
placeholder="your@email.com">4. Box Model: основа основ
Вопрос: Объясните CSS Box Model и разницу между box-sizing: content-box и border-box.
Ответ (запомните раз и навсегда):
Box Model состоит из:
Content — сам контент
Padding — отступ внутри
Border — граница
Margin — отступ снаружи
/* content-box (default, но неудобно) */.box {
width: 200px;
padding: 20px;
border: 5px solid;
/* Итоговая ширина: 200 + 20*2 + 5*2 = 250px */
}
/* border-box (используют все адекватные люди) */.box {
box-sizing: border-box;
width: 200px;
padding: 20px;
border: 5px solid;
/* Итоговая ширина: ровно 200px */
}Если вы не используете * { box-sizing: border-box; } в 2026 году — возможно, вы застряли в прошлом веке 🦕
5. Flexbox vs Grid: вечная битва
Вопрос: Когда использовать Flexbox, а когда Grid?
Простое правило:
Flexbox — для одномерных лейаутов (строка ИЛИ столбец)
Grid — для двумерных (строки И столбцы одновременно)
Flexbox для навигации:
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
}Grid для галереи:
.gallery {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
}Flexbox — это когда вы хотите выровнять элементы. Grid — это когда вы хотите остановить войну с float и position.

6. Специфичность CSS: почему мой стиль не применился?!
Вопрос: Объясните CSS Specificity и приоритеты стилей.
Ранжирование по силе (от слабого к сильному):
Селекторы тегов:
div(0,0,1)Классы:
.button(0,1,0)ID:
#header(1,0,0)Inline стили:
style="..."(1,0,0,0)!important— ядерная кнопка (никогда не используйте!)
/* Специфичность: 0,0,1 */p { color: blue; }
/* Специфичность: 0,1,0 */.text { color: red; }
/* Специфичность: 0,1,1 */p.text { color: green; } /* Этот выиграет! */
/* Специфичность: 1,0,0 */#content { color: purple; }
/* Если добавить !important — всё сломается */p { color: orange !important; } /* НЕ ДЕЛАЙТЕ ТАК */7. Псевдоклассы vs Псевдоэлементы: в чём разница?
Вопрос задают всегда!
Псевдоклассы (:) — состояния элемента:
a:hover { color: red; }
input:focus { border: 2px solid blue; }
li:nth-child(2) { background: yellow; }Псевдоэлементы (::) — виртуальные элементы:
p::before { content: "📌 "; }
p::after { content: " ✓"; }
::selection { background: yellow; }Лайфхак: Одно двоеточие — состояние, два — элемент.
8. Адаптивность: Mobile-First в 2026
Вопрос: Как реализовать responsive design без фреймворков?
Modern подход:
/* Mobile-first: базовые стили для мобилок */.container {
padding: 10px;
font-size: 14px;
}
/* Для планшетов */@media (min-width: 768px) {
.container {
padding: 20px;
font-size: 16px;
}
}
/* Для десктопов */@media (min-width: 1024px) {
.container {
max-width: 1200px;
margin: 0 auto;
padding: 40px;
}
}BFC (Block Formatting Context): для хардкорщиков
Вопрос для middle/senior: Что такое BFC и как его создать?
Простыми словами:
BFC — это изолированная область рендеринга, где элементы взаимодействуют по своим правилам.
Создаётся при:
overflow: hidden/auto/scroll(неvisible)display: flow-root(современный способ!)position: absolute/fixeddisplay: flex/gridна родителеfloat: left/right
/* Проблема: плавающий элемент вываливается из контейнера */.container {
border: 2px solid black;
}
.float-item {
float: left;
width: 200px;
}
/* Решение: создаём BFC */.container {
overflow: hidden; /* Старый способ *//* или */display: flow-root; /* Современный способ */
}🎓 А что насчет практики?
Теория — это круто, но без практики на собесе вы будете чувствовать себя как backend-разработчик, который пытается отцентрировать div.
Здесь на помощь приходит Кодик — мобильное приложение для изучения программирования, где вы можете прокачивать HTML и CSS прямо на ходу. Метро, очередь в кофейне, обеденный перерыв — любое место превращается в coding bootcamp!
✅ Интерактивные уроки
с реальным кодом
✅ Практика в приложении
не нужен компьютер!
✅ Прогресс отслеживается
автоматически
✅ Задачки по уровням
от новичка до про
А еще есть наше Telegram-сообщество! 🚀
Это место, где:
📚 Выходят полезные посты каждый день
💬 Можно задать вопрос и получить помощь
🔥 Делимся опытом прохождения собеседований
😄 Постим мемы
Подписывайтесь, чтобы ежедневно повторять материалы и оставаться в курсе трендов!
Собеседования по HTML и CSS в 2025 году — это не просто "знаешь ли ты теги". Это понимание того, как браузер рендерит страницу, как оптимизировать производительность и как писать поддерживаемый код.
Золотое правило: Честность + базовые знания + практика = оффер.
Не знаете ответ? Скажите: "Сейчас не помню точно, но я знаю, где найти эту информацию и как применить". Интервьюеры ценят честность и умение искать решения больше, чем знание всех 500 CSS-свойств наизусть.
P.S. Помните: каждый senior-разработчик когда-то гуглил "how to center a div css". Разница в том, что теперь они знают 5 способов это сделать и могут объяснить, какой из них лучше для конкретной задачи.