Golang
Quali dati non dovrebbero essere memorizzati nella cache?
Possiamo passare uno slice come parametro a una funzione?
Parlami dei database — con quali hai lavorato e con quali lavori attualmente?
Domanda sul servizio lento Prendendo come esempio la creazione di un ordine. C'è una richiesta al servizio e una risposta, tra queste due azioni salviamo nell'analisi i prodotti ordinati (ad esempio, per contare la popolarità dei prodotti). Il servizio di analisi a volte funziona lentamente o va in timeout, e non riusciamo a rispondere in tempo, perdendo ordini. Cosa fare per smettere di perdere ordini e quindi soldi? Pensare a come parallelizzare l'ordine e l'analisi.
Immagina una situazione: non riesci a trovare un terreno comune con un tester nel tuo team che ti 'punta il dito' continuamente. Come interagiresti?
Cosa sono i broker di messaggi? Quali conosci? In cosa si differenzia RabbitMQ da Kafka?
Cosa succede se è necessario abbandonare Kafka e sostituirla con un altro broker di messaggi? Come isolare Kafka dai servizi esterni?
Come funziona il processo di rilascio? Come è andato l'ultimo rilascio con la tua partecipazione?
Cosa bisogna fare affinché il server REST API (repository di codice) inizi a funzionare in Kubernetes?
Parla di shutdown elegante: cos'è, cosa succede durante, come viene chiamato? Quali processi esegue il servizio in Kubernetes dopo aver ricevuto SIGTERM?
Dove, secondo te, inizia il highload? Qual è il confine tra highload e non-highload?
Hai un servizio che genera molte goroutine. Come limiteresti il numero di goroutine in esecuzione contemporaneamente?
Il tuo servizio era un'API utilizzata da altri servizi. In Redis memorizzavi dati per l'arricchimento — perché non consultavi il servizio di riferimenti (su magazzini, ecc.) ad ogni richiesta?
Cos'è una chiamata di sistema (syscall)?
Parlami più dettagliatamente dei progetti in Go
Quale delle seguenti opzioni è più probabile che si verifichi tentando di avviare un numero molto grande di goroutine (ad esempio decine di migliaia) senza controllo aggiuntivo? - Il problema principale sarà causato dal blocco del mutex globale all'interno del runtime, che porterà a una completa interruzione dell'esecuzione del programma - Il pianificatore di Go eseguirà le goroutine in piccoli gruppi in modo sequenziale, quindi l'aumento del loro numero influisce quasi nulla sul consumo di memoria - La creazione massiccia di goroutine può portare a un consumo significativo di memoria e a costi aggiuntivi del pianificatore; in tali casi, è appropriato usare un pool di worker - Se il numero di goroutine supera il numero di processori logici, Go inizierà automaticamente a rifiutare nuove esecuzioni di goroutine con un panic
Come ti senti rispetto ai tuoi colleghi a livello? Cosa ti manca per crescere?
Parla di Kubernetes — cos'è, come si differenzia da Docker, quali sono i componenti principali?
Qual è la differenza tra un array e uno slice in Go?
Come è organizzato il canale sotto il cofano in Go?