Sobes.tech

Kotlin

Jak rozwiązać problem konkurencyjnej aktualizacji jednej encji z dwóch tematów Kafka (jeden temat nadpisuje zmiany drugiego)?

Senior
СБЕРСБЕР
58

Co robi VACUUM w PostgreSQL i dlaczego pojawiają się martwe wiersze?

Senior
СБЕРСБЕР
58

Jak działa mechanizm Dirty Checking w Hibernate?

Senior
СБЕРСБЕР
58

Czy używałeś HQL, zapytań natywnych, JDBC bezpośrednio? Batchowanie w Hibernate?

Senior
СБЕРСБЕР
57

Opowiedz o monitorowaniu i metrykach w projekcie (Prometheus, Grafana)

Senior
СБЕРСБЕР
57

Czy użyto transakcji Kafka (semantyka dokładnie raz)?

Senior
СБЕРСБЕР
56

Opowiedz o replikacji w PostgreSQL: master-slave, co się dzieje w przypadku awarii repliki

Senior
СБЕРСБЕР
54

Opowiedz więcej o usłudze rozliczeniowej: co było przechowywane, jak współpracowali z wykonawcą?

Senior
СБЕРСБЕР
51

// rezerwacja(siedzenie_id, user_id) PostgreSQL Begin Transaction(read_commited) seat = select * from seats where id = seat_id for update if(seat == null || seat.status == "booked") rollback return error("Miejsce niedostępne") insert into bookings (user_id, seat_id, status, created_at) values (user_id, ...) update seats set status = 'booked' where id = seat_id commit return success()

Senior
2gis2gis
46

/* WYBIERZ lewy.K, lewy.V1, prawy.V2 Z lewy DOŁĄCZ prawy NA lewy.K = prawy.K; */ public <K extends Comparable<K>, V1, V2> List<Triple<K, V1, V2>> join(List<Pair<K, V1>> lewy, List<Pair<K, V2>> prawy) { return null; } private static class Pair<A, B> { private A pierwszy; private B drugi; Pair(A pierwszy, B drugi) { this.pierwszy = pierwszy; this.drugi = drugi; } } private static class Triple<A, B, C> { private A pierwszy; private B drugi; private C trzeci; Triple(A pierwszy, B drugi, C trzeci) { this.pierwszy = pierwszy; this.drugi = drugi; this.trzeci = trzeci; } }

Senior
2gis2gis
42

Czy wiesz, czym jest Service Mesh w Kubernetes?

Senior
СБЕРСБЕР
41

Opowiedz o partycjonowaniu w PostgreSQL

Senior
СБЕРСБЕР
41

Opowiedz o poziomach izolacji transakcji

Senior
СБЕРСБЕР
41

Jaki był obciążenie usług? Jakie optymalizacje zostały zastosowane?

Senior
СБЕРСБЕР
41

Opowiedz o blokadach optymistycznych i pesymistycznych, kiedy ich stosować?

Senior
СБЕРСБЕР
40

Opowiedz o sobie i swoim doświadczeniu zawodowym

Senior
СБЕРСБЕР
32

Jak kontrolować obciążenie na rękojeściach (limitowanie szybkości)?

Senior
СБЕРСБЕР
32

/*Dany jest ciąg znaków, konieczne jest zaimplementowanie funkcji do sprawdzania poprawności wskazania nawiasów. Każdy nawias otwierający musi mieć odpowiadający mu nawias zamykający. Nawiasy otwierające i zamykające muszą występować w poprawnej kolejności. Typy nawiasów: "{", "}", "(", ")", "[", "]". Input: "([]){}[(()())()]" Wynik: true Input: "[(])" Wynik: false Ponieważ nawiasy 2 i 3 są niepoprawnie wskazane, zamykający ']' pojawia się przed zamykającym '(' */ public boolean check(String s){ Deque<Character> stack = new ArrayDeque<>(); Map<Character, Character> map = Map.of( ')', '(', ']', '[', '}', '{' ); // ((( for( char c : s.toCharArray()){ if(map.containsValue(c)){ stack.push(c); } else if(map.containsKey(c)){ if( stack.isEmpty() || stack.pop() != map.get(c)){ return false; } } } return stack.isEmpty(); }

Senior
2gis2gis
31

Czy używałeś Kotlin? Masz doświadczenie?

Senior
СБЕРСБЕР
30
/7