Kotlin
Beszélj a partícionálásról a PostgreSQL-ben
Hogyan oldja meg két Kafka-topikból származó egy entitás versengő frissítési problémáját (egy topik felülírja a másik változásait)?
Meséljen magáról és munkatapasztalatáról
Magyarázd el a replikációt PostgreSQL-ben: master-slave, mi történik a replikával, ha meghibásodik
Milyen volt a terhelés a szolgáltatásokon? Milyen optimalizációkat alkalmaztak?
// foglalás(hely_id, felhasználó_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("A hely nem elérhető") 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()
Mesélj többet a számlázási szolgáltatásról: mit tároltak, hogyan működtek együtt a vállalkozóval?
Használtak Kafka tranzakciókat (pontosan egyszeri szemantikával)?
Használtad-e közvetlenül az HQL-t, Native Query-t, JDBC-t? Batchelés Hibernate-ben?
Mit csinál a VACUUM a PostgreSQL-ben, és miért jelennek meg halott sorok?
Hogyan működik a Dirty Checking mechanizmus a Hibernate-ben?
Mesélj a tranzakciók izolációs szintjeiről
Miért használhat a Postgres lekérdezés-optimizáló Seq Scan-t a production környezetben, de Index Scan-t a dev/ft környezetben ugyanazokkal az indexekkel?
Mesélj az optimista és pesszimista zárolásról, mikor alkalmazzuk őket?
Beszélj a projekt monitorozásáról és metrikáiról (Prometheus, Grafana)
/* KIVÁLASZTÁS bal.K, bal.V1, jobb.V2 BÓL bal JOIN jobb ON bal.K = jobb.K; */ public <K extends Comparable<K>, V1, V2> List<Triple<K, V1, V2>> join(List<Pair<K, V1>> bal, List<Pair<K, V2>> jobb) { return null; } private static class Pair<A, B> { private A első; private B második; Pair(A első, B második) { this.első = első; this.második = második; } } private static class Triple<A, B, C> { private A első; private B második; private C harmadik; Triple(A első, B második, C harmadik) { this.első = első; this.második = második; this.harmadik = harmadik; } }
Használtad a Kotlin-t? Van tapasztalatod?
Tudod, mi az a Service Mesh a Kubernetes-ben?
/*Adott egy karakterlánc, és implementálni kell egy függvényt a zárójelek helyességének ellenőrzésére. Minden nyitó zárójelnek meg kell felelnie egy záró zárójellel. A nyitó és záró zárójelek helyes sorrendben kell, hogy legyenek. Zárójelek típusai: "{", "}", "(", ")", "[", "]". Bemenet: "([]){}[(()())()]" Eredmény: igaz Bemenet: "[(])" Eredmény: hamis Mert a 2. és 3. zárójelet helytelenül adták meg, a záró ']' korábban jelenik meg, mint a záró '(' */ 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(); }