Golang
// È necessario modificare la funzione di wrapping, che lavorerà con un timeout specificato (ad esempio, 1 secondo). // Se la "funzione lunga" si completa in questo tempo, ottimo, restituiamo il risultato. // Se no, restituiamo un errore. Il risultato dell'esecuzione in questo caso non è importante. // // Inoltre, è necessario misurare quanto tempo questa funzione è stata eseguita (semplicemente stamparlo nel log). // La firma della funzione di wrapping può essere modificata.
Ci parli dei protocolli di interazione nel suo ultimo lavoro, inclusi i problemi di sicurezza nella trasmissione di dati privati.
Parla in generale di cosa fai nella tua attuale azienda.
Qual è la complessità in tempo e memoria della soluzione risultante?
Perché è sbagliato usare confluent-kafka-go con librdkafka sotto il cofano?
Su GitLab CI — come hai lavorato, hai scritto tu stesso i file yaml?
Se in API Gateway è necessaria l'autenticazione e l'aggregazione con gli utenti, cosa è meglio usare — una soluzione pronta o la propria?
Come comunicavano tra loro i servizi in un'architettura a microservizi? Chi scriveva i contratti?
Cos'è una mappa in Go e come è strutturata? Cosa succede durante una scrittura concorrente senza sincronizzazione?
Quali pattern di progettazione conosci e hai applicato in Go?
Quale tipo di multitasking viene utilizzato in Go? Come interrompe il scheduler di Go le goroutine?
Hai esperienza nella scrittura di programmi con multithreading o operazioni asincrone?
Viene compilato se dichiariamo la funzione main con argomenti?
Puoi descrivere cosa usi per leggere il canale nella goroutine dei lavoratori?
Quanta memoria viene inizialmente assegnata al buffer?
Cos'è ACID nei database?
Cosa sai del pacchetto sync/atomic?
Parlami di sync.Atomic: a cosa serve, hai dovuto usarlo nel lavoro?
Puoi descrivere brevemente di quali servizi era composto il sistema e come comunicavano tra loro?
Quale meccanismo esiste in Go: ereditarietà o composizione?