Interviewfragen zu TypeScript (Middle) mit Antworten
75 Fragen fürs Vorstellungsgespräch zu TypeScript (Middle) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.
Diesen Test machen- 1.Was ist ein benutzerdefinierter Type Guard?
- 2.Wie garantiert man, dass ein
switchjedes Mitglied einer Union behandelt hat? - 3.Was bedeutet
<T extends { id: string }>in einem Generic? - 4.Wie typisiert man
getProp(obj, key), damit das Ergebnis vom Schlüssel abhängt? - 5.Was ist ein Mapped Type?
- 6.Was macht der bedingte Typ
T extends string ? 'text' : 'other'? - 7.Was macht
inferintype ElementType<T> = T extends (infer U)[] ? U : never? - 8.Was liefert
Awaited<Promise<Promise<number>>>? - 9.Wie unterscheidet sich
Exclude<T, U>vonOmit<T, K>? - 10.Wie funktionieren Funktionsüberladungen in TypeScript?
- 11.Was ist Declaration Merging?
- 12.Wozu dient eine abstrakte Klasse?
- 13.Wie unterscheidet sich
protectedvonprivatein TypeScript-Klassen? - 14.Was macht der Operator
satisfies? - 15.Was sind Template Literal Types?
- 16.Warum nutzt man oft ein Objekt mit
as conststatt einesenum? - 17.Wie unterscheidet sich
const enumvon einem normalenenum? - 18.Wie unterscheiden sich Namespaces (
namespace) von ES-Modulen? - 19.Was ist eine Assertion-Funktion?
- 20.Wie bekommt man die Props eines nativen Buttons, um sie in der eigenen Komponente zu erweitern?
- 21.Wie typisiert man die Hooks von Redux Toolkit in einer TypeScript-App?
- 22.Wie typisiert man eine generische Listenkomponente?
- 23.Was ergibt
Extract<'a' | 'b' | 1 | 2, string>? - 24.Was liefert
NonNullable<string | null | undefined>? - 25.Wie unterscheiden sich
object,{}undRecord<string, unknown>als Typen? - 26.Wie behandelt TypeScript den Operator
inbeim Eingrenzen? - 27.Was machen
-readonlyund-?in einem Mapped Type? - 28.Wie benennt man Schlüssel in einem Mapped Type um?
- 29.Warum liefert
Object.keys(user)string[]statt(keyof User)[]? - 30.Was bringt das Flag
noUncheckedIndexedAccess? - 31.Wie unterscheidet sich
unknown[]vonany[]in einem Funktionsparameter? - 32.Was sind Decorators in TypeScript 5?
- 33.Was macht
import type { User } from './types'? - 34.Warum ist
interfacezum Erweitern großer Objekttypen besser als eine Intersection? - 35.Was liefert
Parameters<(a: string, b?: number) => void>? - 36.Wie gibt man den Typ von
thisfür eine Handler-Funktion an? - 37.Wie typisiert man am besten eine API-Antwort, deren Struktur vom Status abhängt?
- 38.Was macht das Utility
ReadonlyArray<T>(oderreadonly T[])? - 39.Was ist
unique symbol? - 40.Wie erweitert man aus einem Modul heraus den Typ des globalen Objekts
Window? - 41.Wie typisiert man das Ergebnis von
JSON.parsesicher? - 42.Wie unterscheidet sich
type A = Bvoninterface A extends B {}in den Tooltips der IDE? - 43.Was bringt
pathsintsconfig.json? - 44.Wie unterscheidet sich
moduleResolution: 'bundler'von'node16'/'nodenext'? - 45.Was macht das Flag
isolatedModules? - 46.Was macht
keyof typeof obj? - 47.Wann erweitert TS einen Literaltyp zu einem allgemeinen?
- 48.Wie macht man einen generischen Parameter mit Standardwert optional?
- 49.Wie typisiert man eine Fabrikfunktion, die denselben Typ liefert, den sie bekam?
- 50.Was ist kontextuelle Typisierung?
- 51.Warum verliert
Omit<Circle | Square, 'id'>die Discriminated Union? - 52.Was bringt
as const satisfies Record<string, Route>für ein Konfigurationsobjekt? - 53.Wann zieht man einen Union-Parameter Überladungen vor?
- 54.Was sind Parameter Properties, und warum sind sie keine „entfernbare“ Syntax?
- 55.Wovor schützen das Schlüsselwort
overrideundnoImplicitOverride? - 56.Warum verhindert
Readonly<Settings>diese Änderung womöglich nicht? - 57.Wie leitet man einen TypeScript-Typ aus einem Zod-Schema ab?
- 58.Was bringt typbewusstes Linting mit typescript-eslint zusätzlich zu
tsc? - 59.Wie teilt man eine strenge Basiskonfiguration zwischen vielen Paketen?
- 60.Wie unterscheiden sich
targetundlibintsconfig.json? - 61.Was behebt
esModuleInterop? - 62.Welche Option erlaubt
import config from './config.json'mit typisiertem Inhalt? - 63.Wie bekommt man den Instanztyp und die Konstruktorargumente einer Klasse?
- 64.Wie grenzt man die Ergebnisse von
Promise.allSettledein? - 65.Was erlauben die intrinsischen Typen
Uppercase,Capitalizeusw.? - 66.Was finden
noImplicitReturnsundnoFallthroughCasesInSwitch? - 67.Wie typisiert man eine Generatorfunktion?
- 68.Wie typisiert man einen generischen Hook zum Laden von Daten?
- 69.Wann ist
Map<K, V>besser als ein Objekt mit Index-Signatur? - 70.Was machen
types/typesVersionsund die Bedingung"types"inexportsderpackage.json? - 71.Was macht
export type * from './types'(TS 5.0+)? - 72.Wie schreibt man einen Typ für einen beliebigen JSON-Wert?
- 73.Wie setzt man einen typsicheren Event Emitter um?
- 74.Funktioniert Eingrenzung, wenn eine Discriminated Union zuerst destrukturiert wird?
- 75.Was ermöglicht Eingrenzung mit
switch (true)(TS 5.3)?