Wann können Sie mit der Arbeit beginnen, wenn Sie ein Angebot erhalten?
Node.js
Was sind die Vor- und Nachteile der funktionalen Programmierung?
Was ist der Unterschied zwischen INNER JOIN und LEFT JOIN? Was passiert mit der Zeile aus der linken Tabelle, wenn keine entsprechende Zeile in der rechten Tabelle vorhanden ist?
Implementieren Sie eine oder beide Funktionen in der Anwendung: Ein Benutzer kann Websites mit einem Icon in der Liste anheften und lösen; angeheftete Websites sollten oben in der Liste angezeigt werden. Die zweite Funktion ist optional nach Ihrem Ermessen.
Warum möchten Sie das Unternehmen gerade jetzt wechseln?
Was bedeutet es, wenn ein Team idempotent ist?
Was ist der Unterschied zwischen dem Operator || und dem ?? Operator in JavaScript/TypeScript? Was passiert, wenn retryLimit auf 0 gesetzt ist?
Einen Kommentar löschen 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() }) Liste paginieren function paginate<T>(items: T[], page: number, pageSize: number): T[] { const start = page * pageSize const end = start + pageSize return items.slice(start, end) }
Haben Sie jemals Unit-Tests geschrieben? In welchem Umfang?
Finde den Fehler · TypeScript Hinterhältige Fehler Jede dieser acht Code-Snippets kompiliert, besteht eine ungeprüfte Überprüfung und sieht in Ordnung aus. Jedes verbirgt einen Fehler. Für jedes: Sag uns, was kaputt geht, unter welchen Bedingungen — und wie du es erkennen würdest. Denk laut nach. Wir sind interessiert daran, wie du Code liest, nicht an einer Stoppuhr. Es ist nicht notwendig, alles richtig zu machen. 01 Bestellung aufgeben 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} bestätigt`) return id } } 02 Profil aktualisieren app.post('/profile', async (req, res) => { const profile = parseProfile(req.body) try { await db.profiles.update(req.user.id, profile) } catch (err) { logger.warn('Profilaktualisierung fehlgeschlagen', err) } res.status(200).json({ status: 'gespeichert' }) }) 03 Kommentar löschen 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 Liste paginieren function paginate<T>(items: T[], page: number, pageSize: number): T[] { const start = page * pageSize const end = start + pageSize return items.slice(start, end) } // aufrufer const results = paginate(rows, page, 20) // Seite beginnt bei 1 im UI 05 Artikel mit Autoren laden 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 Standardwerte auflösen interface Settings { retryLimit?: number displayName?: string } function resolveConfig(s: Settings) { return { retryLimit: s.retryLimit || 3, displayName: s.displayName || 'Anonym', } } 07 Rabatt-Helfer testen function applyDiscount(price: number, percent: number): number { return price - price * (percent / 100) } describe('applyDiscount', () => { it('wendet einen Rabatt an', () => { const spy = vi.fn().mockReturnValue(90) const result = spy(100, 10) expect(result).toBeDefined() expect(result).toBe(90) }) }) 08 Top-Scores berechnen 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) // ... später, anderswo: renderRawResults(results) // erwartet [4, 1, 9, 2]