Taklif olsangiz, qachon ishlay boshlaysiz?
Node.js
Funktsional dasturlashning afzalliklari va kamchiliklari nima?
INNER JOIN va LEFT JOIN o'rtasidagi farq nima? Agar o'ng jadvalda mos keladigan satr bo'lmasa, chap jadvaldagi satrga nima bo'ladi?
Ilovada bir yoki ikkita funksiyani amalga oshiring: foydalanuvchi ro'yxatda ikon bilan saytlarni pin qilish va olib tashlash mumkin; pin qilingan saytlar ro'yxatning yuqorisida ko'rsatilishi kerak. Ikkinchi funksiya sizning xohishingizga qarab ixtiyoriy.
Nega hozirda kompaniyani o'zgartirmoqchisiz?
Jamoa idempotent bo‘lsa, bu nima anglatadi?
JavaScript/TypeScript'da || va ?? operatorlari orasidagi farq nima? Agar retryLimit 0 ga o'rnatilsa, nima bo'ladi?
Izohni o'chirish app.delete('/comments/:id', requireAuth, async (req, res) => { const comment = await db.comments.findById(req.params.id) if (!comment) { return res.status(404).end() } await db.comments.delete(comment.id) res.status(204).end() }) Ro'yxatni sahifalash function paginate<T>(items: T[], page: number, pageSize: number): T[] { const start = page * pageSize const end = start + pageSize return items.slice(start, end) }
Hech qachon birlik testlarini yozganmisiz? Qancha darajada?
Xatolikni topish · TypeScript O‘ta murakkab xatolar Ushbu sakkizta kod bo‘lagi kompilyatsiya qiladi, tasodifiy ko‘rib chiqishni o‘tkazadi va yaxshi ko‘rinadi. Har biri yashirin xatoni o‘z ichiga oladi. Har biri uchun: nima buzilishini, qanday sharoitda — va qanday aniqlashni ayting. Ovoz chiqarib o‘ylang. Biz sizning kodni qanday o‘qishingiz bilan qiziqamiz, sekundometrlash bilan emas. Hammasini to‘g‘ri qilish shart emas. 01 Buyurtma berish interface Notifier { send(to: string, message: string): Promise<void> } class OrderService { constructor(private readonly notifier: Notifier) {} async placeOrder(order: Order): Promise<OrderId> { const id = await this.repo.save(order) this.notifier.send(order.customerEmail, `Buyurtma ${id} tasdiqlandi`) return id } } 02 Profilni yangilash app.post('/profile', async (req, res) => { const profile = parseProfile(req.body) try { await db.profiles.update(req.user.id, profile) } catch (err) { logger.warn('profil yangilash muvaffaqiyatsiz bo‘ldi', err) } res.status(200).json({ status: 'saqlangan' }) }) 03 Izohni o‘chirish app.delete('/comments/:id', requireAuth, async (req, res) => { const comment = await db.comments.findById(req.params.id) if (!comment) { return res.status(404).end() } await db.comments.delete(comment.id) res.status(204).end() }) 04 Ro‘yxatni sahifalash function paginate<T>(items: T[], page: number, pageSize: number): T[] { const start = page * pageSize const end = start + pageSize return items.slice(start, end) } // chaqiruvchi const results = paginate(rows, page, 20) // sahifa UI da 1 dan boshlanadi 05 Maqolalarni mualliflari bilan yuklash async function loadArticlesWithAuthors(): Promise<ArticleView[]> { const articles = await db.query('SELECT * FROM articles WHERE published = true') const views: ArticleView[] = [] for (const article of articles) { const author = await db.query('SELECT * FROM users WHERE id = $1', [article.authorId]) views.push({ ...article, author: author[0] }) } return views } 06 Sozlamalarda standart qiymatlarni hal qilish interface Settings { retryLimit?: number displayName?: string } function resolveConfig(s: Settings) { return { retryLimit: s.retryLimit || 3, displayName: s.displayName || 'Anonim', } } 07 Chegirma yordamchisini sinash function applyDiscount(price: number, percent: number): number { return price - price * (percent / 100) } describe('applyDiscount', () => { it('chegirmani qo‘llaydi', () => { const spy = vi.fn().mockReturnValue(90) const result = spy(100, 10) expect(result).toBeDefined() expect(result).toBe(90) }) }) 08 Eng yuqori ballarni hisoblash function topScores(scores: number[], take = 3): number[] { return scores.sort((a, b) => b - a).slice(0, take) } const results = [4, 1, 9, 2] const podium = topScores(results) // ... keyinchalik, boshqa joyda: renderRawResults(results) // kutilyapti [4, 1, 9, 2]