Са којим базама података сте радили и на којем нивоу? Више детаља о PostgreSQL, Redis, ClickHouse.
Golang
Kako u Go-ju vratiti objekat tipa error bez korišćenja paketa errors iz standardne biblioteke?
Дизајнирајте SQL шему за банкарски систем са табелама рачуна и трансакција. Која ограничења и индекси су потребни?
Šta se dešava nakon što ukucate google.com u pretraživač i pritisnete Enter? Opisati ceo proces i učesnike.
Објасните структуру ограничивача брзине и функцију Allow. Који се параметри конфигурације користе и зашто?
Gde i kako pokrenuti funkciju cleanup? Kako preneti kontekst u rate limiter?
Koja je razlika između TCP i UDP? Gde se svaki od njih koristi?
Ispravite implementaciju cleanup koristeći običnu for petlju umesto range. Objasnite završnu logiku čišćenja.
Da li postoji mikroservis za oduzimanje sredstava sa računa korisnika? Prilikom replikacije servisa javlja se problem race condition. Kako rešiti ovaj problem?
Objasnite vašu implementaciju funkcije Allow nakon ispravki. Kako se obrađuje slučaj prvog zahteva korisnika?
Po kom protokolu se izvršava DNS upit? Da li je to jedini mogući protokol?
Kako izbeći problem sa floating point brojevima bez korišćenja NUMERIC? Koji je alternativni pristup sa tipom INT?
Predložite model statusa za transakcije u obradi plaćanja. Kako funkcioniše povraćaj novca?
Zašto je mutex potreban u limitatoru brzine? Može li se problem rešiti bez mutex-a, koristeći sync.Map?
Може ли гарантовати испоруку података преко UDP?
Објасните процес плаћања банкарском картицом преко терминала: који учесници су укључени и како се одвија интеракција између њих?
Kako organizovati background goroutine za periodično čišćenje zastarelih podataka iz bucket-ova?
Zašto ste odabrali tip NUMERIC(18,2) za amount? Koje alternative postoje i u čemu je problem sa DOUBLE PRECISION?
Šta je indeks u PostgreSQL-u? Kako ste radili sa indeksima i na osnovu čega ste doneli odluku o njihovom kreiranju?
Implementirajte logiku funkcije Allow za limiter brzine. Kako ćete pratiti događaje i proveravati limite?