Wenn wir eine Round-Trip-Kommunikation haben und keine großen Datenmengen übertragen müssen, würdest du gRPC oder REST verwenden? Auf welche Faktoren würdest du bei der Wahl des Protokolls achten?
C#
Wie wurde die Versionierung der API im Projekt umgesetzt? Wie rief der Client eine bestimmte Version auf?
Was ist Activity in MassTransit?
Wie wurden verteilte Transaktionen in den Microservices implementiert? Haben Sie Saga verwendet?
Wie erkennt man, welche Daten gecached werden müssen?
Welche Deployment-Strategien kennst du außer Blue-Green Deployment?
Was ist der Unterschied zwischen Orchestrierung und Choreografie im Kontext der Saga?
Wie wurde die Paginierung im Backend implementiert? Warum funktioniert LIMIT/OFFSET bei einer großen Anzahl von Datensätzen schlecht? Wie kann man das optimieren?
Welche Arten von Indizes hast du in PostgreSQL verwendet? Warum wird für die Volltextsuche ein GIN-Index anstelle eines B-Baums verwendet?
Warum kommuniziert das Frontend mit dem Backend über REST und nicht über gRPC?
Wie hast du eine schwere SQL-Abfrage optimiert? Womit hast du gearbeitet?
Wie funktioniert die Nachrichtenverteilung in RabbitMQ zwischen mehreren Consumer einer Warteschlange?
Was ist ein Feature Toggle und wie kann man eine defekte Funktion schnell deaktivieren, ohne neu zu deployen?
Aufgabe: Es gibt einen Endpoint getWeather, der die Temperatur in der Stadt zurückgibt. Er hat eine hohe Belastung. Wie implementiert man Caching? Was passiert bei einem Cache-Miss bei hoher Belastung (50k RPS)?
Kannst du die Kommunikation von Diensten über gRPC und herkömmliche HTTP-Interaktion vergleichen? Vor- und Nachteile jeder Methode.
Wie haben Sie mit Git im Projekt gearbeitet? Erzählen Sie mir von den Branches, dem Entwicklungsprozess und dem Veröffentlichungsprozess.
[Name] hat über seine letzte Arbeitsstelle gesprochen: Was für ein System war es, welche konkreten Aufgaben er ausführte, welche Technologien und Muster verwendet wurden?
Kannst du RabbitMQ und Kafka vergleichen? Für welche Aufgaben würdest du jeden von ihnen verwenden?
Welche Interaktionsmöglichkeiten mit dem Cache kennst du?
Wie kann man Caching implementieren, sodass der Service nur mit dem Cache arbeitet und die Datenbank nicht kennt? Die Daten ändern sich alle 5 Minuten, veraltete Daten sind akzeptabel. Sollte man TTL für die zwischengespeicherten Daten setzen?