Golang
Pokud je na Windows spuštěn program Go, je net poller obálka nad čím?
Lze najednou vytvořit indexy na 15 polích v tabulce?
Optimistické a pesimistické blokace — pověz mi
Dána je seřazený seznam celých čísel a, index prvku a a celé číslo k. Je třeba vrátit libovolné pořadí k čísel ze seznamu, která jsou nejblíže hodnotě k elementu a[index]. a=[2, 3, 5, 7, 11], index=3, k=2 -> [5, 7] a=[4, 12, 15, 15, 24], index=1, k=3 -> [12, 15, 15] a=[2, 3, 5, 7, 11], index=2, k=2 -> [3, 5] nebo [5, 7]
Co se stane s velikostí tabulky po vložení tisíce řádků a následném smazání všeho?
Co je to vzorec Outbox?
Povězte nám o svém současném místě práce a službě enrichment — co je to za službu, jaká je její povinnost?
S jakými výzvami jste se setkal a jak jste je překonal?
S jakými databázemi jste pracoval?
Byly datová centra úplnými kopiemi navzájem, nebo se doplňovaly? Jednoduše směroval jste mezi nimi provoz?
Jaké AI agenty nebo chaty jste používali v práci?
Proč byl pro ukládání příspěvků vybrán PostgreSQL? Jak pochopit, při jaké zátěži si která technologie poradí bez sharding a replikace (Postgres, Kafka, Redis, služba v Go)?
// GetUsersList vrací seznam uživatelů. (v databázi ukládáme přibližně 1 milion uživatelů) // Používá se k zobrazení seznamu uživatelů v administračním panelu. Pokud je isActive = true, vrací se pouze aktivní uživatelé. func (u *UsersRepo) GetUsersList(ctx context.Context, isActive bool) ([]User, error) { rows, err := u.DB.Query("SELECT id, name, phone FROM users WHERE is_active = ?", isActive) if err != nil { return nil, errors.New("chyba při získávání seznamu uživatelů") } var users []User // Vyplňte informace o uživatelích. for rows.Next() { var user User err := rows.Scan(&user.ID, &user.Name, &user.Phone) if err != nil { return nil, err } // Získejte seznam e-mailů uživatele err, err := u.DB.QueryContext(ctx, "SELECT email FROM user_emails WHERE user_id = ?", user.ID) if err != nil { return nil, errors.New("chyba při získávání seznamu uživatelů") } var emails []string for er.Next() { var email string err := rows.Scan(&email) if err != nil { return nil, err } emails = append(emails, email) } if len(emails) != 0 { for i, e := range emails { e = strings.ToLower(e) emails[i] = e } } user.Emails = emails // Získejte profilové informace z API VKontakte profile, err := getUserProfileFromVkApiByUserPhone(user.Phone) if err != nil { return nil, errors.New("chyba při získávání seznamu uživatelů") } user.Profile = profile users = append(users, user) } if err = rows.Err(); err != nil { return nil, errors.New("chyba při získávání seznamu uživatelů") } }
Jak plánovač přerušuje gorutinu, která vstoupila do nekonečného cyklu?
Je normální, že přecházíme přímo ze služby objednávek na službu platby?
Popiš architekturu jednoho ze svých projektů (vrstvy, vzory, organizace kódu)
Co se stane, pokud předáte slice jako argument funkce a změníte ho uvnitř?
Pokud přidáváme mnoho konzumentů, ale zpoždění Kafka se stále nesnižuje, co to svědčí?
Proč zprávy z Message Service jdou přímo přes gRPC, místo přes Kafka?
Jaké nástroje používáte k hodnocení výkonu a profilování při vývoji aplikace v Go?