Sobes.tech

Node.js

Taklif olsangiz, qachon ishlay boshlaysiz?

Senior
224

Funktsional dasturlashning afzalliklari va kamchiliklari nima?

Senior
221

INNER JOIN va LEFT JOIN o'rtasidagi farq nima? Agar o'ng jadvalda mos keladigan satr bo'lmasa, chap jadvaldagi satrga nima bo'ladi?

Senior
183

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.

Senior
168

Nega hozirda kompaniyani o'zgartirmoqchisiz?

Senior
159

Jamoa idempotent bo‘lsa, bu nima anglatadi?

Senior
152

JavaScript/TypeScript'da || va ?? operatorlari orasidagi farq nima? Agar retryLimit 0 ga o'rnatilsa, nima bo'ladi?

Senior
141

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) }

Senior
110

Hech qachon birlik testlarini yozganmisiz? Qancha darajada?

Senior
98

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]

Senior
74