Golang
Hai mai aiutato colleghi meno esperti? Come avveniva di solito?
La facciata accede a 10 servizi interni (100-300 ms ciascuno) più a un servizio globale in Cina (500 ms), il tempo totale di risposta è di circa 3,5 secondi. Come risolveresti questo problema per accelerare l'elaborazione?
Qual è la differenza tra i comandi EXPLAIN e EXPLAIN ANALYZE in PostgreSQL?
Come comunicare tra servizi — gRPC, REST o qualcos'altro?
Qual è la differenza tra TCP e UDP? Perché si usa UDP per lo streaming video e voce?
È possibile passare un numero arbitrario di argomenti a una funzione?
Quanto attivamente stai cercando un nuovo posto e perché hai deciso di entrare nel mercato?
Perché si è fatto un commit offset manuale invece dell'autocommit?
Biglietto militare?
Parlami del tuo progetto. Cosa fai lì?
Chi si occupa del deployment — gli sviluppatori o DevOps?
Perché hanno suddiviso il monolito in microservizi?
Domanda 4: Trova gli errori nel codice con canali e goroutine (chiusura doppia del canale)
Perché una mappa normale in Go non è sicura per le scritture concorrenti?
Quali tipi di indici esistono e come capire se è necessario un indice?
Come uccidere un processo in Linux? Cosa fare se kill pid non funziona?
Può confermare l'esperienza tramite il libretto di lavoro?
Cos'è ACID? Livelli di isolamento delle transazioni?
Modellare un sistema bancario semplice: - Tabella `accounts`: - `id`, - `owner_id`, - `currency`, - `created_at`. - Tabella `transactions`: - `id`, - `account_id`, - `amount`, - `created_at`. **Requisiti:** 1. Scrivere SQL per creare lo schema con le restrizioni necessarie (NOT NULL, FK, CHECK su `amount` non nullo). 2. Scrivere una query: - ottenere il saldo attuale del conto per `account_id` (somma di `amount`). 3. Difficoltà aggiuntiva: supportare addebito/credito (registrazione doppia). Pulizia
Come evitare le condizioni di gara? Come funziona un Mutex?