-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfaq.html
More file actions
315 lines (308 loc) · 24.3 KB
/
faq.html
File metadata and controls
315 lines (308 loc) · 24.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
---
layout: layout-main
title: FAQ
---
<section class="start portfolio-bg">
<div class="container">
<div class="start__inner portfolio-bg">
<h1 class="start__title _anim-items _anim-no-hide">
FAQ
</h1>
<p class="start__text _anim-items _anim-no-hide">
Теория. Много терминов, определений. И вообще вопросы, ответы на которые необходимо знать
и понимать. Своего рода такой мини учебник, к которому удобно обращаться в любой момент.
Для удобства все разбито на категории.
</p>
</div>
</div>
</section>
<section class="criteria container _tabs">
<nav class="criteria__nav criteria-nav">
<button class="criteria-nav__item criteria-nav__item--faq _tabs-item _active">HTML</button>
<button class="criteria-nav__item criteria-nav__item--faq _tabs-item">Css</button>
<button class="criteria-nav__item criteria-nav__item--faq _tabs-item">JavaScript</button>
<button class="criteria-nav__item criteria-nav__item--faq _tabs-item">Общее</button>
</nav>
<div class="criteria__body criteria-body">
<!-- HTML -->
<div class="criteria-body__block _tabs-block _active">
<div class="criteria-body__items">
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Что такое HTML</h2>
<p class="criteria-body__item-text">HTML (от англ. HyperText Markup Language — «язык гипертекстовой
разметки») — стандартизированный язык разметки документов для просмотра веб-страниц в браузере.
Веб-браузеры получают HTML документ от сервера по протоколам HTTP/HTTPS или открывают с
локального диска, далее интерпретируют код в интерфейс, который будет отображаться на экране
монитора.
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Типы полей ввода (HTML input)</h2>
<p class="criteria-body__item-text">
input type="text" <br>
input type="date"<br>
input type="email"<br>
input type="number"<br>
input type="password"<br>
input type="range"
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Что такое doctype</h2>
<p class="criteria-body__item-text">doctype используется для указания типа документа. Чтобы браузер
мог понять как ему интерпретировать страницу и в соответствии с каким стандартом осуществлять
парсинг документа и определять валидность тегов</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Что такое семантика</h2>
<p class="criteria-body__item-text">Семантика - это использование правильных тегов описывающих
содержимое контента внутри себя. Семантичный тег это тег который носит смысловое объяснение
<code>
<header></header>
<footer></footer>
<aside</aside>
<nav</nav>
<p></p>
<h1></h1>
<ul></ul>
</code>
</p>
</div>
</div>
</div>
<!-- Css -->
<div class="criteria-body__block _tabs-block">
<div class="criteria-body__items">
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Свойство display</h2>
<p class="criteria-body__item-text">None, block, inline, inline-block, flex, grid</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Keyframes</h2>
<p class="criteria-body__item-text">Определяет ключевые кадры по которым будет работать анимация.
Указывается начальная точка и конечная. <br><br>
<code>
@keyframes box {<br>
from { left: 0; }<br>
to { left: 300px; }<br>
}
</code>
<code>
@keyframes box {<br>
50% { left: 0; }<br>
90% { left: 300px; }<br>
}
</code>
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Свойство Position</h2>
<p class="criteria-body__item-text">static - позиция по умолчанию <br> relative - элемент уже
спозиционирован <br> absolute - элемент пропадает из общего потока<br> fixed - элемент пропадает
из общего потока и закрепляется на экране, прокручивается вместе с ним <br> sticky</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">box-sizing: border-box</h2>
<p class="criteria-body__item-text">Говорит браузеру учитывать любые границы и внутренние отступы в
значениях, которые вы указываете в ширине и высоте элемента. Если вы выставите элементу ширину
100 пикселей, то эти 100 пикселей будут включать в себя границы и внутренние отступы, а контент
сожмётся, чтобы выделить для них место.</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Каскадность CSS. Приоритеты стилей</h2>
<p class="criteria-body__item-text">
Каскадность CSS – это механизм, благодаря которому к элементу HTML-документа может применяться
более чем одно правило CSS. Правила могут исходить из различных источников: из внешней и
внутренней таблицы стилей, от механизма наследования, от родительских элементов, от классов и
ID, от селектора тега, от атрибута style и т. д. Поскольку в этих случаях часто происходит
конфликт стилей, была создана система приоритетов: в конечном итоге применяется тот стиль,
который исходит от источника с более высоким приоритетом. <br><br>
Вес селекторов: <br>
Селектор тега: 1<br> Селектор класса: 10<br> Селектор ID: 100<br> Inline-стиль: 1000
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">БЭМ</h2>
<p class="criteria-body__item-text">БЭМ (Блок, Элемент, Модификатор) — компонентный подход к
веб-разработке. В его основе лежит принцип разделения интерфейса на независимые блоки.</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title"> Из чего строится размер элемента?</h2>
<p class="criteria-body__item-text">Размер элемента строится из высоты и ширины содержимого, рамки,
и внешних и внутренних отступов.</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Псевдоэлементы</h2>
<p class="criteria-body__item-text">Псевдоэлемент в CSS — это ключевое слово, добавляемое к
селектору, которое позволяет стилизовать определённую часть выбранного элемента. Например,
псевдоэлемент ::first-line может быть использован для изменения шрифта первой строки абзаца.<br>
::after<br> ::before<br> ::placeholder<br> ::first-letter
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Псевдоклассы</h2>
<p class="criteria-body__item-text">Псевдокласс в CSS — это ключевое слово, добавленное к селектору,
которое определяет его особое состояние. Например, :hover может быть использован для изменения
цвета кнопки при наведении курсора на неё.
:active<br> :focus<br> :hover<br> :nth-child()<br> :disabled :target
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Псевдоэлементы</h2>
<p class="criteria-body__item-text">Псевдоэлемент в CSS — это ключевое слово, добавляемое к
селектору, которое позволяет стилизовать определённую часть выбранного элемента. Например,
псевдоэлемент ::first-line может быть использован для изменения шрифта первой строки абзаца.<br>
::after<br> ::before<br> ::placeholder<br> ::first-letter
</p>
</div>
</div>
</div>
<!-- JavaScript -->
<div class="criteria-body__block _tabs-block">
<div class="criteria-body__items">
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Отличие JS от ECMAScript</h2>
<p class="criteria-body__item-text">
ECMAScrip — это спецификация, стандарт скриптового языка программирования. JavaScript
это одна из реализаций ES.
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Типы данных в JS</h2>
<p class="criteria-body__item-text">
typeof строка 'str' - 'string' <br>
typeof число '0' - 'number' <br>
typeof булево 'true' - 'boolean' <br>
typeof бигинт '1n' - 'bigint' <br>
typeof символ 'Symbol()' - 'symbol' <br>
typeof объект '{} []' - 'object' <br>
typeof null - 'object' <br>
object undefined - 'undefined'
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Разница между == и ===</h2>
<p class="criteria-body__item-text">
<code>
1 == '1' // true сравнивает значения<br>
1 === '1' // false сравнивает еще и их типы
</code>
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Что такое strict mode</h2>
<p class="criteria-body__item-text">Строгий режим принёс ряд изменений в обычную семантику
JavaScript. Во-первых, строгий режим заменяет исключениями некоторые ошибки, которые
интерпретатор JavaScript ранее молча пропускал. Во-вторых, строгий режим исправляет ошибки,
которые мешали движкам JavaScript выполнять оптимизацию -- в некоторых случаях код в строгом
режиме может быть оптимизирован для более быстрого выполнения, чем код в обычном режиме.
В-третьих, строгий режим запрещает использовать некоторые элементы синтаксиса, которые,
вероятно, в следующих версиях ECMAScript получат особый смысл.</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">function declaration и function expression</h2>
<p class="criteria-body__item-text">
Function Declaration – функция, объявленная в основном потоке кода. Создается интерпретатором до
выполнения кода. Т.е. функцию можно вызвать до ее объявления. Происходит это благодаря хойстингу
(всплытию)
<code>
function sum (a, b) {<br>
return a + b;<br>
}
</code>
function expression (функциональное выражение) - объявление функции в контексте какого-либо
присваивания
<code>
const myFunction = function() {<br>
statements<br>
};
</code>
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Что такое hoisting (поднятие)</h2>
<p class="criteria-body__item-text">
Hoisting или поднятие переменных - это механизм подъема функций или переменных в глобальную или
функциональную область видимости.
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Что такое замыкание (Closure)</h2>
<p class="criteria-body__item-text">
При создании функции и использовании внутри нее переменных, эти переменные доступны только
локально
внутри функции (блочная область видимости) снаружи мы не можем получить в них доступ. На
хранение ее выделяется память и когда функция заканчивает свое выполнение эта память очищается.
Но если внутри одной функции создать вторую, то эта функция получит доступ к переменным которые
были объявлены во внешней функции. Это и называется замыканием. Т.е. вложенная функция замыкает
на себе аргументы и переменные внешней функции.
<code>
function init() {<br />
var name = «Mozilla»; // name — локальная переменная, созданная в init<br />
function displayName() { // displayName() — внутренняя функция, замыкание<br />
alert (name); // displayName() использует переменную, объявленную в родительской функции<br />
}<br />
displayName();<br />
}<br />
init();
</code>
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Что обозначает this в JS</h2>
<p class="criteria-body__item-text">
this — это ссылка на некий объект, к свойствам которого можно достучаться внутри вызова функции.
Этот this — и есть контекст выполнения значение которого отсутствует и определяется только в
момент вызова функции. Контекст позволяет описать функцию-метод множества однотипных объектов
один раз, в одном месте, а затем этот метод переиспользовать, что упрощает дальнейшую поддержку
кода. Итак, когда мы пользуемся ключевым словом this, мы, на самом деле, обращаемся с его
помощью к некоему объекту. Если вы попытаетесь обратиться к ключевому слову this в глобальной
области видимости, оно будет привязано к глобальному контексту, то есть — к объекту window в
браузере.
При использовании функций, которые имеются в глобальном контексте (это отличает их от методов
объектов) ключевое слово this в них будет указывать на объект window.
</p>
</div>
</div>
</div>
<!-- Общее -->
<div class="criteria-body__block _tabs-block">
<div class="criteria-body__items">
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Как обрабатывает страницу браузер?</h2>
<ul class="criteria-body__item-text">
<li>Формируется DOM дерево</li>
<li>Загружаются стили</li>
<li>На основании DOM и CSS формируется дерево рендеринга</li>
<li>Для каждого элемента рассчитывается положение на странице</li>
<li>Отрисовка в браузере</li>
</ul>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Для чего используются атрибуты DATA</h2>
<p class="criteria-body__item-text">Они предназначены для хранения каких либо значений
<code>
<div> data-descriptions </div>
</code>
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Что такое API</h2>
<p class="criteria-body__item-text">API (Application Programming Interface — программный интерфейс
приложения, или интерфейс программирования приложений) — это специальный протокол для
взаимодействия компьютерных программ, который позволяет использовать функции одного приложения
внутри другого.
</p>
</div>
<div class="criteria-body__item">
<h2 class="criteria-body__item-title">Что такое DNS</h2>
<p class="criteria-body__item-text">DNS (Domain Name System). DNS — это технология, которая
позволяет браузеру найти запрошенный пользователем сайт по его имени. Основное предназначение
DNS-серверов — хранение информации о доменах и ее предоставление по запросу пользователей, а
также кэширование DNS-записей других серверов.
</p>
</div>
</div>
</div>
</div>
</section>