Sobes.tech

Golang

/** * Lavoro con slice * * Vengono forniti due slice non ordinati di qualsiasi lunghezza. * Scrivere una funzione che restituisca la loro intersezione **/

Senior
sber tech
44

// tutti gli elementi dello slice devono essere unici + devono consistere in 1000 elementi in totale // il programma non deve bloccarsi troppo a causa di time.sleep func main() { checkIncrement := map[int]int32{} var data []int for i := 0; i < 1000; i++ { go func() { data = append(data, i) if _, found := checkIncrement[i]; found { fmt.Println(i) panic("incremento duplicato") } checkIncrement[i] = 1 }() } time.Sleep(2 * time.Second) fmt.Println(len(data)) }

Senior
FREEDOM LIFESTYLE
44

Hai esperienza di mentoring o formazione di colleghi più giovani?

Middle+
AxenixAxenix
44

Scrivi una funzione che rimuove tutti gli elementi uguali a val dal slice in-place. Restituisce il slice senza i valori rimossi. func RemoveValue(slice []int, val int) []int { // il tuo codice } // Esempio RemoveValue([]int{1,2,3,2,4}, 2) // -> []int{1,3,4} RemoveValue([]int{1,2,3}, 5) // -> []int{1,2,3} RemoveValue([]int{}, 1) // -> []int{}

Middle+
OZONOZON
44

Capisce correttamente che con cache-aside dobbiamo comunque andare nella cache e invalidare i dati lì quando aggiorniamo i dati nel database?

Senior
plata
44

Cosa vedremo sullo schermo all'avvio del programma se correggiamo il bug con wg (passare il puntatore)?

Senior
Базис
44

Come è organizzata la comunicazione tra microservizi?

Middle+
Umbrella IT
44

Cosa è importante per te nel team e nel processo di lavoro?

Senior
X5
44

var defaultTxOptions = &sql.TxOptions{} const defaultCurrency = "RUB" func CreateUserWithDefaultCurrency(ctx context.Context, db *sql.DB, email, passwordHash string) error { tx, err := db.BeginTx(ctx, defaultTxOptions) if err != nil { return err } defer func() { if err != nil{ tx.Rollback() } }() _, err = tx.Exec("INSERT INTO users (email, password) VALUES (?, ?)", email, passwordHash) if err != nil { return err } rows, err := tx.Query("SELECT id FROM users WHERE email = ?", email) if err != nil { return err } defer rows.Close() id := 0 for rows.Next() { err = rows.Scan(&id) if err != nil { return err } } _, err = tx.Exec("INSERT INTO balances (user_id, currency, current_balance) VALUES (?, ?, 0)", id, defaultCurrency) if err != nil { return err } return tx.Commit() }

Senior
Wildberries & Russ Bank
44

Da quando sarai disponibile?

Senior
Shopfully
44

È possibile attivare il profiler in produzione?

Senior
Лига Цифровой ЭкономикиЛига Цифровой Экономики
44

Hai mai dovuto tracciare il tempo, tenere traccia delle attività in qualche sistema?

Middle+
Lexica
44

Domanda di caso: il servizio ha iniziato a rispondere in 3 secondi invece di 100 millisecondi. Quali sarebbero le tue azioni?

Senior
purweb
44

C'è un parcheggio nel centro commerciale: le auto entrano e escono, e al termine della sessione di parcheggio bisogna prendere il pagamento. Come lo vedi? Progetta un sistema.

Middle+
МВидео/эльдорадо
44

Come sarebbe lo schema aggiornato di Redis con timeout-worker per giochi con limite di tempo?

Senior
Hi Rockits
44

Parlami del pianificatore di Go, come funziona e quale algoritmo utilizza.

Middle+
Servicepipi
44

Hai esperienza con servizi proxy e protocolli VPN?

Senior
Sequoia Ads
44

Parlami del tuo più grande fallimento sul lavoro. Qual è stata la lezione appresa?

Junior
Позитив Технолоджис
44

Perché non usare sempre array invece di slice?

Senior
Small
44

Raccontami un compito ingegneristico interessante a cui hai lavorato — uno difficile che puoi raccontare ai tuoi amici.

Middle+
OZONOZON
44
/412