مسابقة Dev المتقدمة Web Dev
يرتبط هذا الريبو بدورة FrontEndendMasters الخاصة بي.
ستجد الأسئلة والموارد الإضافية للحصول على فهم أفضل للمفاهيم.
يغطي مسابقة Dev المتقدمة هذه مجموعة واسعة من الأشياء التي يتعامل بها Devs على الويب بشكل يومي. الهدف من ذلك هو (إعادة) تعريفك بمفاهيم معينة ربما تكون قد نسيتها على مر السنين أو ببساطة لا تتعرض لذلك في كثير من الأحيان؟
استمتع ، ونأمل أن تتعلم شيئًا جديدًا اليوم! حظ سعيد! ؟
️ لا يحتوي هذا الريبو على الإجابات (!) ، فقط الأسئلة والموارد المفيدة حول موضوع السؤال! لمشاهدة الإجابات ومشاهدة التفسيرات المرئية لكل سؤال ، يرجى مشاهدة دورة FrontEndendMasters! |
|---|
ملخص
- السؤال 1: أمر
defer async - السؤال 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 الزائفة
- السؤال 24:
Strict-Transport-Security - السؤال 25: طبقات تقديم
- السؤال 26: تنسيقات الصور
- السؤال 27: كورس
- السؤال 28: حلقة الحدث
- السؤال 29: http/1 ، http/2 ، http/3
- السؤال 30:
this الكلمة الرئيسية
كل الأسئلة
1. ضع البرامج النصية في الترتيب الصحيح للتنفيذ
- A.
<script defer src="defer1.js" /> (تحميل في 300 مللي ثانية ) - B.
<script defer src="defer2.js" /> (الأحمال في 200ms ) - 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 مجتمعة
- ب. التركيب هو عملية فصل الطبقات على أساس z-index ، والتي يتم دمجها بعد ذلك لتشكيل الصورة النهائية المعروضة على الشاشة
- C. تعين عملية التخطيط الألوان والصور للعناصر المرئية في شجرة العرض
- تحدث عملية التسميد على مؤشر ترابط الملحمة
- 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/1bopxbgnrtu0ddsc1444rcxayga_wf53k96imrh8mp34y
- https://developer.chrome.com/blog/inside-browser-bart4/
- 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 محللي
- خادم اسم الجذر
- عنوان IP
- خادم اسم مجال المستوى الأعلى
- خادم الاسم التلقائي
موارد
إجابة:
مزيد من القراءة:
- https://datatracker.ietf.org/doc/html/rfc1035
- https://www.lquidweb.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-recursive-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 -
preconnect - C.
prefetch -
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-when-to-optimise-hich/
- 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 - جيم
no-store -
private - E.
stale-while-revalidate
- يتحقق من استجابة لا معنى لها مع خادم الأصل قبل استخدامه
- يقدم محتوى قديم مع التحقق من صحة الاستجابة المخزنة مؤقتًا مع خادم Origin
- لا تخزين أي جزء من الطلب أو الرد
- يتحقق من صحة استجابة مخزنة مؤقتًا مع خادم Origin قبل استخدامه ، حتى لو كان لا يزال جديدًا
- يمنع التخزين المؤقت على ذاكرة التخزين المؤقت المشتركة
موارد
إجابة:
مزيد من القراءة:
- https://www.rfc-editor.org/rfc/rfc9111
- https://www.keycdn.com/blog/http-cache-headers
- 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 ، مما يؤدي إلى تسرب الذاكرة - سيتم جمع
obj2 null obj1 - لن يتم جمع القمامة 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/@mmoshikoo/garbage-collector-in-v8-Engine-1c582399837
10. عند تحريك الخصائص التالية ، والتي لديها تكاليف العرض المدرجة بشكل صحيح؟
- A.
width : التصميم ، الطلاء ، المركب -
opacity : الطلاء ، مركب - جيم
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-bart3/
- https://www.smashingmagazine.com/2016/12/gpu-animation-doing-it-right/
- https://web.dev/avoid-large-complex-layouts-and-layout-thrashing/
- https://developer.chrome.com/blog/hardware-accelerated-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 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-capturing
- 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) - د
.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 ينفذ بروتوكول التكرار - عند ضبط
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
- واو
- الوقت الذي يستغرقه صفحة ويب للاستجابة للتفاعل الأول للمستخدم.
- الوقت الذي يتم فيه حظر الخيط الرئيسي من الاستجابة لإدخال المستخدم.
- متوسط الوقت الذي يستغرقه صفحة ويب لتحديث صوره بعد تفاعل المستخدم معها.
- الوقت الذي يستغرقه الخادم للرد على طلب وبدء إرسال البيانات إلى العميل
- الوقت الذي يستغرقه تحميل صفحة ويب بالكامل واستجابة لإدخال المستخدم.
- استقرار تصميم صفحة الويب ، أو التحولات غير المتوقعة التي تحدث على صفحة ويب أثناء تحميلها.
موارد
إجابة:
مزيد من القراءة:
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> - ب
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" لمنع tabnabbing - 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() -
it.next() it.next("My input!") - 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.logbrocket.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 -
pagehide - C.
onbeforeunload - D.
pageshow - E. كل ما سبق
- F. لا شيء مما سبق
موارد
إجابة:
مزيد من القراءة:
- https://web.dev/bfcache/
- https://www.smashingmagazine.com/2022/05/performance-game-changer-back-forward-cache/
- https://nitropack.io/blog/post/back-forward-cache
20. قم بتوصيل المصطلحات بتعريفاتها
- A. XSS
- B. CSRF
- C. 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-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. ما هي العبارات التي تنطبق على رأس ملف تعريف الارتباط التالي؟
Set - Cookie : my - cookie = "value" ; Domain = "website.com" ; Secure ; HttpOnly ;
- A. يمكن الوصول إلى ملف تعريف الارتباط هذا من
www.website.com ، ولكن ليس من blog.website.com - ب. لا يمكن تعيين ملف تعريف الارتباط هذا إلا من جانب العميل على موقع
website.com - ج. يتم التعامل مع ملف تعريف الارتباط هذا مثل ملف تعريف الارتباط للجلسة
- سيتم إرسال ملف تعريف الارتباط هذا عند التنقل من موقع ويب آخر إلى
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 - ب
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 ;
- أ. يفرض الرأس HTTPS لمدة عام واحد على المجال ونطاله الفرعية
- عندما تنتهي
max-age ، فإن المستعرضات سوف تتخلف عن HTTP - ج. تم تحديث
max-age في كل مرة يقرأ فيها المتصفح الرأس - يُسمح بطلبات غير آمنة للنطاقات الفرعية
موارد
إجابة:
مزيد من القراءة:
- 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. تطابق تنسيقات الصور مع الأوصاف
- A. JPEG
- ب
- C. Webp
- D. Avif
- يدعم كل من الضغط المفقود وغير المفقود ، HDR و WCG ، الشفافية
- يدعم كل من الضغط المفقود وغير المفقود ، الشفافية ، ويدعم التقديم التدريجي
- الضغط بدون فقدان ، جودة عالية ، يدعم الشفافية ، حجم الملف الأكبر
- ضغط ضياع ، يدعم التقديم التدريجي
موارد
إجابة:
مزيد من القراءة:
- https://developer.mozilla.org/en-us/docs/web/media/formats/image_types
- https://www.smashingmagazine.com/2021/09/modern-image-formats-avif-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
- أ. مطلوب طلب المبدئي
- ب. فقط طلبات من
https://www.website.com مسموح بها - يسمح بطلبات ملفات تعريف الارتباط
- يتم تخزين الاستجابة الفعلية لمدة 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 . B B- ب.
B A A -
A A A - D.
A undefined A - E.
B undefined B
موارد
إجابة:
مزيد من القراءة:
- https://tc39
- https://developer.mozilla.org/en-us/docs/web/javaScript/Reference/Operators/this
- https://javaScript.info/object-methods