Sobes.tech

Μίλησε για το sharding βάσεων δεδομένων

Senior
СБЕРСБЕР
70

// κράτηση(θέση_id, χρήστης_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("Η θέση δεν είναι διαθέσιμη") 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
68

Χρησιμοποιήθηκαν συναλλαγές Kafka (ακριβώς μια φορά σημασιολογία);

Senior
СБЕРСБЕР
68

Πώς λειτουργεί ο μηχανισμός Dirty Checking στο Hibernate;

Senior
СБЕРСБЕР
67

Έχεις χρησιμοποιήσει HQL, Native Query, JDBC απευθείας; Batching στο Hibernate;

Senior
СБЕРСБЕР
66

Γιατί ο βελτιστοποιητής ερωτημάτων του Postgres μπορεί να χρησιμοποιεί Seq Scan σε παραγωγή, αλλά Index Scan σε dev/ft με τους ίδιους δείκτες;

Senior
СБЕРСБЕР
65

Μίλησε για τον αισιόδοξο και τον απαισιόδοξο αποκλεισμό, πότε τους εφαρμόζεις;

Senior
СБЕРСБЕР
61

Μίλησε για την παρακολούθηση και τα μετρικά στο έργο (Prometheus, Grafana)

Senior
СБЕРСБЕР
61

Μίλησέ μου για τα επίπεδα απομόνωσης των συναλλαγών

Senior
СБЕРСБЕР
59

Πώς λύνετε το πρόβλημα ανταγωνιστικής ενημέρωσης μιας οντότητας από δύο Kafka-topics (ένα topic αντικαθιστά τις αλλαγές του άλλου);

Senior
СБЕРСБЕР
59

Τι κάνει το VACUUM στο PostgreSQL και γιατί εμφανίζονται νεκρές γραμμές;

Senior
СБЕРСБЕР
59

Μίλησε για διαχωρισμό σε PostgreSQL

Senior
СБЕРСБЕР
55

Πώς να ελέγξετε το φορτίο στα χερούλια (περιορισμός ρυθμού);

Senior
СБЕРСБЕР
55

/* ΕΠΙΛΟΓΗ αριστερά.K, αριστερά.V1, δεξιά.V2 ΑΠΟ αριστερά JOIN δεξιά ON αριστερά.K = δεξιά.K; */ public <K extends Comparable<K>, V1, V2> List<Triple<K, V1, V2>> join(List<Pair<K, V1>> αριστερά, List<Pair<K, V2>> δεξιά) { return null; } private static class Pair<A, B> { private A πρώτο; private B δεύτερο; Pair(A πρώτο, B δεύτερο) { this.πρώτο = πρώτο; this.δεύτερο = δεύτερο; } } private static class Triple<A, B, C> { private A πρώτο; private B δεύτερο; private C τρίτο; Triple(A πρώτο, B δεύτερο, C τρίτο) { this.πρώτο = πρώτο; this.δεύτερο = δεύτερο; this.τρίτο = τρίτο; } }

Senior
2gis2gis
52

Ξέρεις τι είναι το Service Mesh στο Kubernetes;

Senior
СБЕРСБЕР
49

Ποιο ήταν το φορτίο στις υπηρεσίες; Ποιες βελτιστοποιήσεις εφαρμόστηκαν;

Senior
СБЕРСБЕР
47

Πες μου για τον εαυτό σου και την εργασιακή σου εμπειρία

Senior
СБЕРСБЕР
42

Έχεις χρησιμοποιήσει Kotlin; Έχεις εμπειρία;

Senior
СБЕРСБЕР
41

/*Δεδομένης μιας συμβολοσειράς, πρέπει να υλοποιηθεί μια λειτουργία για τον έλεγχο της ορθότητας της ένδειξης των παρενθέσεων. Κάθε ανοιχτή παρένθεση πρέπει να έχει μια αντίστοιχη κλειστή παρένθεση. Οι ανοιχτές και κλειστές παρενθέσεις πρέπει να βρίσκονται σε σωστή σειρά. Τύποι παρενθέσεων: "{", "}", "(", ")", "[", "]". Είσοδος: "([]){}[(()())()]" Αποτέλεσμα: true Είσοδος: "[(])" Αποτέλεσμα: false Επειδή οι παρενθέσεις 2 και 3 δηλώνονται λανθασμένα, το κλείσιμο ']' εμφανίζεται πριν από το κλείσιμο '(' */ 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
37
/7