Sobes.tech

Kotlin

Jak vyřešit problém konkurenční aktualizace jedné entity ze dvou Kafka témat (jedno téma přepisuje změny druhého)?

Senior
СБЕРСБЕР
57

Použil jsi HQL, nativní dotazy, JDBC přímo? Batching v Hibernate?

Senior
СБЕРСБЕР
56

Pověz o monitorování a metrikách v projektu (Prometheus, Grafana)

Senior
СБЕРСБЕР
56

Byly použity transakce Kafka (semantika přesně jednou)?

Senior
СБЕРСБЕР
55

Pověz o shardování databází

Senior
СБЕРСБЕР
54

Jak funguje mechanismus Dirty Checking v Hibernate?

Senior
СБЕРСБЕР
54

Vysvětli replikaci v PostgreSQL: master-slave, co se stane při selhání repliky

Senior
СБЕРСБЕР
53

Řekni mi víc o službě fakturace: co se ukládalo, jak komunikovali s dodavatelem?

Senior
СБЕРСБЕР
50

// rezervace(sedadlo_id, uzivatel_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("Sedadlo není dostupné") 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

Víš, co je Service Mesh v Kubernetes?

Senior
СБЕРСБЕР
41

/* VÝBĚR vlevo.K, vlevo.V1, vpravo.V2 Z vlevo JOIN vpravo ON vlevo.K = vpravo.K; */ public <K extends Comparable<K>, V1, V2> List<Triple<K, V1, V2>> join(List<Pair<K, V1>> vlevo, List<Pair<K, V2>> vpravo) { return null; } private static class Pair<A, B> { private A první; private B druhý; Pair(A první, B druhý) { this.první = první; this.druhý = druhý; } } private static class Triple<A, B, C> { private A první; private B druhý; private C třetí; Triple(A první, B druhý, C třetí) { this.první = první; this.druhý = druhý; this.třetí = třetí; } }

Senior
2gis2gis
41

Pověz o partitioningu v PostgreSQL

Senior
СБЕРСБЕР
40

Pověz mi o úrovních izolace transakcí

Senior
СБЕРСБЕР
40

Jaká byla zátěž na služby? Jaké optimalizace byly použity?

Senior
СБЕРСБЕР
40

Pověz mi o optimistických a pesimistických zámcích, kdy je používat?

Senior
СБЕРСБЕР
39

Povězte mi o sobě a své pracovní zkušenosti

Senior
СБЕРСБЕР
31

/*Dána je řetězec, je třeba implementovat funkci pro kontrolu správnosti označení závorek. Každá otevírací závorka musí odpovídat odpovídající uzavírací závorce. Otevírací a uzavírací závorky musí být ve správném pořadí. Typy závorek: "{", "}", "(", ")", "[", "]". Vstup: "([]){}[(()())()]" Výsledek: true Vstup: "[(])" Výsledek: false Protože závorky 2 a 3 jsou nesprávně uvedeny, uzavírací ']' se objevuje dříve než uzavírací '(' */ 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
30

Jak kontrolovat zatížení na rukojetích (omezení rychlosti)?

Senior
СБЕРСБЕР
30

Použil jsi Kotlin? Máš zkušenosti?

Senior
СБЕРСБЕР
29
/7