Golang
Cosa restituiva il servizio di ricerca?
Su quanti host è stato eseguito il servizio e quante istanze sono state avviate?
Come hai lavorato con WebSocket? A livello di configurazione dell'infrastruttura o solo codice? Quali tecnologie hai utilizzato? Ci sono stati problemi di connessione a livello di infrastruttura?
Puoi descrivere brevemente di quali servizi era composto il sistema e come comunicavano tra loro?
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(advertiserID) // aggiungere transazione if err != nil { return err } partner, err := r.find(partnerID) if err != nil { return err } advertiser.Balance -= amount // proteggere SELECT FOR UPDATE partner.Hold -= amount partner.Balance += amount if err := r.save(advertiser); err != nil { return err } if err := r.save(partner); err != nil { return err } r.totalPayouts++ return nil }
Cosa scrivi in Go — microservizi o servizi?
Quale meccanismo esiste in Go: ereditarietà o composizione?
Come potremmo gestire esternamente gli errori che si verificano nelle attività, se volessimo farlo?
Come collegare un profiler in Go? Come registrare i profili?
Hai attualmente priorità o piani di sviluppo?
Ci sarà una differenza nel tempo di esecuzione se confrontiamo la stessa funzione su un array ordinato e non ordinato? Cos'è la predizione dei rami e il pipeline del processore?
Hai effettuato test di carico? Qual era il carico?
Come veniva calcolato l'RPS — semplicemente sommiavi il carico di tutte le maniglie o come?
Cosa facevi con i messaggi non validi dopo l'elaborazione manuale? Come si presentava tecnicamente?
Come è organizzata la comunicazione tra microservizi?
Stai lavorando adesso?
Come ti relazioni con i test? A cosa servono i test?
Quale garanzia di consegna supportate quando si parla di Kafka?
Come funziona una tabella hash? Quali sono i principi di base su cui si basa e quali sono i requisiti principali?
Da quando sarai disponibile?