Sobes.tech

Golang

Kam byly zprávy odeslány? Ty, které byly duplicitní.

Middle+
МВидеоМВидео
73

Musel jsi v práci používat gorutiny? Pokud ano, v jaké funkčnosti?

Middle
VKVK
73

Stojí za to vrátit rozhraní místo struktury? Kdy to může být výhodné?

Senior
2gis2gis
73

// Je nutné implementovat funkci, // která by vracela chybu bez importu balíčků ze standardní knihovny nebo třetích stran. func Handle() (err error) { return }

Senior
Avanpost
73

Pověz mi podrobněji o svém současném místě práce: společnost, tým, role, oblast odpovědnosti, úkoly, technologický stack.

Senior
eLama
73

Jak jste generovali kód z proto-souborů? Použili jste Makefile?

Middle+
Астрал-Софт
73

Povězte mi o úrovních izolace transakcí

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

S jakými relačními databázemi jsi pracoval? Musel jsi řešit problémy sharding a partitioning?

Middle+
OZONOZON
73

Proč jsou data zapisována přes Kafka a ne přímo do ClickHouse?

Middle+
VK music
73

Jaká jsou omezení, když několik instancí spotřebitele čte z Kafka?

Middle+
Magnit Tech
73

Jaké typy gRPC interakcí jste použili? Můžete je pojmenovat?

Middle+
ВайлдберрисВайлдберрис
73

func main() { defer func() { if r := recover(); r != nil { fmt.Println("obnoven") } }() defer func() { fmt.Println("odložené") }() go func() { fmt.Println("uvnitř gorutiny začátek") panic("boom") fmt.Println("uvnitř gorutiny konec") }() time.Sleep(time.Second) }

Senior
CRTEX
73

Jak je u vás organizováno code review? Musíte se účastnit vydání?

Senior
iviivi
73

Může index zpomalit čtení (SELECT)?

Senior
РамблерРамблер
73

Jaké primitives synchronizace znáš?

Middle
ООО Левел Тревел
VK CloudVK Cloud
73

Co je to volume v Dockeru?

Senior
SberAuto
73

Co se stane se slice při jeho předání do funkce, přidání prvku a změně existujícího?

Senior
YadroYadro
73

Co je to escape analýza? Jak určuje, kde bude proměnná umístěna (zásobník nebo halda)?

Senior
AstonAston
73

Analyzujte následující úryvek kódu v jazyce Go a vysvětlete, co bude program tisknout a proč: ```go func main() { type User struct { Name string } m := map[string]User{ "a": {Name: "Alice"}, } u := m["a"] u.Name = "Bob" fmt.Println(m["a"].Name) } ```

Senior
CRTEX
73

/* Existuje aplikace s architekturou mikroservisů. Mikroservis lze abstrahovat pomocí rozhraní Backend. Pro přístup k jedné instanci mikroservisu lze použít typ BackendImpl, který je již implementován. Každý mikroservis má několik desítek spuštěných instancí, každá dostupná na své adrese addr. Nicméně jednotlivé instance mikroservisu nejsou spolehlivé: mohou selhat, být nedostupné nebo přetížené. Proto je třeba implementovat typ Balancer, který také implementuje rozhraní Backend a provádí vyvažování zátěže mezi instancemi mikroservisu, volbou **nejméně zatížené** instance při každém volání. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr obsahuje ip:port konkrétní instance func NewBackend(addr string) *BackendImpl type Balancer struct { //TODO } var _ Backend = &Balancer{} // addrs obsahují adresy všech vyvažovaných instancí func NewBalancer(addrs []string) *Balancer { //TODO }

Senior
Яндекс
73
/412