Z jakimi bazami danych pracowałeś i na jakim poziomie? Więcej informacji o PostgreSQL, Redis, ClickHouse.
Golang
Jak zwrócić obiekt typu error w Go bez użycia pakietu errors z biblioteki standardowej?
Zaprojektuj schemat SQL dla systemu bankowego z tabelami kont i transakcji. Jakie ograniczenia i indeksy są potrzebne?
Co się dzieje po wpisaniu google.com w przeglądarkę i naciśnięciu Enter? Opisz cały proces i uczestników.
Wyjaśnij strukturę limitera szybkości i funkcję Allow. Jakie parametry konfiguracyjne są używane i do czego służą?
Jaka jest różnica między TCP a UDP? Gdzie jest stosowany każdy z nich?
Gdzie i jak uruchomić funkcję cleanup? Jak przekazać kontekst do rate limitera?
Czy istnieje mikroserwis do odliczania środków z salda użytkownika? Podczas replikacji usługi pojawia się problem race condition. Jak rozwiązać ten problem?
Wyjaśnij swoją implementację funkcji Allow po poprawkach. Jak obsługiwany jest przypadek pierwszego żądania użytkownika?
Popraw implementację cleanup, używając zwykłej pętli for zamiast range. Wyjaśnij końcową logikę czyszczenia.
Jakim protokołem jest wykonywane zapytanie DNS? Czy to jedyny możliwy protokół?
Jak można uniknąć problemu z punktami zmiennoprzecinkowymi bez użycia NUMERIC? Jaka jest alternatywna metoda z typem INT?
Zaproponuj model statusu dla transakcji w przetwarzaniu płatności. Jak działa zwrot pieniędzy?
Czy można zagwarantować dostarczenie danych przez UDP?
Po co jest mutex w limiterze szybkości? Czy można rozwiązać problem bez mutexa, używając sync.Map?
Wyjaśnij proces płatności kartą bankową przez terminal: jacy uczestnicy są zaangażowani i jak przebiega ich interakcja?
Dlaczego wybrałeś typ NUMERIC(18,2) dla amount? Jakie są alternatywy i jaki jest problem z DOUBLE PRECISION?
Jak zorganizować gorutynę w tle do okresowego czyszczenia nieaktualnych danych z bucketów?
Czym jest indeks w PostgreSQL? Jak pracowałeś z indeksami i na czym opierałeś decyzję o ich tworzeniu?
Zaimplementuj logikę funkcji Allow dla limitera szybkości. Jak będziesz śledzić zdarzenia i sprawdzać limity?