HTML+CSS - Подготовка к техническому собеседованию
HTML+CSS - Подготовка к техническому собеседованию
HTML+CSS - Подготовка к техническому собеседованию
собеседованию
Парубец Анатолий
Senior Front End Engineer
● JavaScript
● TypeScript
● React
● Vue
Вопрос:
Для чего нужно указывать DOCTYPE?
Ответы на: Для чего нужно указывать DOCTYPE?
DOCTYPE указывает типа текущего документа. Это необходимо, чтобы браузер понимал, как
следует интерпретировать текущую веб-страницу, поскольку HTML существует в нескольких
версиях.
Вопрос:
Что будет если не указать DOCTYPE в начале документа?
Ответы на: Что будет если не указать DOCTYPE в начале документа?
Плохой ответ: Блочные элементы занимают всю ширину страницы, а ширина строчного
элемента зависит от его контента.
Отличный ответ: Блочные элементы являются основой, которая используется для верстки
страниц. Такой элемент представляет собой прямоугольник, который по умолчанию занимает
всю доступную ширину страницы, а высота элемента зависит от его содержимого. Такой
элемент всегда начинается с новой строки. Блочный элемент может содержать в себе другие
блочные и строчные элементы. Примеры блочных элементов: <div>, <p>, <ul>, <ol>, <h1>
В отличие от блочного, строчный элемент не переносится на новую строку, а располагается на
той же строке, что и предыдущий элемент. Ширина строчного элемента зависит от его
содержимого. Блочные элементы в строчные вкладывать нельзя. Примеры строчных
элементов: <a>, <span>, <strong>, <em>, <img>
Вопрос:
Почему некоторые символы могут отображаться в виде
квадратов?
Ответы на: Почему некоторые символы могут отображаться в виде квадратов?
Это может возникать по той причине, что некоторые браузеры могут не поддерживать
определённые символы операционной системы. Также просто может отличаться кодировка.
Или не подключен нужный шрифт с иконками.
Вопрос:
Какие типы заголовков есть в HTML?
Ответы на: Какие типы заголовков есть в HTML?
Хороший ответ: Есть 6 типов заголовков от h1 до h6, где h1 - это самый большой заголовок, а h6
- самый маленький
Отличный ответ: HTML поддерживает шесть различных типов заголовков. Эти заголовки
отличаются по размеру шрифта, начиная с самого крупного. h1 - самый крупный заголовок. h6 -
самый маленький заголовок. h1 должен быть только 1 на странице.
Вопрос:
Что такое семантическая верстка?
Ответы на: Что такое семантическая верстка?
Плохой ответ: Можно подключить скрипт при помощи добавления ссылки на файл JavaScript.
Отличный ответ: Первый способ - вставить скрипт в блок script. Второй способ - подключить
скрипт при помощи добавления ссылки на файл JavaScript. Желательно все скрипты
подключать в конце блока body.
Вопрос:
В чем разницу между <script>, <script async> и <script defer>?
Ответы на: В чем разницу между <script>, <script async> и <script defer>?
Плохой ответ: Можно подключить стили при помощи добавления ссылки на внешний файл css,
использую тег link.
Отличный ответ: Первый способ - описать селекторы и их значения внутри тега style.
Второй способ - подключить стили при помощи добавления ссылки на внешний файл css,
использую тег link, который располагается внутри блока head.
Третий способ - добавить инлайновые стили для каждого отдельного элемента, используя
атрибут style.
Вопрос:
Какая разница между reset.css и normalize.css?
Ответы на: Какая разница между reset.css и normalize.css?
reset.css - сбрасывает все стили в ноль для того, чтобы можно было начать стилизацию сайта с
чистого листа.
normalize.css - приводит исходные стили к единому состоянию, во всех браузерах.
Вопрос:
Что такое critical CSS?
Ответы на: Что такое critical CSS?
Отличный ответ: Critical CSS - это стили, которые необходимы для отрисовки первой видимой
части страницы. Для моментальной отрисовки критический CSS встраивают в HTML, все
остальные стили загружаются отдельным файлом асинхронно.
Вопрос:
Что такое специфичность селекторов CSS?
Ответы на: Что такое специфичность селекторов CSS?
Плохой ответ: Это механизм, который определяет, какие стили будут применены для элемента.
Отличный ответ: Это способ, с помощью которого браузеры определяют, какие значения
свойств CSS наиболее соответствуют элементу и, следовательно, будут применены.
Специфичность представляет собой вес, придаваемый конкретному правилу CSS. Наиболее
весомым являются inline стили. Потом стили селектора по ID. Наименее весомые являются
селекторы по тегу а также селектор *.
Вопрос:
В чем разница между псевдоклассом и псевдо-элементом в
CSS?
Ответы на: В чем разница между псевдоклассом и псевдо-элементом в CSS?
Плохой ответ: Блочная модель - это модель в которой все элементы на странице являются
прямоугольниками.
Отличный ответ: Каждый блок имеет прямоугольную область содержимого в центре, поля
вокруг содержимого (padding), рамку вокруг полей (border) и отступ за пределами рамки
(margin).
Вопрос:
Что делает свойство box-sizing?
Ответы на: Что делает свойство box-sizing?
Плохой ответ: Свойство box-sizing определяет как вычисляется общая ширина и высота
элемента.
Отличный ответ: Свойство box-sizing определяет как вычисляется общая ширина и высота
элемента. Имеет 2 поведения:
- content-box это стандартное поведение. Если установить элементу ширину 100 пикселей, то
ширина его контента будет 100 пикселей, а ширина границ и внутренних отступов при рендере
будет добавлена к финальной ширине, делая элемент шире ста пикселей.
- border-box говорит браузеру учитывать любые границы и внутренние отступы в значениях,
которые указаны в ширине и высоте элемента. Если выставить элементу ширину 100 пикселей,
то эти 100 пикселей будут включать в себя границы и внутренние отступы, а контент сожмётся,
чтобы выделить для них место. Обычно это упрощает работу с размерами элементов.
Вопрос:
Какие виды позиционирования элементов на странице вы
знаете?
Ответы на: Какие виды позиционирования элементов на странице вы знаете?
Хороший ответ: Свойство указывает положения элемента над другими элементами. Элементы с
большим z-index перекрывают элементы с меньшим.
Отличный ответ: Это свойство определяет положение элемента и нижестоящих элементов по
оси z. В случае перекрытия элементов, это значение определяет порядок наложения. В общем
случае, элементы с большим z-index перекрывают элементы с меньшим. Это свойство работает
только для элементов, у которых значение position задано как absolute, fixed или relative.
Вопрос:
В чем разница между px, em, rem?
Ответы на: В чем разница между px, em, rem?
В резиновой верстке блоки меняют свою ширину в зависимости от размера окна браузера.
Адаптивная верстка реализуется с помощью @media правил. Это позволяет для каждого
отдельного размера экрана показывать разную верстку. Любое изменение размера окна
происходит рывками, после достижения одного из указанных точек перелома.
Отзывчивая верстка это объединение резиновой и адаптивной вёрстки. В реализации самая
сложная. Но результат получается наиболее приемлемый.
Вопрос:
В чем разница между visibility:hidden и display:none?
Ответы на: В чем разница между visibility:hidden и display:none?
Плохой ответ: repaint - это перерисовка элемента на странице связанная с цветом элемента.
reflow - это перерисовка элемента на странице связанная с его размерами или местом
положения на странице.
Отличный ответ: При загрузке страницы, если она не пустая, всегда выполняется, как минимум,
по одному reflow и repaint. Далее эти события возникают в следующих случаях:
- 1 - часть дерева отображения нуждается в перерасчете, т. е. у какого-то узла изменились
ширина, высота или координаты. Вызывается событие reflow.
- 2 - в результате изменений часть отображаемого контента должна обновиться. Речь идет, в
первую очередь, о свойствах стилей: цвет фона, радиус и т. д. Вызывается событие repaint.
Если вызывается reflow, после него обязательно вызовется и repaint. Но обратное неверно:
repaint может вызываться независимо от reflow.
Вопрос:
В чем разница между cookie, sessionStorage и localStorage?
Ответ на: В чем разница между cookie, sessionStorage и localStorage?
localStorage:
- хранит данные бессрочно.
- очищается только с помощью JavaScript или очистки кэша браузера.
- хранит данные объёмом до 5 МБ.
- не поддерживается старыми браузерами, например, IE 7 и ниже.
- работает по правилу ограничения домена (same origin policy).
sessionStorage:
- хранит данные, пока продолжается текущая сессия вкладки.
- каждая вкладка имеет свой sessionStorage.
- хранит данные объёмом до 5 МБ.
- не поддерживается старыми браузерами, например, IE 7 и ниже.
cookie:
- хранит данные, которые передаются на сервер через заголовки.
- имеют срок храниния данных.
- объём данных от 4 Кбайт до 32 Кбайт.
- сookie могут быть защищёнными, в этом случае их содержимое нельзя получить на стороне клиента. Это важно для
аутентификации при хранении пользовательских токенов.
Вопрос:
Какая разница между относительным и абсолютным путем?
Ответы на: Какая разница между относительным и абсолютным путем?
Абсолютные адреса должны начинаться с указания протокола (обычно http://) и содержать имя
сайта.
Относительные ссылки ведут отсчет от корня сайта или текущего документа.
Вопрос:
Какая разница между тегом и элементом?
Ответы на: Какая разница между тегом и элементом?
Хороший ответ: Кнопку нужно использовать для выполнения действия после нажатия, а ссылка
для перехода на другую страницу.
Плохой ответ: Это нужно, чтобы указать какой будет тип кнопки.
Отличный ответ: type определяет тип кнопки, который устанавливает ее поведение в форме. По
внешнему виду кнопки разного типа никак не различаются, но у каждой такой кнопки свои
функции. Существует 3 типа: button, reset и submit. По умолчанию установлено значение submit.
Вопрос:
Для чего нужен тег <base>?
Ответы на: Для чего нужен тег <base>?
Тег <base> предназначен для документов, в которых используется относительный адрес и эти
документы могут переноситься в другую директорию без потери связи. Браузер ищет тег
<base>, определяет полный адрес документа и корректно загружает его. Также тег <base>
используют для задание целевого окна для всех ссылок на текущей странице.
Вопрос:
Какая разница между checkbox и radio?
Ответы на: Какая разница между checkbox и radio?
radio - создает переключать между вариантами и позволяет выбрать только один из них.
checkbox - применяются в форме для выбора нескольких значений.
Вопрос:
Что такое наследование стилей в CSS?
Ответы на: Что такое наследование стилей в CSS?
При указании стиля для элемента часть свойств может быть унаследована его дочерними
элементами и потомками. Например, если задать цвет текста для body, то все дочерние
элементы и потомки его унаследуют.
Вопрос:
Что такое каскадность в CSS?
Ответы на: Что такое каскадность в CSS?
Каскадность - это особенность CSS, с помощью которой браузер определяет значения каких
свойств будут применены к элементу при возникновении конфликта свойств. Конфликт свойств
возникает, когда для элемента определено несколько правил, селекторы которых имеют
одинаковую специфичность и они содержат одинаковые свойства, но с разными значениями.
Вопрос:
В чем разница между контентными и оформительнимы
изображениями?
Ответы на: В чем разница между контентными и оформительнимы
изображениями?
Псевдоэлементы ::before и ::after дают результат только для тех элементов, у которых имеется
содержимое. А у <img> и <input> содержимого нет.
Вопрос:
Для чего нужна функция calc в CSS?
Ответы на: Для чего нужна функция calc в CSS?
Хороший ответ: Она используется для вычисления какого-то значения путем математических
операция.
Отличный ответ: Функция calc даёт возможность рассчитать значения свойств CSS во время их
определения. Она принимает в качестве параметра математическое выражение, результат
вычисления которого можно использовать как значение CSS свойства.
Вопрос:
Что такое flex-контейнер и flex-элемент?
Ответы на: Что такое flex-контейнер и flex-элемент?
Хороший ответ: Mobile first - стили создаются изначально для маленьких устройств и потом
расширяются для больших.
Desktop first - стили создаются изначально для больших устройств а потом переопределяются
для маленьких.
Отличный ответ: Mobile first ориентирован на узкие экраны. Это подход, при котором стили
применяются сначала к мобильным устройствам. Расширенные стили и другие
переопределения для больших экранов затем добавляются в таблицу стилей через
медизапросы.
Desktop first ориентирован на широкие экраны. Это подход, при котором стили применяются
сначала к большим устройствам. Расширенные стили и переопределения для меньших экранов
затем добавляются в таблицу стилей через медизапросы.
Вопрос:
Какие преимущества svg перед png или jpeg?
Ответы на: Какие преимущества svg перед png или jpeg?
Плохой ответ: SVG не теряет в качестве при масштабировании и имеет меньший вес.
rgb - это смешивание красного, зеленого и синего цвета в процентном или числовом
соотношении для получения нужного цвета.
rgba - это тот же rgb только с альфа-каналом, который задает уровень непрозрачности (0 -
прозрачный, 1 - непрозрачный).
hex - это описание цвета основано на 16-ричной записи числа.
Вопрос:
Чем отличается линейный и радиальный градиенты?
Ответы на: Чем отличается линейный и радиальный градиенты?
Линейный градиент создается с помощью двух и более цветов, для которых задано
направление распределения. Если направление не указано, используется значение по
умолчанию - сверху-вниз.
Радиальный градиент отличается от линейного тем, что цвета выходят из центра градиента и
равномерно распределяются наружу, принимая форму окружности.