Je možné explicitne alokovať premennú na zásobníku alebo na halde? Ako pochopiť, kde bola premenná alokovaná?
Golang
Ako bol implementovaný vzorec Outbox? Aký nástroj posielal z tabuľky outbox do Kafka?
Aký je rozdiel medzi VACUUM a VACUUM FULL?
Prečo Kafka a nie iné systémy?
Ako vopred posúdiť účinnosť a užitočnosť indexu pred jeho pridelením do produkcie?
Aký transportný protokol používa gRPC? V čom je rozdiel medzi HTTP/2 a HTTP/1.1?
Čo sa deje v PostgreSQL, keď sa vykoná dopyt DELETE FROM table bez podmienok?
Aké informácie ukazuje EXPLAIN ANALYZE?
Čo sa stane, ak zatvoríte už zatvorený kanál? Čo sa stane, ak napíšete do nil kanála?
Aký je rozdiel medzi SSL a TLS?
V čom sa líšia dátové typy int32, int64 a jednoduché int?
Čo je to mapa v Go? Ako je usporiadaná zvnútra? Čo sa stane pri kolízii?
Čo je Rate Limiting? Aké algoritmy existujú?
Povedaj o zaujímavej úlohe, na ktorú si hrdý, nejakých skúsenostiach, ťažkostiach.
Čo je to pesimistické blokovanie?
Čo je princíp trvanlivosti v ACID? Ako sa dosahuje v PostgreSQL?
// Pri aktualizácii objednávky musíme odoslať údaje o objednávke na niekoľko služieb (API tretích strán) // počet služieb rastie (môže byť tisíce+) // napísali sme kód, na začiatku všetko fungovalo dobre, ale časom naša služba začala spotrebovávať veľa pamäte func (s *orderService) SendOrder(ctx context.Context, hosts []string, order Order) { for i := 0; i < len(hosts); i++ { go func() { // Predstavme si, že je to dlhé sieťové volanie response, err := s.httpClient.Send(ctx, hosts[i], order) if err != nil { s.logger.Error(ctx, "neúspešné odoslanie", err) return } s.logger.Info(ctx, "úspešné", response) }() } }
Čo sú to kanály v Go? Aké existujú? Ako sú štruktúrované pod kapotou?
Ako bolo implementované cacheovanie dát? Aká politika cacheovania bola použitá?
Aké spôsoby existujú na spojenie reťazcov v Go? Aký je rozdiel medzi + a strings.Builder?