Milyen adatbázisokkal dolgozott és milyen szinten? További részletek a PostgreSQL, Redis, ClickHouse-ról.
Golang
Hogyan adhatunk vissza error típusú objektumot Go-ban anélkül, hogy a standard könyvtár errors csomagját használnánk?
Tervezzen SQL sémát egy banki rendszerhez, amelyben vannak számlák és tranzakciók táblák. Milyen korlátozások és indexek szükségesek?
Mi történik, miután beírta a google.com-ot a böngészőbe és megnyomta az Entert? Írja le az egész folyamatot és a résztvevőket.
Magyarázza el a rate limiter szerkezetét és az Allow funkciót. Milyen konfigurációs paramétereket használnak és mire valók?
Mi a különbség a TCP és az UDP között? Hol alkalmazzák őket?
Hol és hogyan indítsuk el a cleanup funkciót? Hogyan adjuk át a kontextust a rate limiternek?
Javítsa ki a cleanup megvalósítását egy normál for ciklus használatával a range helyett. Magyarázza el a végső tisztítási logikát.
Létezik egy mikroszolgáltatás a felhasználó egyenlegéből történő pénzlevonásra? Amikor a szolgáltatást replikálják, race condition probléma lép fel. Hogyan lehet ezt a problémát megoldani?
Magyarázza el az Allow függvény végrehajtását a javítások után. Hogyan kezeljük az első kérés esetét a felhasználótól?
Milyen protokollal történik a DNS-kérés? Ez az egyetlen lehetséges protokoll?
Hogyan lehet elkerülni a lebegőpontos problémát NUMERIC használata nélkül? Milyen alternatív megközelítés van az INT típussal?
Javasolja az állapotmodelljét a fizetési tranzakciókhoz. Hogyan működik a visszatérítés?
Miért szükséges mutex a rate limiterben? Meg lehet oldani a problémát mutex nélkül, a sync.Map használatával?
Lehet-e garantálni az UDP-n keresztüli adatátvitelt?
Magyarázza el a bankkártyás fizetési folyamatot a terminálon keresztül: kik vesznek részt benne, és hogyan zajlik közöttük az interakció?
Miért a NUMERIC(18,2) típust választotta az amount-hoz? Milyen alternatívák léteznek, és mi a probléma a DOUBLE PRECISION-nel?
Hogyan szervezne egy háttér goroutine-t az elavult adatok időszakos törlésére a bucket-ekből?
Mi az index a PostgreSQL-ben? Hogyan dolgoztál indexekkel, és milyen alapokra döntöttél az index létrehozásáról?
Valósítsa meg az Allow függvény logikáját a rate limiterhez. Hogyan fogja nyomon követni az eseményeket és ellenőrizni a limiteket?