Golang
Ci sono delle difficoltà con l'uso di uno storage esterno? E, ad esempio, potremmo avere più istanze della stessa applicazione. Cosa potrebbe succedere in questo caso?
Iniziamo a scrivere la struttura — di cosa avremo bisogno in questa struttura?
Quali chiavi possono avere le mappe in Go?
Cos'è uno shutdown ordinato?
Come si presenta la distribuzione del tuo lavoro — cosa consegni ai colleghi dopo aver scritto il codice?
Come funziona il pianificatore di Go? Racconta i punti principali.
Cos'è una transazione in un database?
Preferenze sul formato di lavoro (da remoto/in ufficio/ibrido)?
Domanda generale: preparazione al colloquio e fonti delle domande
Con quali database hai lavorato? Quali tipi di database conosci? Perché i database relazionali sono chiamati relazionali?
Qual è la differenza tra EXPLAIN e EXPLAIN ANALYZE?
C'è la possibilità di disattivare o gestire il garbage collector in Go?
Preferisci lavorare con la tua attrezzatura o hai bisogno di attrezzature dal datore di lavoro?
Quali sono i tipi di canali in Go? Parla dei canali con buffer e senza buffer.
Valuta le tue conoscenze sulle tecnologie: Go, PostgreSQL, Docker, Kubernetes, Kafka, RabbitMQ, GORM.
Quali metodi di ottimizzazione delle query ai database hai utilizzato? Cosa hai osservato in EXPLAIN ANALYZE e nel piano della query?
A cosa serve un canale in una trasmissione senza buffer, se i dati vanno da stack a stack? Qual è il ruolo del canale?
Come funziona un indice composito (A, B, C) nelle query?
Come è organizzato il canale sotto il cofano in Go?
Compito semplice di live coding (concorrente di base) Condizione: Scrivi una funzione fetchAll(urls []string) map[string]string, che per ogni URL esegue una richiesta HTTP GET in modo concorrente e restituisce una mappa in cui la chiave è l'URL e il valore è il corpo della risposta (stringa). Se la richiesta fallisce (errore, non 200), il valore sarà una stringa vuota. Restrizioni: - Non usare librerie esterne (solo quelle standard). - Non modificare la firma. - Il programma non deve fallire in caso di panic in http.Get. Esempio di input: ["[link]" "[link]" "[link]"]