Kotlin
Cosa fa VACUUM in PostgreSQL e perché compaiono righe morte?
Hai usato HQL, query native, JDBC direttamente? Batch in Hibernate?
Come risolvere il problema dell'aggiornamento concorrente di un'entità da due topic Kafka (un topic sovrascrive le modifiche dell'altro)?
Come funziona il meccanismo di Dirty Checking in Hibernate?
Sono state utilizzate transazioni Kafka (semantica esattamente una volta)?
Parla di monitoraggio e metriche nel progetto (Prometheus, Grafana)
Spiega la replica in PostgreSQL: master-slave, cosa succede in caso di fallimento della replica
Parlami più dettagliatamente del servizio di fatturazione: cosa veniva memorizzato, come interagivano con il contraente?
// prenotazione(sedile_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("Posto non disponibile") 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()
/* SELEZIONA sinistra.K, sinistra.V1, destra.V2 DA sinistra JOIN destra ON sinistra.K = destra.K; */ public <K extends Comparable<K>, V1, V2> List<Triple<K, V1, V2>> join(List<Pair<K, V1>> sinistra, List<Pair<K, V2>> destra) { return null; } private static class Pair<A, B> { private A primo; private B secondo; Pair(A primo, B secondo) { this.primo = primo; this.secondo = secondo; } } private static class Triple<A, B, C> { private A primo; private B secondo; private C terzo; Triple(A primo, B secondo, C terzo) { this.primo = primo; this.secondo = secondo; this.terzo = terzo; } }
Sai cos'è Service Mesh in Kubernetes?
Parla della partizionamento in PostgreSQL
Qual è stato il carico sui servizi? Quali ottimizzazioni sono state applicate?
Parla delle blocchi ottimisti e pessimisti, quando usarli?
Parla dei livelli di isolamento delle transazioni
Come controllare il carico sui manici (limitazione della velocità)?
Parlami di te e della tua esperienza lavorativa
/*Dato una stringa, è necessario implementare una funzione per verificare la correttezza dell'indicazione delle parentesi. Ogni parentesi aperta deve corrispondere a una parentesi chiusa. Le parentesi aperte e chiuse devono essere in ordine corretto. Tipi di parentesi: "{", "}", "(", ")", "[", "]". Input: "([]){}[(()())()]" Risultato: true Input: "[(])" Risultato: false Perché le parentesi 2 e 3 sono indicate in modo errato, la chiusura ']' si presenta prima della chiusura '(' */ 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(); }
Hai usato Kotlin? Hai esperienza?