Wie man das TypeScript-Vorstellungsgespräch besteht: Top-Fragen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

So bestehen Sie ein TypeScript-Interview: Die wichtigsten Fragen



TypeScript hat sich fest als eines der gefragtesten Werkzeuge in der modernen Webentwicklung etabliert. Wenn Sie sich auf ein technisches Vorstellungsgespräch vorbereiten, sind Kenntnisse der Grundlagen und erweiterten Funktionen von TypeScript ein Muss. In diesem Artikel analysieren wir die wichtigsten Fragen, die in Vorstellungsgesprächen häufig gestellt werden, und liefern Codebeispiele zur Vertiefung des Stoffs.



1. Basistypen und ihre Unterschiede zu JavaScript

In einem Vorstellungsgespräch werden Sie definitiv nach den grundlegenden TypeScript-Typen und ihrem Verhalten gefragt. Der Hauptunterschied zu JavaScript ist die statische Typisierung. Schauen wir uns die Kernpunkte an.



1.1. Primitive Typen: string, number, boolean

TypeScript fügt explizite Typannotationen hinzu. Zum Beispiel:

let name: string = 'Anna';let age: number = 30;let isActive: boolean = true;

Ohne Annotation leitet TypeScript den Typ automatisch ab (Typinferenz).



1.2. Die Typen any und unknown

any deaktiviert die Typprüfung – es ist am besten, es zu vermeiden. unknown ist eine sicherere Alternative, die eine Prüfung vor der Verwendung erfordert:

let data: unknown = 'string';// console.log(data.toUpperCase()); // Fehler!if (typeof data === 'string') {  console.log(data.toUpperCase()); // Ok}


1.3. never und void

  • void — die Funktion gibt nichts zurück.
  • never — die Funktion endet nie (wirft einen Fehler aus oder Endlosschleife).
function throwError(msg: string): never {  throw new Error(msg);}


2. Interfaces und Typen (interface vs type)

Dies ist eine der häufigsten Fragen. Beide Mechanismen ermöglichen es, die Struktur von Objekten zu beschreiben, aber es gibt Unterschiede.



2.1. Wann interface verwenden

  • Zur Deklaration von Verträgen für Objekte und Klassen.
  • Möglichkeit zur Erweiterung (Deklarationszusammenführung):
interface User {  name: string;}interface User {  age: number;}// User enthält nun name und age


2.2. Wann type verwenden

  • Für Union-Typen, Intersection-Typen und Aliase für primitive Typen.
  • Unterstützt keine Deklarationszusammenführung.
type Status = 'active' | 'inactive';type Person = { name: string } & { age: number };

Interviewfrage: "Kann interface durch type ersetzt werden?" — Ja, aber für Klassen und Erweiterungen ist interface besser geeignet.



3. Generics

Generics ermöglichen die Erstellung wiederverwendbarer Komponenten, die mit beliebigen Typen arbeiten. Dies ist ein Muss für Führungspositionen.



3.1. Einfache generische Funktion

function firstElement<T>(arr: T[]): T {  return arr[0];}const num = firstElement([1, 2, 3]); // numberconst str = firstElement(['a', 'b']); // string


3.2. Generische Einschränkungen (extends)

function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {  return obj[key];}const user = { name: 'Ivan', age: 25 };console.log(getProperty(user, 'name')); // Ivan


3.3. Generics in Interfaces

interface Repository<T> {  getById(id: number): T;  save(item: T): void;}

Häufig gefragt: "Warum werden Generics benötigt, wenn es any gibt?" — Generics bewahren die Typsicherheit.



4. Hilfstypen (Utility Types) und erweiterte Funktionen

Eingebaute Hilfstypen (Partial, Required, Pick, Omit) sind Indikatoren für ein tiefes Verständnis von TypeScript.



4.1. Partial und Required

interface Task {  title: string;  done: boolean;}const partialTask: Partial<Task> = { title: 'Learn TypeScript' };const requiredTask: Required<Task> = { title: 'Learn TypeScript', done: false };

Blogs

Buchempfehlungen