Расширенный веб -викторина
Это репо связано с моим курсом Frontendmasters.
Вы найдете вопросы и дополнительные ресурсы, чтобы лучше понять концепции.
Эта расширенная викторина Web Dev охватывает широкий спектр вещей, с которыми веб -разработчики получают дело ежедневно. Цель состоит в том, чтобы (повторно) познакомить вас с определенными концепциями, которые вы, возможно, забыли за эти годы, или просто не подвергаются этим часто?
Получайте удовольствие, и, надеюсь, сегодня вы узнаете что -то новое! Удачи! ?
️ Этот репо не содержит ответов (!) , Только вопросы и полезные ресурсы по теме вопроса! Чтобы увидеть ответы и посмотреть визуализированные объяснения для каждого вопроса, пожалуйста, посмотрите курс Frontendmasters! |
|---|
Обзор
- Вопрос 1:
async и defer приказ о выполнении - Вопрос 2: рендеринг трубопровода и композиция
- Вопрос 3: разрешение запросов доменов
- Вопрос 4: петля стека вызовов и события
- Вопрос 5: Подсказки ресурсов
- Quesiton 6: Справочник и деструкция объекта
- Вопрос 7:
PerformanceNavigationTiming - Вопрос 8: Директивы кеша
- Вопрос 9: Сбор мусора
- Вопрос 10: Стоимость анимации
- Вопрос 11: Распространение событий
- Вопрос 12: Специфика CSS
- Вопрос 13:
WeakMap - Вопрос 14: Веб -жизненные силы
- Вопрос 15: Политика безопасности контента
- Вопрос 16: Политика рефералов
- Вопрос 17: Генераторы
- Вопрос 18: Методы обещания
- Вопрос 19: Кэш обратного пути
- Вопрос 20: XSS, MITM, CSRF, ClickJacking
- Вопрос 21: Стратегии шрифта
- Вопрос 22: Куки
- Вопрос 23: CSS Pseudo Selectors
- Вопрос 24:
Strict-Transport-Security - Вопрос 25: рендеринг слои
- Вопрос 26: Форматы изображений
- Вопрос 27: Cors
- Вопрос 28: Цикл мероприятия
- Вопрос 29: http/1, http/2, http/3
- Вопрос 30:
this ключевое слово
Все вопросы
1. Поместите сценарии в правильный порядок исполнения
- A.
<script defer src="defer1.js" /> (загружается через 300 мс ) - B.
<script defer src="defer2.js" /> (загрузки на 200 мс ) - C.
<script async src="async1.js" /> (загружается за 300 мс ) - D.
<script async src="async2.js" /> (загружается через 50 мс ) - E.
<script async defer src="asyncdefer1.js" /> (загрузки через 60 мс )
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://html.spec.whatwg.org/multipage/scripting.html#attr-script-async
- https://javascript.info/script-async-defer
- https://developer.mozilla.org/en-us/docs/web/html/element/script
2. Какие утверждения верны?
- A. рендеринг содержит все элементы из DOM и CSSOM вместе
- B. Композиция-это процесс разделения слоев на основе z-индекса, которые затем объединяются, чтобы сформировать конечное изображение, отображаемое на экране
- C. Процесс макета назначает цвета и изображения визуальным элементам в дереве рендеринга
- D. Процесс компостирования происходит в потоке композитора
- E. Элементы, которые не видны на странице, например,
display: hidden , не являются частью дерева DOM
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://www.chromium.org/developers/design-documents/graphics-and-skia/
- https://www.chromium.org/developers/design-documents/gpu-accelerated-compositing-in-chrome/
- https://chromium.googlesource.com/chromium/src/+/master/docs/how_cc_works.md
- https://docs.google.com/presentation/d/1bopxbgnrtu0ddsc144rcxayga_wf53k96imrh8mp34y
- https://developer.chrome.com/blog/inside-browser-part4/
- https://www.chromium.org/blink/
3. Заполните пробелы
- Browser sends request to [A]
- [A] queries [B]
- [B] responds with [C] IP address
- [A] queries [C]
- [C] responds with [D] IP address
- [A] queries [D]
- [D] responds with website's [E]
- Рекурсивный DNS Resolver
- Сервер имен корня
- IP -адрес
- Сервер доменных имен на верхнем уровне
- Авторитативный сервер имен
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://datatracker.ietf.org/doc/html/rfc1035
- https://www.liquidweb.com/kb/how-to-demystify-the-dns-process/
- https://www.cloudflare.com/learning/dns/what-is-dns/
- https://www.cloudflare.com/learning/dns/what-is-recurive-dns/
4. Что регистрируется?
setTimeout ( ( ) => console . log ( 1 ) ) ;
Promise . resolve ( ) . then ( ( ) => console . log ( 2 ) ) ;
Promise . resolve ( ) . then ( ( ) => setTimeout ( ( ) => console . log ( 3 ) ) ;
new Promise ( ( ) => console . log ( 4 ) ) ;
setTimeout ( ( ) => console . log ( 5 ) ) ;
- A.
1 2 3 4 5 - B.
1 5 2 4 3 - C.
3 2 4 1 5 - D.
4 2 1 5 3 - E.
2 4 3 1 5
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://tc39.es/ecma262/#sec-promise-objects
- https://dev.to/lydiahallie/javascript-visualized-promises-async-await-5gke
- https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/promise
- https://web.dev/promises/
- https://javascript.info/promise-basics
- https://javascript.info/microtask-queue
5. Сопоставьте намеки на ресурс с их определениями
- A.
dns-prefetch - B.
preconnect - C.
prefetch - D.
preload
- приоритет получению критических ресурсов, необходимых для текущей навигации
- выполняет разрешение доменных имен в фоновом режиме
- Запретино выполняет разрешение DNS и рукопожатие TCP/TLS
- Запрашивает некритические ресурсы на заднем плане
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://html.spec.whatwg.org/#linktypes
- https://www.chromium.org/developers/design-documents/dns-prefetching/
- https://www.smashingmagazine.com/2019/04/optimization-performance-resource-hints/
- https://web.dev/preconnect-and-dns-prefetch/
- https://csswizardry.com/2019/01/bandwidth-or-latency-wne-to-ptimise-which/
- https://www.splunk.com/en_us/blog/learn/preconnect-resource-hints.html
6. Какой выход?
const member = {
name : "Jane" ,
address : { street : "101 Main St" }
} ;
const member2 = { ... member } ;
member . address . street = "102 Main St" ;
member . name = "Sarah" ;
console . log ( member2 ) ;- A.
{ name: "Jane", address: { street: "101 Main St" }} - B.
{ name: "Jane", address: { street: "102 Main St" }} - C.
{ name: "Sarah", address: { street: "101 Main St" }} - D.
{ name: "Sarah", address: { street: "102 Main St" }}
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://developer.mozilla.org/en-us/docs/glossary/shallow_copy
- https://developer.mozilla.org/en-us/docs/web/javascript/reference/operators/spread_syntax
7. Поместите PerformanceNavigationTimings в правильном порядке
- A.
loadEventStart - B.
domComplete - C.
domContentLoadedEventStart - D.
fetchStart - E.
connectEnd - Ф.
domInteractive
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://www.w3.org/tr/navigation-timing-2/
- https://developer.mozilla.org/en-us/docs/web/performance/navigation_and_resource_timings
- https://web.dev/navigation-and-resource-timing/
8. Сопоставьте директивы кэширования с их определениями
- А.
no-cache - Б.
must-revalidate - C.
no-store - D.
private - Э.
stale-while-revalidate
- проверяет устаревший ответ с исходным сервером перед его использованием
- служит несвежим контенту при проверке кэшированного ответа с помощью исходного сервера
- не кэширует какую -либо часть запроса или ответа
- проверяет кэшированный ответ с исходным сервером перед его использованием, даже если он все еще свежий
- предотвращает кэширование на общих кешах
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://www.rfc-editor.org/rfc/rfc9111
- https://www.keycdn.com/blog/http-cache-ders
- https://www.cloudflare.com/learning/cdn/glossary/what-is-cache-control/
9. Какие утверждения верны в этом блоке кода?
function addMember ( name ) {
return { name , createdAt : Date . now ( ) }
}
let obj1 = addMember ( "John" ) ;
let obj2 = addMember ( "Sarah" ) ;
obj1 . friend = obj2 ;
obj2 . friend = obj1 ;
obj1 = null ;
obj2 = null ;- A.
obj1 и obj2 не могут быть собраны мусором, что приводит к утечке памяти - B.
obj1 и obj2 будут собираться сразу после установки их на null - C.
obj1 и obj2 будут собираться только после закрытия вкладки браузера - D.
obj1 и obj2 могут быть собраны мусором во время следующего цикла сбора мусора
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://developer.mozilla.org/en-us/docs/web/javascript/memory_management
- https://javascript.info/garbage-collection
- https://github.com/thlorenz/v8-perf/blob/master/gc.md
- https://medium.com/@mmmoshikoo/garbage-collector-in-v8-engine-1c582399837
10. При анимировании следующих свойств, которые имеют правильно перечисленные затраты на рендеринг?
- A.
width : макет, краска, композит - B.
opacity : краска, композитный - C.
background-image : композитный - D.
left : макет, краска, композит - E.
transform : краска, композит
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://www.chromium.org/developers/design-documents/gpu-accelerated-compositing-in-chrome/
- https://developer.chrome.com/blog/inside-browser-part3/
- https://www.smashingmagazine.com/2016/12/gpu-animation-doing-it-right/
- https://web.dev/avoid-large-complex-layouts-and-layout-trashing/
- https://developer.chrome.com/blog/hardware-ccelerated-animations/
11. Что регистрируется при нажатии кнопки?
< div class = "outer" >
< div class = "inner" >
< button > Click me! </ button >
</ div >
</ div >
outer . addEventListener ( "click" , ( ) => log ( "A" ) , true ) ;
outer . addEventListener ( "click" , ( ) => log ( "B" ) ) ;
inner . addEventListener ( "click" , ( ) => log ( "C" ) , true ) ;
inner . addEventListener ( "click" , ( e ) => {
log ( "D" ) ;
e . stopPropagation ( ) ;
log ( "E" ) ;
} ) ;
button . addEventListener ( "click" , ( ) => log ( "F" ) ) ;
button . addEventListener ( "click" , ( ) => log ( "G" ) , true ) ;- A.
A B C D E F G - B.
A C G F D - C.
B D E F G C A - D.
A C G F - E.
A C G F D E
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://www.w3.org/tr/dom-level-2-events/events.html#events-flow
- https://javascript.info/bubbling-and-capting
- https://developer.mozilla.org/en-us/docs/web/api/eventtarget/addeventlistener
12. Закажите селекторы CSS, восходящая специфичность
- A.
div h1.large-text::before - B.
div h1:first-child - C.
h1:not(.small-text) - D
.large-text:nth-child(1) - E.
h1.large-text[id="title"] - F.
h1.large-text#title
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://www.w3.org/tr/2018/rec-selectors-3-20181106/#specificity
- https://developer.mozilla.org/en-us/docs/web/css/specificity
- https://specificity.keegan.st/
13. Какие утверждения правда?
const userTokenMap = new WeakMap ( ) ;
let user = {
name : "Jane Doe" ,
age : 24
} ;
userTokenMap . set ( user , "secret_token" ) ;- A.
userTokenMap реализует протокол итератора - B. При установке
user на null userTokenMap возвращает 0 - C. Если пользовательский объект установлен на
null , его запись userTokenMap может быть собрана мусором. - D.
[...userTokenMap] возвращает множество записей userTokenMap
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://read262.netlify.app/keyed-collections/weakmap-objects/
- https://javascript.info/weakmap-weakset
- https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/weakmap
14. Сопоставьте веб -жизненные силы с правильными описаниями
- A. Ttfb
- Б. Фид
- C. Tti
- D. Tbt
- E. cls
- F. Inp
- Время, необходимое для веб -страницы, чтобы ответить на первое взаимодействие пользователя.
- Время, когда основной поток заблокирован от ответа на пользовательский ввод.
- Среднее время, необходимое для веб -страницы, чтобы обновить его визуальные эффекты после того, как пользователь взаимодействует с ней.
- время, необходимое серверу, чтобы ответить на запрос и начать отправку данных обратно клиенту
- Время, которое требуется для полной загрузки веб -страницы и отзывчивого пользовательского ввода.
- Стабильность макета веб -страницы или неожиданные сдвиги макета, которые происходят на веб -странице при загрузке.
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
15. Какие ресурсы будут разрешены со следующим заголовком CSP?
default - src "none" ; script - src "self" ; img - src "self" example . com ; style - src fonts . googleapis . com ; font - src fonts . gstatic . com ;
- A.
<script src="/js/app.js"></script> - B.
fetch("https://api.website.com/data") - C.
@font-face { url("fonts/my-font.woff") } - D.
<img src="data:image/svg+xml;..." /> - E.
<style>body { font-family: 'Roboto' }</style> - F.
<iframe src="https://embed.example.com"></iframe> - G.
<link rel="stylesheet" href="https://fonts.googleapis.com..> - H.
<video src="https://videos.example.com/..."></video>
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://content-security-policy.com/
- https://developer.mozilla.org/en-us/docs/web/http/csp
- https://web.dev/csp/
16. Какие утверждения верны?
- A.
rel="noopener" используется для предотвращения доступа к исходной странице к объекту window недавно открытой страницы - B.
rel="noreferrer" можно использовать, чтобы предотвратить доступ к вновь открытой странице к объекту window исходной страницы - C.
rel="noopener" и rel="noreferrer" можно использовать только с HTTPS - D.
rel="noopener" может быть использован для предотвращения завязки - E. По умолчанию
Referrer-Policy no-referrer-when-downgrade
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://www.w3.org/tr/referrer-policy/
- https://html.spec.whatwg.org/multipage/links.html#link-type-noopener
- https://html.spec.whatwg.org/multipage/links.html#link-type-noreferrer
- https://web.dev/referrer-best-practices/
17. Когда делает "In log: My input!" зарегистрировать?
function * generatorFunc ( ) {
const result = yield "My input!" ;
console . log ( "In log:" , result ) ;
return "All done!"
} ;
const it = generatorFunc ( ) ;- A.
it.next() - B.
it.next("My input!") it.next() - C.
it.next() it.next("My input!") - D.
it.next() it.next()
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://developer.mozilla.org/en-us/docs/web/javascript/guide/iterators_and_generators
- https://javascript.info/generators
- https://exploringjs.com/es6/ch_iteration.html
- https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/generator
- https://blog.logrocket.com/javascript-iterators-and-generators-a-complete-guide/
18. Подключите методы обещания с правильным выводом
const promises = [
new Promise ( res => setTimeout ( ( ) => res ( 1 ) , 200 ) ,
new Promise ( res => setTimeout ( ( ) => res ( 2 ) , 100 ) ,
new Promise ( ( _ , rej ) => setTimeout ( ( ) => rej ( 3 ) , 100 ) ,
new Promise ( res => setTimeout ( ( ) => res ( 4 ) , 300 )
] ;
Promise [ ❓ ]
. then ( res => console . log ( "Result: " , res ) )
. catch ( err => console . log ( "Error: " , err )
- А.
all - Б.
any - C.
race - D.
allSettled
-
Result: 2 -
Error: 3 -
Result: [{}, {}, {}, {}] -
Result: 2
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://javascript.info/promise-basics
- https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/promise
19. Какое из следующих значений всегда сделает вашу страницу неприемлемой для BFCache?
- А.
unload - B.
pagehide - C.
onbeforeunload - D.
pageshow - E. Все вышеперечисленное
- F. Ничего из вышеперечисленного
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://web.dev/bfcache/
- https://www.smashingmagazine.com/2022/05/performance-game-change-back-forward-cache/
- https://nitropack.io/blog/post/back-forward-cache
20. Подключите термины с их определениями
- А. XSS
- Б. CSRF
- C. Redressing UI
- D. Mitm
- Позволяет злоумышленникам вводить вредоносные сценарии в веб -страницы, просмотренные другими
- хитрости пользователей взаимодействуют с замаскированными или скрытыми элементами
- Уловки пользователей в выполнении нежелательных действий, используя их аутентифицированный сеанс
- Позволяет злоумышленникам перехватывать и изменять связь между двумя сторонами без их ведома
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://owasp.org/www-community/attacks/xss/
- https://owasp.org/www-community/attacks/csrf
- https://owasp.org/www-community/attacks/clickjacking
- https://www.imperva.com/learn/application-security/man-in-the-middle-attack-mitm/
- https://cheatsheetseries.owasp.org/cheatsheets/cross-site_request_forgery_prevention_cheat_sheet.html
- https://cheatsheetseries.owasp.org/cheatsheets/cross_site_scripting_prevention_cheat_sheet.html
21. Подключите стратегии шрифта с их определением
- A.
font-display: block - B.
font-display: swap - C.
font-display: fallback - D.
font-display: optional - E.
font-display: auto
- временно отображать невидимый шрифт до тех пор, пока не будет загружен пользовательский шрифт
- Используйте шрифт запасного шрифта, когда загружается пользовательский шрифт, переключитесь на пользовательский шрифт, когда доступно
- Используйте пользовательский шрифт только в том случае, если он доступен, в противном случае используйте шрифт.
- Позволяет браузеру определять наиболее подходящее поведение для загрузки шрифтов
- Используйте пользовательский шрифт, если он доступен, используйте запасной шрифт, если пользовательский шрифт недоступен
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://developer.mozilla.org/en-us/docs/web/css/@font-face/font-display
- https://css-tricks.com/almanac/properties/f/font-display/
22. Какие утверждения верны в следующем заголовке cookie?
Set - Cookie : my - cookie = "value" ; Domain = "website.com" ; Secure ; HttpOnly ;
- A. Этот cookie доступен на
www.website.com , но не с blog.website.com - B. Этот файл cookie можно установить только на стороне клиента на домене
website.com - C. Это печенье обращается как как сеанс cookie
- D. Этот cookie будет отправлен при навигации с другого веб -сайта на
www.website.com
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://httpwg.org/http-extensions/draft-ietf-httpbis-rfc6265bis.html#name-overview
- https://resources.infosecinstitute.com/topic/securing-cookies-httponly-secure-flags/
- https://developer.mozilla.org/en-us/docs/web/http/cookies
- https://developer.mozilla.org/en-us/docs/web/http/headers/set-cookie
23. Какой из селекторов CSS (Pseudo) мы можем использовать только для того, чтобы нацелиться на первое список списка <li>One</li> ?
< div >
< ul >
< li > One </ li >
< ul >
< li > Two </ li >
< li > Three </ li >
</ ul >
</ ul >
< ul >
< li > Four </ li >
</ ul >
</ div >- A.
ul:first-child > li - B.
ul:first-child + li - C.
ul:first-child > li:first-child - D.
ul:first-of-type > li:first-of-type - E.
ul:first-child + li:first-child
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://developer.mozilla.org/en-us/docs/web/css/css_selectors
- https://developer.mozilla.org/en-us/docs/web/css/pseudo-classes
- https://www.w3.org/tr/selectors-4/#pseudo classes
24. Что верно в следующем заголовке?
Strict - Transport - Security : max - age = 31536000 ; includeSubdomains ;
- A. Заголовок обеспечивает соблюдение HTTPS в течение одного года на домене и его субдоменах
- B. Когда
max-age истекает, браузеры по умолчанию по умолчанию в HTTP - C.
max-age обновляется каждый раз, когда браузер читает заголовок - D. небезопасные запросы на субдомены разрешены
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://cheatsheetseries.owasp.org/cheatsheets/http_strict_transport_security_cheat_sheet.html
- https://developer.mozilla.org/en-us/docs/web/http/headers/strict-transport-security
25. Какое из следующих свойств приводит к продвижению элемента до его собственного renderlayer?
- A.
z-index: 1 - B.
translate3d: (0, 0, 0) - C.
will-change: transform - D.
transform: rotate(45deg) - E.
position: fixed - Ф.
position: absolute
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://www.chromium.org/developers/design-documents/gpu-accelerated-compositing-in-chrome/
- https://surma.dev/things/forcing-layers/
- https://web.dev/speed-layers/
- https://www.chromium.org/developers/design-documents/graphics-and-skia/
26. Сопоставьте форматы изображения с описаниями
- А. JPEG
- Б. Пнг
- C. Webp
- Д. Авиф
- Как потеря, так и сжатие без потерь, поддерживает HDR и WCG, поддерживает прозрачность
- Как потеря, так и сжатие без потерь, поддерживает прозрачность, поддерживает прогрессивный рендеринг
- Сжатие без потерь, высокое качество, поддерживает прозрачность, больший размер файла
- Сжатие с потерями, поддерживает прогрессивный рендеринг
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://developer.mozilla.org/en-us/docs/web/media/formats/image_types
- https://www.smashingmagazine.com/2021/09/modern-image-formats-awif-webp/
27. Что верно в следующей конфигурации CORS?
Access - Control - Allow - Origin : https : / / www . website . com
Access - Control - Allow - Headers : Content - Type
Access - Control - Allow - Methods : *
Access - Control - Expose - Headers : X - Custom - Header
Access - Control - Max - Age : 600
- A. Требуется запрос на предварительный полете
- B. разрешены только запросы от
https://www.website.com - C. Запросы с файлами cookie разрешены
- D. Фактический ответ кэшируется в течение 600 мс.
- E.
X-Custom-Header будет единственным включенным заголовком ответа - F.
GET , POST , PATCH и PUT методы разрешены, но не DELETE
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://www.w3.org/tr/2020/spsd-cors-20200602/
- https://fetch.spec.whatwg.org/#http-cors-protocol
- https://developer.mozilla.org/en-us/docs/web/http/cors
28. Что регистрируется?
setTimeout ( ( ) => console . log ( 1 ) ) ;
( async ( ) => {
console . log ( 2 ) ;
await Promise . resolve ( ) ;
console . log ( 3 ) ;
} ) ( )
Promise . resolve ( ) . then ( ( ) => Promise . resolve ( ) . then ( ( ) => console . log ( 4 ) ) )- A.
1 2 3 4 - B.
2 4 3 1 - C.
2 3 4 1 - D.
2 3 1 4
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://tc39.es/ecma262/#sec-promise-objects
- https://dev.to/lydiahallie/javascript-visualized-promises-async-await-5gke
- https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/promise
- https://web.dev/promises/
- https://javascript.info/promise-basics
- https://javascript.info/microtask-queue
29. Какие утверждения верны?
- A. http/2 позволяет одновременно несколько запросов и ответов через одно соединение TCP
- B. http/3 можно использовать только с HTTPS
- C. http/2 обратно совместим с HTTP/1.1
- D. HTTP/1.1 требует нескольких соединений TCP для одновременного обработки нескольких запросов
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://www.section.io/engineering-education/http3-vs-http2/
- https://www.cloudflare.com/learning/performance/http2-vs-http1.1/
- https://www.cloudflare.com/learning/performance/what-is-http3/
30. Что регистрируется?
const objA = {
type : "A" ,
foo ( ) {
console . log ( this . type )
}
}
const objB = {
type : "B" ,
foo : objA . foo ,
bar : ( ) => objA . foo ( ) ,
baz ( ) { objA . foo ( ) }
}
objB . foo ( ) ;
objB . bar ( ) ;
objB . baz ( ) ; - A.
A B B - B.
B A A -
A A A -
A A undefined - E.
B undefined B
Ресурсы
Отвечать:
- Смотреть ответ и объяснение
Дальнейшее чтение:
- https://tc39.es/ecma262/#sec-function-environment-records-gethisbinding
- https://developer.mozilla.org/en-us/docs/web/javascript/reference/operators/this
- https://javascript.info/object-methods