Sobes.tech

Kotlin

De ce optimizerul de interogări Postgres poate folosi Seq Scan în producție, dar Index Scan în dev/ft cu aceleași indecși?

Senior
СБЕРСБЕР
63

Cum se rezolvă problema actualizării concurente a unei entități din două topicuri Kafka (un topic suprascrie modificările celuilalt)?

Senior
СБЕРСБЕР
58

Ce face VACUUM în PostgreSQL și de ce apar rânduri moarte?

Senior
СБЕРСБЕР
58

Vorbește despre monitorizare și metrici în proiect (Prometheus, Grafana)

Senior
СБЕРСБЕР
58

Ai folosit HQL, interogare nativă, JDBC direct? Batch în Hibernate?

Senior
СБЕРСБЕР
57

Au fost utilizate tranzacții Kafka (semantica exact o dată)?

Senior
СБЕРСБЕР
57

Explică replicarea în PostgreSQL: master-slave, ce se întâmplă în cazul unei defecțiuni a replicii

Senior
СБЕРСБЕР
55

Spune-mi mai multe despre serviciul de facturare: ce s-a stocat, cum au interacționat cu contractorul?

Senior
СБЕРСБЕР
52

// rezervare(scaun_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("Locul nu este disponibil") 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
48

Vorbește despre partiționare în PostgreSQL

Senior
СБЕРСБЕР
43

Vorbește despre blocarea optimistă și pesimistă, când să le aplici?

Senior
СБЕРСБЕР
43

/* SELECTARE stânga.K, stânga.V1, dreapta.V2 DIN stânga JOIN dreapta ON stânga.K = dreapta.K; */ public <K extends Comparable<K>, V1, V2> List<Triple<K, V1, V2>> join(List<Pair<K, V1>> stanga, List<Pair<K, V2>> dreapta) { return null; } private static class Pair<A, B> { private A primul; private B al doilea; Pair(A primul, B al doilea) { this.primul = primul; this.al doilea = al doilea; } } private static class Triple<A, B, C> { private A primul; private B al doilea; private C al treilea; Triple(A primul, B al doilea, C al treilea) { this.primul = primul; this.al doilea = al doilea; this.al treilea = al treilea; } }

Senior
2gis2gis
43

Știi ce este Service Mesh în Kubernetes?

Senior
СБЕРСБЕР
42

Vorbește despre nivelurile de izolare ale tranzacțiilor

Senior
СБЕРСБЕР
42

Care a fost încărcătura pe servicii? Ce optimizări au fost aplicate?

Senior
СБЕРСБЕР
41

Spuneți-mi despre dvs. și experiența dvs. profesională

Senior
СБЕРСБЕР
33

Cum să controlezi încărcarea pe mânere (limitarea ratei)?

Senior
СБЕРСБЕР
33

Ai folosit Kotlin? Ai experiență?

Senior
СБЕРСБЕР
32

/*Dat fiind un șir, este necesar să implementați o funcție pentru a verifica corectitudinea indicării parantezelor. Fiecare paranteză deschisă trebuie să aibă o paranteză închisă corespunzătoare. Parantezele deschise și cele închise trebuie să fie în ordinea corectă. Tipuri de paranteze: "{", "}", "(", ")", "[", "]". Intrare: "([]){}[(()())()]" Rezultat: true Intrare: "[(])" Rezultat: false Pentru că parantezele 2 și 3 sunt indicate incorect, închizătoarea ']' apare înaintea închizătoarei '(' */ 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
32
/7