Hulp bij sollicitatiegesprekken
Voorbereiding op sollicitatiegesprek
Hervatten
Zoeken naar een baan
Hulpbronnen
Abonnement
NL
Telegram
Inloggen
Menu openen
Hulp bij sollicitatiegesprekken
AI-assistent
Browser-extensie
Hulpbronnen
Downloaden
Veelgestelde vragen / Hulp
Voorbereiding op sollicitatiegesprek
Vragenbank
Interviewbank
Mock-interviews
Mentoren
Hulpbronnen
Veelgestelde vragen / Hulp
Zoeken naar een baan
Automatisering van het zoeken naar vacatures
Marktanalyse
Vacatures uit Telegram
Hulpbronnen
Werken bij ons
Bloggen
Veelgestelde vragen / Documentatie
Telegramblog
Telegram-ondersteuning
Legaal
Terugbetaling
Voorwaarden
Privacy
Rechthebbenden
Terug naar vragen
Vragenbank
Node.js - Ontwikkelaar
Vraag
Senior
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]
Markeer als voltooid
Vorige
Volgende