După ce principiu a fost ales REST sau gRPC în proiectele dvs.?
Golang
De ce ați folosit simultan Kafka și gRPC? Care scenarii au trecut prin Kafka și care prin gRPC?
Cum ai stabilit că e timpul să schimbi ceva? Pe baza căror metrici?
Este necesar să scrieți metode pentru crearea, actualizarea și ștergerea articolelor? Ce anume trebuie să facă serviciul dvs.?
Ai lucrat cu Docker, Kubernetes? Ai vorbit despre construirea pipeline-urilor?
func(d *Data)GetViews(cheie int, chechDay time.Time) (int, int, err) { d.mu.Lock() defer d.mu.Unlock() infoStr, ok := d.st[cheie] if !ok { return 0, fmt.Errorf("articol nu găsit") } return (infoStr.day, infoStr.count, nil) }
Povestește-mi despre un microserviciu bazat pe PostgreSQL pentru stocarea fișierelor media. Ce se stoca în PostgreSQL și ce în S3?
Vorbește-mi despre sarcinile de optimizare a interogărilor la baza de date, scrierea indexurilor, partiționare.
Ce se întâmplă dacă, în timpul îmbogățirii, unul dintre servicii nu este disponibil (de exemplu, serviciul cu numele complet/datele utilizatorului)? Se oprește întreg Kafka?
Vorbește-mi despre sistemul de calcul zilnic al plăților — ce este acest sistem și cum funcționa calculul pentru 50.000 de angajați?
Implementați un Worker Pool pentru procesarea logurilor: citiți logurile din canal, procesați-le în paralel, numărați logurile pentru fiecare serviciu, returnați un map[serviceName]count.
Povesti-ne despre optimizarea interogărilor către baza de date: cum ați identificat interogările problematice și ce ați făcut?
Cum se conectează un profiler în Go? Cum se realizează profile?
Este posibil să scrii într-un map din mai multe goroutines în același timp? Ce se va întâmpla?
Cum interacționau serviciile între ele?
Ce tipuri de tranzacții (niveluri de izolare) există în PostgreSQL?
Cum ați determinat unde se afla punctul de blocaj al unei solicitări specifice?
/* Ești un scriitor, gestionezi mini blogul tău și publici articole acolo. Utilizatorii (cititorii) blogului tău, după autentificare, pot vizualiza/citi articolele. Este necesar să implementezi o funcționalitate pentru numărarea vizualizărilor unice pe zi pentru fiecare articol. Cerinte funcționale: - Statistici pentru azi: Autorul poate vedea câți utilizatori unici au vizualizat articolul său azi (datele sunt colectate în timp real). - Statistici pentru zilele trecute: Autorul poate vedea statisticile pentru orice zi trecută (de exemplu, ieri). Restricții tehnice și condiții: - Aplicația rulează pe un singur server (un pod) - Stocare în memorie - Timpul în UTC0 */
De ce în acest caz specific s-a ales gRPC pentru serviciul de agregare?
Cum s-a garantat reproductibilitatea calculelor — că aceleași condiții au fost aplicate întregului grup de angajați?