Cum a fost implementată gestionarea versiunilor API în proiect? Cum a apelat clientul o versiune specifică?
C#
Dacă avem o comunicare back-to-back și nu este nevoie să transmitem volume mari de date, ai folosi gRPC sau REST? La ce factori ai fi atent atunci când alegi protocolul?
Ce este Activity în MassTransit?
Cum au fost implementate tranzacțiile distribuite în microservicii? Ați folosit saga?
Ce strategii de implementare cunoști în afară de deployment-ul Blue-Green?
Cum să înțelegi ce date trebuie stocate în cache?
Sarcină: există un endpoint getWeather care returnează temperatura din oraș. Are o încărcare mare. Cum implementați caching-ul? Ce se întâmplă în cazul unui cache miss sub o încărcare mare (50k RPS)?
Care este diferența dintre orchestrare și coregrafie în contextul saga?
Cum ai optimizat o interogare SQL dificilă? Cu ce ai folosit?
Ce este un feature toggle și cum se realizează dezactivarea rapidă a unei funcții defecte fără redeploy?
Ce tipuri de indecși ai folosit în PostgreSQL? De ce se folosește un index GIN pentru căutarea full-text, în loc de un B-tree?
Cum a fost implementată paginarea pe backend? De ce LIMIT/OFFSET funcționează prost cu un număr mare de înregistrări? Cum se poate optimiza acest lucru?
De ce frontend-ul comunică cu backend-ul prin REST și nu prin gRPC?
Cum funcționează distribuirea mesajelor în RabbitMQ între mai mulți consumatori ai aceleiași cozi?
[nume] a vorbit despre ultimul loc de muncă: ce sistem era, ce sarcini specifice îndeplinea, ce tehnologii și modele erau utilizate?
Poți compara comunicarea serviciilor prin gRPC și interacțiunea obișnuită HTTP? Avantajele și dezavantajele fiecărei abordări.
Cum ai lucrat cu Git pe proiect? Povestește-mi despre ramuri, procesul de dezvoltare și procesul de lansare.
Poți compara RabbitMQ și Kafka? Pentru ce sarcini ai folosi fiecare dintre ele?
Ce modalități de interacțiune cu cache-ul cunoști?
Cum se implementează caching-ul astfel încât serviciul să funcționeze doar cu cache-ul și să nu cunoască baza de date? Datele se schimbă la fiecare 5 minute, sunt acceptate date învechite. Este necesar să se seteze TTL pe datele cache-uite?