Вопросы по HTML
Ответы на Вопросы кандидату на должность фронтенд-разработчика - Вопросы по HTML.
- Для чего нужен DOCTYPE?
- Как следует оформлять страницу, содержимое которой может быть на разных языках?
- На что необходимо обратить внимание при разработке мультиязычных сайтов?
- Для чего нужны
data-атрибуты? - Представьте HTML5 как открытую веб-платформу. Из каких блоков состоит HTML5?
- Объясните разницу между
cookie,sessionStorageиlocalStorage. - Объясните разницу между
<script>,<script async>и<script defer>. - Почему хорошей практикой считается располагать
<link>для подключения CSS между<head></head>, а<script>для подключения JS ставить перед</body>? Знаете ли вы исключения? - Что такое прогрессивный рендеринг
- Для чего используется атрибут
srcsetв теге изображ ения? Опишите процесс, который браузер использует при обработке содержимого этого атрибута. - Приходилось ли вам работать с языками HTML-шаблонизации?
- Другие ответы
Для чего нужен DOCTYPE?
DOCTYPE — это сокращение от DOCument TYPE (тип документа). DOCTYPE всегда связан с DTD — Document Type Definition (определение типа документа).
DTD определяет как должны быть структурированы документы определенного типа (т.е. тег button может содержать в себе тег span, но не div), в то время как DOCTYPE объявляет, к какому DTD предположительно относится документ.
Для веб-страниц объявление DOCTYPE необходимо. Он используется для того, чтобы сообщить пользовательскому агенту, к какой версии спецификаций HTML принадлежит ваш документ. Как только пользовательский агент распознал правильный DOCTYPE, он запустит режим no-quirks, соответствующий этому DOCTYPE, для чтения документа. Если пользовательский агент не распознает правильный DOCTYPE, он активирует режим quirks.
DOCTYPE для стандарта HTML5 определяется как <!DOCTYPE html>.
Ссылки
- https://html.spec.whatwg.org/multipage/syntax.html#the-doctype
- https://html.spec.whatwg.org/multipage/xhtml.html
- https://quirks.spec.whatwg.org/
Как следует оформлять страницу, содержимое которой может быть на разных языках?
Вопрос н емного расплывчатый. Полагаю, что речь о наиболее частом случае: как показывать страницу, где содержимое доступно на нескольких языках, но отображается на одном определенном.
Когда к серверу делается HTTP-запрос, то браузер пользователя обычно отсылает информацию о предпочитаемом языке в заголовке Accept-Language. Сервер может использовать эту информацию, чтобы вернуть версию документа на подходящем языке, если такая возможность есть. В возвращённом HTML-документе обязательно должен быть указан атрибут lang у тега <html>, к примеру <html lang="en">...</html>.
На бэкенде HTML-разметка будет содержать плейсхолдер i18n, а контент для конкретного языка будет храниться в YAML- или JSON-формате. Сервер динамически формирует HTML-страницу с контентом на конкретном языке, чаще всего при помощи бэкенд-фреймворка.