Golang
Co jsou Ingress a Ingress Controller v Kubernetes?
Jak jste komunikoval se zdroji dat? Poskytoval jste API klíče, psal do Kafka nebo čerpal z Kafka?
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(totalPayouts) // přidat transakci if err != nil { return err } partner, err := r.find(partnerID) if err != nil { return err } advertiser.Balance -= amount partner.Hold -= amount partner.Balance += amount if err := r.save(advertiser); err != nil { return err } if err := r.save(partner); err != nil { return err } r.totalPayouts++ return nil } func (r *PayoutRepository) find(id string) (Partner, error) { p := Partner{} err := r.db.QueryRow("SELECT * FROM partners WHERE id = " + id).Scan(&p) // přidat $1 if err != nil { if err == sql.ErrNoRows { return p, errors.New("partner nenalezen") } return p, err } return p, nil }
```go func main() { wg := sync.WaitGroup{} wg.Add(8) for i := 0; i < 10; i++ { go func(wg *sync.WaitGroup, i int) { defer wg.Done() fmt.Println(i) }(&wg,i) } wg.Wait() fmt.Println("some text") time.Sleep(1 * time.Minute) fmt.Println("some text2") } ```
Jaké jsou hlavní části systému Transactional Outbox?
Na jakou mzdu se orientujete?
Pověz mi o své zkušenosti a cestě ve vývoji — odkud jsi začínal a jak ses dostal k Go?
Navrhněte veřejné rozhraní (API) knihovny pro kopírování souborů v Go — hlavičky funkcí a typů, co nejpohodlnější pro vývojáře.
Pokud předáte slice do funkce a přidáte do něj nový prvek, budou změny viditelné mimo funkci? Co když kapacita není překročena?
Za kterou část podnikání byla vaše tým odpovědná? Za co byla odpovědná?
Jak jsou organizovány Swiss Tables v Go?
Úkol na kódování: najděte nejmenší přirozené číslo, které chybí v poli
Jak se násobí matice navzájem?
Jaké typy indexů existují v databázích a k čemu slouží?
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() }
Jaký problém může nastat při odesílání událostí do message brokeru a jak ho vyřešit?
Co děláme s metrikami po jejich sběru? Jaký je plán akce?
Co dělá systémový volání fork()?
Jaký primitivní přístup umožní zcela paralelně a správně zaznamenat všechny hodnoty, vzhledem k tomu, že máme pevný pole a pevný počet gorutin?
Jak jsou spojeny blockchain a CAP teorem? Je blockchain vždy dostupný?