Golang
Come avviene il trasferimento dei dati tra diversi servizi nell'infrastruttura? Attraverso un broker, direttamente, gRPC?
// Correggere il codice in modo che le richieste siano concorrenti e venga visualizzato il codice di risposta // e in caso di errore, visualizzare il log e continuare l'elaborazione package main import "net/http" var addrs = []string{"[link] "[link] "[link] "[link] "[link] "[link] "[link] func main() { var wg sync.WaitGroup data := make(map[string]bool) for _, url := range addrs { wg.Add(1) if !data[url] { data[url] = true go func(url string) { defer wg.Done() resp, err := http.Get(url) if err != nil { log.Println(err) return } log.Println(resp.StatusCode) }(url) } } wg.Wait() }
Cos'è la notazione O (notazione Big O)?
// Compito 3 // Descrivere quale compito risolve questo codice // Quali problemi ci sono in questa soluzione? // Come riscriveresti questo codice?
Perché in sync.Map non c'è un metodo per ottenere il numero di elementi (len)?
Cos'è un reverse proxy e come può essere implementato?
Un puntatore può puntare sia allo stack che all'heap?
Come vengono elaborati i messaggi inviati agli utenti offline?
Perché è necessaria la combinazione Load Balancer + API Gateway? Qual è il ruolo di ciascun componente?
L'evento arriva nel primo data center da Kafka, lo catturiamo e lo memorizziamo in Redis. Come sono arrivati questi dati in tutti e tre i data center?
Cosa succede se avvii 5 trilioni di goroutine? Come ottimizzare?
Viene creato un nuovo thread del sistema operativo per ogni goroutine?
Ci sono 3 entità: utente, chat, messaggio • L'utente ha un nome e una data di registrazione • La chat ha un nome e una data di creazione • Il messaggio ha testo, autore e data di creazione • Un utente può essere in più chat contemporaneamente • Il messaggio appartiene obbligatoriamente a una chat e non può appartenere a più di una chat contemporaneamente • È necessario descrivere il dominio sotto forma di tabelle
Parla della tua esperienza con PostgreSQL: hai progettato schemi, ottimizzato query, amministrato?
// Domanda 1. Cosa verrà visualizzato sullo schermo? package main import "fmt" func main() { s := "Hello world" s[0] = "h" fmt.Println(s) }
Da dove inizi a lavorare se arrivi in un progetto dove il codice è stato scritto negli anni, ci sono molti legacy, nessun test e tutto sta per crollare?
Qual è il linguaggio di programmazione principale che usi? Utilizzi C++ o Python?
Chi ha progettato l'architettura del progetto — tu come feature leader, insieme al team, o come team leader?
Quali funzioni aggregate conosci?
Implementa una funzione che accetta []any e delta int. È necessario aumentare di delta solo le prime occorrenze di numeri unici (int). Altri tipi e numeri ripetuti devono essere lasciati invariati. La funzione deve restituire la lista aggiornata e 2 numeri: updated – quanti numeri unici sono stati modificati, duplicates – quanti elementi numerici sono risultati duplicati func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // il tuo codice } // Esempio: xs := []any{1, "a", 5, "b", 1, 0, 5} u, d, s := IncrementUniqueIntsInMixed(xs, 3) // xs == []any{4, "a", 8, "b", 1, 3, 5} // u == 3 // numeri unici: 1, 5, 0 // d == 2 // numeri duplicati: secondo 1, secondo 5