Kotlin
Zašto optimizator upita Postgres može koristiti Seq Scan u produkciji, ali Index Scan u dev/ft sa istim indeksima?
Da li si koristio HQL, Native Query, JDBC direktno? Batching u Hibernate?
Објасни репликацију у PostgreSQL: master-slave, шта се дешава када реплика не успе
Ispričaj više o usluzi fakturisanja: šta se čuvalo, kako su komunicirali sa izvođačem?
Da li su korišćene Kafka transakcije (semantika tačno jednom)?
Реци о мониторингу и метрикам у пројекту (Prometheus, Grafana)
Kako rešiti problem konkurentnog ažuriranja jedne entiteta iz dva Kafka-topika (jedan topik prepisuje promene drugog)?
Šta radi VACUUM u PostgreSQL i zašto se pojavljuju mrtve linije?
// резервација(седиште_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()
Реци о партиционисању у PostgreSQL
/* IZBOR levo.K, levo.V1, desno.V2 IZ levo JOIN desno ON levo.K = desno.K; */ public <K extends Comparable<K>, V1, V2> List<Triple<K, V1, V2>> join(List<Pair<K, V1>> levo, List<Pair<K, V2>> desno) { return null; } private static class Pair<A, B> { private A prvi; private B drugi; Pair(A prvi, B drugi) { this.prvi = prvi; this.drugi = drugi; } } private static class Triple<A, B, C> { private A prvi; private B drugi; private C treći; Triple(A prvi, B drugi, C treći) { this.prvi = prvi; this.drugi = drugi; this.treći = treći; } }
Ispričaj mi o nivoima izolacije transakcija
Da li znaš šta je Service Mesh u Kubernetes-u?
Ispričaj o optimističnim i pesimističnim zaključavanjima, kada ih primjenjivati?
Koje je bilo opterećenje na uslugama? Koje su optimizacije primenjene?
Kako kontrolisati opterećenje na ručkama (ograničenje brzine)?
Ispričajte mi o sebi i svom radnom iskustvu
Da li si koristio Kotlin? Imaš li iskustva?
/*Дат је низ, потребно је имплементирати функцију за проверу исправности означавања заграда. Свака отворена заграда треба да има одговарајућу затворену заграду. Отворене и затворене заграде треба да буду у исправном реду. Типови заграда: "{", "}", "(", ")", "[", "]". Улаз: "([]){}[(()())()]" Резултат: 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(); }