Golang
Come è stato organizzato il progetto dell'architettura nel vostro team, quali strumenti avete usato?
Indicare le complessità medie di tempo e memoria aggiuntiva per l'ordinamento rapido (in-place) durante l'ordinamento di uno slice di n elementi O(n log n) in tempo, O(log n) in memoria dello stack O(n log n) in tempo, O(1) in memoria O(n^2) in tempo, O(log n) in memoria dello stack O(n log n) in tempo, O(n) in memoria
Quale famiglia di scheduler viene utilizzata in Go?
Con quali linguaggi di programmazione hai lavorato prima di Go e quando hai iniziato a programmare?
In quali condizioni la lettura da un canale verrà bloccata per sempre? Cosa succede scrivendo in un canale nil? Scrivendo in un canale chiuso?
Come hai gestito i messaggi di Kafka? Raccontami della validazione — cosa succedeva con un messaggio non valido?
Cos'è un reverse proxy e cosa si usa di solito?
Parla del contesto in Go: a cosa serve, come funziona l'annullamento?
Cosa è più importante per te nel lavoro: compiti formalizzati e chiari in una grande azienda o un alto grado di autonomia e creatività in una piccola azienda? Quali compiti ti interessano di più: quelli con un alto grado di incertezza o la scrittura lineare di codice?
Parla dei canali in Go: cosa sono, cosa contiene, cosa succederà con un canale con buffer di 5 elementi quando si scrivono 5 valori?
Hai mai lavorato con transazioni in PostgreSQL? Con quali livelli di isolamento delle transazioni ti sei trovato, in quali casi vengono utilizzati?
Hai domande per me?
Cosa ti motiva, perché ti piace lavorare come programmatore?
Cosa sarà importante per te nella scelta di una nuova azienda?
Cos'è il pattern Outbox e come viene implementato?
Come hai lavorato con Kubernetes nel tuo team precedente?
Hai domande in questa fase?
var ( mu sync.Mutex items []Product vatRate = 10.0 order Order ) type Product struct { NameOfProduct string PriceOfProduct float32 } type Order struct { Items []Product } func init() { items = make([]Product, 100) } func AddItemToShoppingCart(item Product) { items = append(items, item) } func RemoveItemFromShoppingCart(nameOfItem string) bool { mu.Lock() defer mu.Unlock() for i, item := range items { if item.NameOfProduct == nameOfItem { items = append(items[:i], items[i+1:]...) } } }
Parlami delle stringhe in Go.
Quali sono i vantaggi delle goroutine rispetto ai thread del sistema operativo?