Wat zijn de voordelen en nadelen van functioneel programmeren?
Node.js
Wanneer kunt u beginnen met werken als u een aanbieding ontvangt?
Wat is het verschil tussen INNER JOIN en LEFT JOIN? Wat gebeurt er met de rij uit de linker tabel als er geen overeenkomstige rij in de rechter tabel is?
Wat betekent het dat een team idempotent is?
Implementeer een of beide functies in de toepassing: een gebruiker kan sites vastpinnen en losmaken met een pictogram in de lijst; vastgepinde sites moeten bovenaan de lijst worden weergegeven. De tweede functie is optioneel naar jouw inzicht.
Waarom wil je nu van bedrijf veranderen?
Wat is het verschil tussen de || operator en de ?? operator in JavaScript/TypeScript? Wat gebeurt er als retryLimit op 0 wordt gezet?
Verwijder een opmerking 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() }) Pagineren van een lijst function paginate<T>(items: T[], page: number, pageSize: number): T[] { const start = page * pageSize const end = start + pageSize return items.slice(start, end) }
Heb je ooit unittests geschreven? In hoeverre?
Vind de fout · TypeScript Sluwe fouten Elk van deze acht snippets compileert, passeert een informele review en ziet er goed uit. Elk verbergt een fout. Voor elk: vertel ons wat breekt, onder welke omstandigheden — en hoe je het zou vangen. Denk hardop. We zijn geïnteresseerd in hoe je code leest, niet in een stopwatch. Het is prima niet alles te raden. 01 Plaatsen van een bestelling 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, `Order ${id} bevestigd`) return id } } 02 Bijwerken van een profiel app.post('/profile', async (req, res) => { const profile = parseProfile(req.body) try { await db.profiles.update(req.user.id, profile) } catch (err) { logger.warn('profiel bijwerken mislukt', err) } res.status(200).json({ status: 'opgeslagen' }) }) 03 Verwijderen van een commentaar 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 Pagina van een lijst function paginate<T>(items: T[], page: number, pageSize: number): T[] { const start = page * pageSize const end = start + pageSize return items.slice(start, end) } // aanroeper const results = paginate(rows, page, 20) // pagina begint bij 1 in de UI 05 Artikelen laden met auteurs 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 Configuratie standaardwaarden oplossen interface Settings { retryLimit?: number displayName?: string } function resolveConfig(s: Settings) { return { retryLimit: s.retryLimit || 3, displayName: s.displayName || 'Anoniem', } } 07 Discount helper testen function applyDiscount(price: number, percent: number): number { return price - price * (percent / 100) } describe('applyDiscount', () => { it('past een korting toe', () => { const spy = vi.fn().mockReturnValue(90) const result = spy(100, 10) expect(result).toBeDefined() expect(result).toBe(90) }) }) 08 Top scores berekenen 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) // ... later, ergens anders: renderRawResults(results) // verwacht [4, 1, 9, 2]