Golang
Navrhněte systém šachové aplikace: matchmaking, vytváření herních relací a zaznamenávání výsledků hry. Uveďte služby, jejich interakci a datové úložiště.
Představme si, že náš mikroservis musí přistupovat k externímu API, například platební bráně, ale najednou začne velmi zpomalovat nebo úplně selhává. Jak obvykle chráníš svou aplikaci před takovými sousedy, aby nespadl celý náš servis?
Co je to replikace, sharding a partitioning?
typ Sem rozhraní { Lock() error //vrací chybu, pokud je kanál plný TryLock() bool // jednoduše se pokusíme uzamknout, pokud se to podaří, vrátí true Release() //uvolnění kanálu Cap() int // počet pracovních gorutin FreeSpace() int //ukazuje, kolik je volného místa v kanálu } //struktura //channel - přemýšlet o bufferu //capacity int //mutex
Co je to idempotence v požadavcích na službu?
Pověz mi o sobě, o své zkušenosti, jak jsi si vybral IT směr a vývoj, proč právě Go, jak jsi postupoval na kariérním žebříčku?
/** :-))) :-(( "ab :-)" = "ab " "ab :-)))" = "ab " "ab :-)))(" = "ab (" "ab ):-)" = "ab )" ":-)" = "" **/ func deleteP(str string) string { }
Lze standardizovat zpracování chyb?
Co je to inode v Linuxu?
Jaké garantované doručení nabízí Kafka? Co je třeba udělat na producentovi, aby bylo zajištěno exactly-once?
Co mohu dělat s novým bazénem? Mohu přidávat úkoly po začátku?
Ovlivňuje velikost bufferu kanálu něco v worker poolu?
Jakým příkazem v Git lze získat aktualizace z vzdáleného repozitáře, aniž by se sloučily s aktuální větví?
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(advertiserID) 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 }
Jak nasadili novou službu do produkce? Jaké byly potíže při přesunu?
Jaké objemy dat byly přeneseny do ClickHouse pro analytiky?
Jaké problémy mohou nastat při používání triggerů?
Kdy index nepomůže nebo dokonce uškodí?
Co te teď hledáš pro sebe, proč chceš změnit společnost/projekt/produkt?
Jak lze spravovat gorutiny a běží všechny na jednom vlákně?