Sobes.tech

Kotlin

Explique la réplication dans PostgreSQL : maître-esclave, ce qui se passe en cas de défaillance de la réplica

Senior
СБЕРСБЕР
69

Comment fonctionne le mécanisme de Dirty Checking dans Hibernate?

Senior
СБЕРСБЕР
67

Pourquoi l'optimiseur de requêtes Postgres peut-il utiliser un Seq Scan en production, mais un Index Scan en dev/ft avec les mêmes index ?

Senior
СБЕРСБЕР
65

As-tu utilisé HQL, requêtes natives, JDBC directement ? Batching dans Hibernate ?

Senior
СБЕРСБЕР
63

// réserver(seat_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("Le siège n'est pas disponible") 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
62

Des transactions Kafka ont-elles été utilisées (sémantique exactement une fois) ?

Senior
СБЕРСБЕР
62

Parlez de la surveillance et des métriques dans le projet (Prometheus, Grafana)

Senior
СБЕРСБЕР
60

Comment résoudre le problème de mise à jour concurrente d'une entité à partir de deux topics Kafka (un topic écrase les modifications de l'autre) ?

Senior
СБЕРСБЕР
58

Que fait VACUUM dans PostgreSQL et pourquoi des lignes mortes apparaissent-elles?

Senior
СБЕРСБЕР
58

Parlez du partitionnement dans PostgreSQL

Senior
СБЕРСБЕР
52

Parlez-moi des niveaux d'isolation des transactions

Senior
СБЕРСБЕР
51

Parlez-moi des verrouillages optimistes et pessimistes, quand les utiliser?

Senior
СБЕРСБЕР
50

/* SÉLECTIONNER gauche.K, gauche.V1, droite.V2 DE gauche JOINDRE droite SUR gauche.K = droite.K; */ public <K extends Comparable<K>, V1, V2> List<Triple<K, V1, V2>> join(List<Pair<K, V1>> gauche, List<Pair<K, V2>> droite) { return null; } private static class Pair<A, B> { private A premier; private B deuxieme; Pair(A premier, B deuxieme) { this.premier = premier; this.deuxieme = deuxieme; } } private static class Triple<A, B, C> { private A premier; private B deuxieme; private C troisieme; Triple(A premier, B deuxieme, C troisieme) { this.premier = premier; this.deuxieme = deuxieme; this.troisieme = troisieme; } }

Senior
2gis2gis
49

Connais-tu ce qu'est Service Mesh dans Kubernetes?

Senior
СБЕРСБЕР
47

Comment contrôler la charge sur les poignées (limitation de débit) ?

Senior
СБЕРСБЕР
45

Quelle était la charge sur les services ? Quelles optimisations ont été appliquées ?

Senior
СБЕРСБЕР
43

Parlez-moi de vous et de votre expérience professionnelle

Senior
СБЕРСБЕР
38

As-tu utilisé Kotlin ? As-tu de l'expérience ?

Senior
СБЕРСБЕР
37

/*Étant donné une chaîne, il est nécessaire d'implémenter une fonction pour vérifier la correction de l'indication des parenthèses. Chaque parenthèse ouvrante doit correspondre à une parenthèse fermante. Les parenthèses ouvrantes et fermantes doivent être dans le bon ordre. Types de parenthèses : "{", "}", "(", ")", "[", "]". Entrée : "([]){}[(()())()]" Résultat : true Entrée : "[(])" Résultat : false Parce que les parenthèses 2 et 3 sont indiquées incorrectement, la fermeture ']' apparaît avant la fermeture '(' */ 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
36
/7