Питання інтервью Flashcards

1
Q

Для чого потрібно вказувати DOCTYPE?

A

DOCTYPE вказує тип поточного документа. Це необхідно, щоб браузер розумів, як слід інтерпретувати поточну веб-сторінку, оскільки HTML існує у кількох версіях.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Що буде, якщо не вказати DOCTYPE на початку документа?

A

Браузер спробує відобразити сторінку в режимі сумісності (quirks mode). Це може призвести до того, що в різних браузерах сторінка відображатиметься по-різному.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Для чого потрібні мета-теги?

A

Мета-теги – це теги, які надають пошуковим системам додаткову інформацію про сторінку сайту. Наприклад, механізми пошукових систем звертаються до мета-тегів для отримання опису сайту, ключових слів та інших даних. Мета-теги для сайту розміщуються всередині <head>.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Чим відрізняється блоковий елемент від рядкового?

A

Блокові елементи є основою, яка використовується для верстки сторінок. Такий елемент є прямокутником, який за замовчуванням займає всю доступну ширину сторінки, а висота елемента залежить від його вмісту. Такий елемент завжди починається з нового рядка. Блоковий елемент може містити в собі інші блокові та рядкові елементи.
Приклади блокових елементів: <div>, <p>, <ul>, <ol>, <h1>

На відміну від блокового, рядковий елемент не переноситься на новий рядок, а розташовується у тому ж рядку, що й попередній елемент. Ширина рядкового елемента залежить від його вмісту. Блокові елементи не можна вкладати в рядкові.
Приклади рядкових елементів: <a>, <span>, <strong>, <em>, <img></img></em></strong></span></a>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Чому деякі символи можуть відображатися у вигляді квадратів?

A

Це може виникати через те, що деякі браузери можуть не підтримувати певні символи операційної системи. Також може відрізнятися кодування. Або не підключено потрібний шрифт з іконками.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Які типи заголовків є в HTML?

A

HTML підтримує шість різних типів заголовків. Ці заголовки відрізняються за розміром шрифту, починаючи з найбільшого.

h1 – найбільший заголовок. h6 – найменший заголовок.
h1 має бути лише 1 на сторінці.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Що таке семантична верстка?

A

Це верстка орієнтована на структурування html-документів. У ній використовуються теги, які поділяють код на логічні блоки, що явно показують їх роль та зміст у структурі сторінки.

Семантична верстка відрізняється від блокової лише елементами, що використовуються при структуризації сторінки.

У блоковій верстці використовують в основному тільки елемент div, а в семантичній використовуються крім div ще безліч інших тегів, таких як: header, main, section, footer, nav, aside.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Що таке потік HTML-документа?

A

Потоком документа HTML називається порядок виведення елементів на сторінку. У звичайному вигляді всі блоки виводяться у порядку, у якому записані всередині HTML-документа.

Потік можна змінювати за допомогою css правил, наприклад, за допомогою position: absolute.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Як підключити JavaScript до сторінки?

A

Перший спосіб — вставити скрипт у блок script.

Другий спосіб — підключити скрипт за допомогою додавання посилання на файл JavaScript. Бажано всі скрипти підключати наприкінці блоку body.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Яка різниця між

, 
 та 
?
A

1 - Коли браузер завантажує HTML і доходить до тегу

, він призупиняє будувати DOM. Він повинен спочатку завантажити та виконати скрипт, і лише потім обробити решту сторінки.

2 - Атрибут defer повідомляє браузеру, що він повинен продовжувати обробляти сторінку та завантажувати скрипт у фоновому режимі, а потім запустити цей скрипт, коли сторінка завантажилася.

3 - Атрибут async повідомляє браузеру, що він повинен продовжувати обробляти сторінку та завантажувати скрипт у фоновому режимі, а потім запустити цей скрипт, як тільки він буде завантажений.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Як додати CSS на сторінку?

A

Перший спосіб — описати селектори та їх значення всередині тегу style.

Другий спосіб — підключити стилі за допомогою додавання посилання на зовнішній файл css, використовують тег link, що розташовується всередині блоку head.

Третій спосіб — додати інлайнові стилі для кожного окремого елемента, використовуючи атрибут style.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Яка різниця між reset.css та normalize.css?

A

reset.css - скидає всі стилі в нуль для того, щоб можна було розпочати стилізацію сайту з чистого аркуша.

normalize.css - приводить вихідні стилі до єдиного стану, у всіх браузерах.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Що таке critical CSS?

A

Critical CSS - це стилі, які необхідні для відтворення першої видимої частини сторінки. Для моментального відтворення критичний CSS вбудовують в HTML, всі інші стилі завантажуються окремим файлом асинхронно.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Що таке специфічність селекторів CSS?

A

Це спосіб, за допомогою якого браузери визначають, які значення властивостей CSS найбільше відповідають елементу і, отже, будуть застосовані. Специфічність є вагою, що надається конкретному правилу CSS.

Найбільшу вагу мають inline стилі. Потім стилі селектора за ID. Найменшу вагу мають селектори по тегу і також селектор*.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Яка різниця між псевдокласом і псевдоелементом в CSS?

A

Псевдокласи описують особливий стан елементу. Наприклад, стан натиснутої кнопки. Псевдоелементи відповідають віртуальним елементам. Наприклад, потрібно виділити першу літеру в рядку.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Що таке блокова модель CSS?

A

Кожен блок має прямокутну область вмісту в центрі, поля навколо вмісту (padding), рамку навколо полів (border) та відступ за межами рамки (margin).

17
Q

Що робить властивість box-sizing?

A

Властивість box-sizing визначає як обчислюється загальна ширина та висота елемента. Має 2 поведінки:
- content-box це стандартна поведінка. Якщо встановити елементу ширину 100 пікселів, то ширина його контенту буде 100 пікселів, а ширина меж і внутрішніх відступів під час рендеру буде додана до фінальної ширини, що зробить елемент ширше ста пікселів.

  • border-box каже браузеру враховувати будь-які межі та внутрішні відступи у значеннях, які вказані у ширині та висоті елемента. Якщо виставити елементу ширину 100 пікселів, то ці 100 пікселів будуть містити межі та внутрішні відступи, а контент стискається, щоб виділити для них місце. Зазвичай це полегшує роботу з розмірами елементів.
18
Q

Які види позиціонування елементів на сторінці ви знаєте?

A

Існує 5 видів позиціонування:

  • static - стандартне позиціонування;
  • relative - позиціонування щодо самого себе;
  • absolute - позиціонування щодо його найближчого відносно позиціонованого предка, якщо такий є;
  • fixed - позиціонування відносно viewport
  • sticky - липке позиціонування, яке може змінювати своє значення з relative на fixed під час прокручування сторінки.
19
Q

Що робить властивість z-index?

A

Ця властивість визначає положення елемента та елементів, розташованих нижче по осі z. У разі перекриття елементів це значення визначає порядок накладання. У загальному випадку елементи з більшим z-index перекривають елементи з меншим.

Ця властивість працює тільки для елементів, у яких значення position встановлено як absolute, fixed або relative.

20
Q

Яка різниця між px, em, rem?

A

px - піксель, це найбільш базова, абсолютна та остаточна одиниця виміру;

em - одиниця виміру відносно поточного розміру шрифту;

rem - одиниця виміру відносно розміру шрифту елемента <html>.

21
Q

Яка різниця між гумовою, адаптивною та респонсивною версткою?

A

У гумовій верстці блоки змінюють ширину залежно від розміру вікна браузера.

Адаптивна верстка реалізується за допомогою правил @media. Це дає змогу для кожного окремого розміру екрана відображати різну верстку. Будь-яка зміна розміру вікна відбувається ривками, після досягнення однієї із зазначених точок перелому.

Респонсивна верстка — це поєднання гумової та адаптивної верстки. У реалізації найскладніша. Але результат виходить найбільш прийнятним.

22
Q

Яка різниця між visibility:hidden та display:none?

A

visibility:hidden залишає елемент у нормальному потоці сторінки, і він все ще займає місце.

display:none видаляє елемент із нормального потоку сторінки, що дозволяє іншим елементам заповнити його місце.

23
Q

Для чого потрібне правило @supports?

A

Правило @supports дозволяє перевірити, чи підтримує браузер ту чи іншу можливість, і на основі цього створити набір стильових правил.

24
Q

Яка різниця між Progressive Enhancement та Graceful Degradation?

A

Прогресивне покращення – це коли основний функціонал програми однаково працює у всіх браузерах, а для нових браузерів додається щось додаткове. Це добре працює з технологіями, які поки що широко не підтримуються, але вже можуть принести користь. Для реалізації цього підходу використовується директива @supports.

Поступова деградація – це коли код спочатку пишеться для найновіших браузерів з використанням останніх технологій, але при цьому додаток потребує підтримки старими браузерами. За такого підходу інтерфейс спрощується або деградує поступово, але при цьому ним все одно можна користуватися.

25
Що таке repaint та reflow?
Під час завантаження сторінки, якщо вона не порожня, завжди виконується щонайменше по одному reflow та repaint. Далі ці події виникають у таких випадках: - 1 - частина дерева відображення потребує перерахунку, тобто у якогось вузла змінилися ширина, висота чи координати. Викликається подія reflow. - 2 - в результаті змін частина контенту, що відображається, повинна оновитися. Йдеться в першу чергу про властивості стилів: колір фону і т. д. Викликається подія repaint. Якщо викликається reflow, після нього обов'язково викликається і repaint. Але зворотне хибно: repaint може викликатися незалежно від reflow.
26
Яка різниця між cookie, sessionStorage та localStorage?
**localStorage**: - зберігає дані безстроково. - очищається тільки за допомогою JavaScript або чищення кешу браузера. - зберігає дані об'ємом до 5 МБ. - не підтримується старими браузерами, наприклад, IE 7 і нижче. - працює за правилом обмеження домену (same origin policy). **sessionStorage**: - зберігає дані, поки триває поточна сесія вкладки. - кожна вкладка має свій sessionStorage. - зберігає дані об'ємом до 5 МБ. - не підтримується старими браузерами, наприклад, IE 7 і нижче. **cookie**: - зберігає дані, що передаються на сервер через заголовки. - мають термін зберігання даних. - обсяг даних від 4 Кбайт до 32 Кбайт. - сookie можуть бути захищеними, в цьому випадку їх вміст не можна отримати на стороні клієнта. Це важливо для аутентифікації при зберіганні користувальницьких токенів. "
27
Яка різниця між відносним та абсолютним шляхом?
**Абсолютні** адреси повинні починатися із зазначення протоколу (зазвичай http://) та містити ім'я сайту. (http://some-site.com/path) **Відносні** посилання ведуть відлік від кореня сайту чи поточного документа. (/path)