Golang
Vzpomeň si na situaci, kdy jsi narazil na slepou uličku a nevěděl jsi, jak problém vyřešit
Co je konstrukce `<-ch` v Go?
Pokud jeden ze služeb, které používáš, vrátí chybu, co budeš dělat a jak to budeš řešit, pokud máš kanál?
Jaký je rozdíl mezi interpretovaným jazykem (Python) a kompilovaným jazykem (Go)? Jaké faktory ovlivňují volbu?
/* Existuje aplikace s architekturou mikroservisů. Mikroservis lze abstraktně reprezentovat pomocí rozhraní Backend. Pro přístup k instanci mikroservisu můžete použít typ BackendImpl, který je již implementován. Každý mikroservis má několik desítek běžících instancí, z nichž každá je dostupná na své adrese addr. Nicméně jednotlivé instance mikroservisu nejsou spolehlivé: mohou selhat, být nedostupné nebo přetížené. Proto musíte implementovat typ Balancer, který také implementuje rozhraní Backend a provádí vyvažování zátěže na straně klienta mezi instancemi mikroservisu, přičemž vybírá pokaždé **nejméně zatíženou** instanci. */ 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 }
Proč jste udělali ruční commit offset místo automatického?
Na čem nakonec běží služba? Jaké Docker obrazy byly použity?
Jak optimalizovat transakci s blokováním řádku při vysoké zátěži (problém úzkého hrdla při registraci pomocí invite kódu)?
Jaký příkaz se používá k vložení hodnoty do tabulky?
Proč je potřeba kombinace Load Balancer + API Gateway? Jakou roli hraje každá složka?
Jak bude probíhat proces odesílání a přijímání zpráv mezi dvěma klienty? Popište úplný tok.
Proč jste přešel z Flutter na Go?
Co se stane s mapou, když chybí přidělená paměť? Co je overflow-bucket a za jakých podmínek je vytvářen?
Vysvětlete rozdíl mezi kontejnerizací a virtualizací
Odkud klient ví, jaké má svůj user_id a user_id protějšku? Jak probíhá počáteční inicializace?
Jak jste provedli škálování Kafka konzumentů? Podle jakých kritérií?
Jaké další typy indexů existují v PostgreSQL?
Je lepší definovat rozhraní na místě implementace nebo na místě použití?
Vytvořil jste architekturu od nuly, pracoval jste na návrhu systémů?
Povězte mi o své zkušenosti s PostgreSQL: navrhoval jste schémata, optimalizoval dotazy, spravoval?