Frontend
/** * 'asyncAuth(callback)' ֆունկցիան ընդունում է callback, որի մեջ * կարող է փոխանցվել սխալ (առաջին արգումենտ) և տվյալներ * բեկենդից (երկրորդ արգումենտ): * asyncAuth((error, data) => {}); * * Դուք պետք է իրականացնել 'auth()' ֆունկցիան, * որը կանչում է 'asyncAuth()', բայց վերադարձնում է Promise: * * @returns {Promise} */ function auth() { return new Promise((resolve, reject) => { asyncAuth((error, data) => { if (error) { reject(error) } else { resolve(data) } }); }) } /** * 'tryAuth()' ֆունկցիան օգտագործում է 'auth()'-ն և, սխալի դեպքում, * անում N լրացուցիչ փորձեր: * Եթե բոլորն էլ ձախողվեն, վերադարձնում է վերջին սխալը: * * @returns {Promise} */ function tryAuth(n) { return new Promise((resolve, reject) => { function attempt(attemptsLeft) { auth().then(resolve).catch((error) => { if (attemptsLeft <= 0) { reject(error); } else { attempt(attemptsLeft - 1); } }); } attempt(n); }); }
Դու գիտե՞ս SameSite հատկության մասին կուկիերում: Ի՞նչ արժեքներ կան և ինչպե՞ս են տարբեր:
Ի՞նչ տեսակների Subject կան RxJS-ում։
Կպատմեք ավելի մանրամասն ձեր փորձի մասին Feature-Sliced Design (FSD)-ի հետ՝ որ շերտեր եք ներդրել, արդյոք դա հարմար էր թե ոչ, ինչ խնդիրներ առաջացան։
Ինչպես է աշխատում async/await սինտաքսը JavaScript-ում և ինչ առավելություններ ունի ավանդական խոստումային սինտաքսի նկատմամբ?
Ի՞նչն է տարբերությունը useEffect և useLayoutEffect hook-ների միջև։
Խոսիր ճարտարապետական մոտեցումների մասին՝ FSD, մոդուլային մոնոլիտ: Ի՞նչ ճարտարապետություն ընտրել փոքր MVP-ի համար։
Ինչու Vue 3-ը հրաժարվեց mixins-ներից?
Դու երբևէ ստիպված եղար աշխատել CI/CD-ի հետ, ինչ-որ բան կարգավորել?
Դա նշանակում է, որ դու նրա մոտ գնում էիր, պայմանագրերը ինչ-որ կերպ նկարագրում էիր?
Ինչքան եք աշխատել CSS-ով: Կանխատեսում եք Grid Layout-ով:
Ի՞նչ է տեղի ունենում, երբ useEffect-ը ունի երկու կախվածություններ և մեկը փոխվում է։
Ի՞նչ տեսակների մուտքեր կան:
Ինչու React-ը գրադարան է և ոչ ֆրեյմվորկ?
Ինչպե՞ս գնահատվեցին առաջադրանքները՝ պատմության կետերով կամ ժամանակով։
Կարող է պատահել, որ երկու տարբեր արժեքների համար նույն հեշը լինի (կոլիզիա): Ինչպե՞ս է դա լուծվում։
const X = { a: 1, b: 2, c: 3, d: 4 } function getProperty<T>(obj: T, key: keyof T) { // Թեստ՝ ֆունկցիան տիպավորել return obj[key] } getProperty(X, 'a') // ոչ մի սխալ getProperty(X, 'e') // սխալ՝ բանալի 'e' չի հանդիսանում X օբյեկտի բանալի getProperty({ name: 'Sergey' }, 'name') // ոչ մի սխալ getProperty(1, 1) // Սխալ. Առաջին արգումենտը պետք է լինի օբյեկտ (ոչ ֆունկցիա և ոչ primitives)
Ի՞նչ է Saga-ն և Transactional Outbox-ը: Ինչու են անհրաժեշտ տարածված գործարքները:
Իմացեք ձեր վերջին աշխատանքային տեղը — ինչ խնդիրներ էին, ձեր պատասխանատվության ոլորտը, ինչ դժվարություններ առաջացան և ինչ արդյունքներ կարող եք նշել?
Ի՞նչ է git cherry-pick-ը և ինչպես է աշխատում: