Питання інтервью 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
Q

Що таке repaint та reflow?

A

Під час завантаження сторінки, якщо вона не порожня, завжди виконується щонайменше по одному reflow та repaint. Далі ці події виникають у таких випадках:

  • 1 - частина дерева відображення потребує перерахунку, тобто у якогось вузла змінилися ширина, висота чи координати. Викликається подія reflow.
  • 2 - в результаті змін частина контенту, що відображається, повинна оновитися. Йдеться в першу чергу про властивості стилів: колір фону і т. д. Викликається подія repaint. Якщо викликається reflow, після нього обов’язково викликається і repaint. Але зворотне хибно: repaint може викликатися незалежно від reflow.
26
Q

Яка різниця між cookie, sessionStorage та localStorage?

A

localStorage:
- зберігає дані безстроково.
- очищається тільки за допомогою JavaScript або чищення кешу браузера.
- зберігає дані об’ємом до 5 МБ.
- не підтримується старими браузерами, наприклад, IE 7 і нижче.
- працює за правилом обмеження домену (same origin policy).

sessionStorage:
- зберігає дані, поки триває поточна сесія вкладки.
- кожна вкладка має свій sessionStorage.
- зберігає дані об’ємом до 5 МБ.
- не підтримується старими браузерами, наприклад, IE 7 і нижче.

cookie:
- зберігає дані, що передаються на сервер через заголовки.
- мають термін зберігання даних.
- обсяг даних від 4 Кбайт до 32 Кбайт.
- сookie можуть бути захищеними, в цьому випадку їх вміст не можна отримати на стороні клієнта. Це важливо для аутентифікації при зберіганні користувальницьких токенів. “

27
Q

Яка різниця між відносним та абсолютним шляхом?

A

Абсолютні адреси повинні починатися із зазначення протоколу (зазвичай http://) та містити ім’я сайту. (http://some-site.com/path)

Відносні посилання ведуть відлік від кореня сайту чи поточного документа. (/path)