Kotlin
Verilənlər bazalarının sharding-i haqqında danış
Hibernate-də Dirty Checking mexanizmi necə işləyir?
Postgres sorğu optimizatoru niyə eyni indekslərlə prod/ft-də Seq Scan istifadə edə bilər, amma dev/ft-də Index Scan?
HQL, Native Query, JDBC-ni birbaşa istifadə etdinizmi? Hibernate-də batching?
// bronlama(kreslo_id, istifadeci_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("Kreslo mövcud deyil") 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()
Kafka əməliyyatları istifadə olundu mu (dəqiq bir dəfə semantika)?
Layihədə monitorinq və metrikalar haqqında danış (Prometheus, Grafana)
İki Kafka mövzusu arasındakı bir varlığın mübarizə ilə yenilənməsi problemini necə həll edirsiniz (bir mövzu digərinin dəyişikliklərini üstələyirmi)?
PostgreSQL-də VACUUM nə edir və niyə ölü sətirlər yaranır?
PostgreSQL-də bölmələmə haqqında danış
Optimist və pessimist kilidləmə haqqında danış, onları nə zaman tətbiq etmək lazımdır?
Əməliyyatların izolasiya səviyyələri haqqında danış
/* SEÇİM sol.K, sol.V1, sağ.V2 FROM sol JOIN sağ ON sol.K = sağ.K; */ public <K extends Comparable<K>, V1, V2> List<Triple<K, V1, V2>> join(List<Pair<K, V1>> sol, List<Pair<K, V2>> sağ) { return null; } private static class Pair<A, B> { private A ilk; private B ikinci; Pair(A ilk, B ikinci) { this.ilk = ilk; this.ikinci = ikinci; } } private static class Triple<A, B, C> { private A ilk; private B ikinci; private C uc; Triple(A ilk, B ikinci, C uc) { this.ilk = ilk; this.ikinci = ikinci; this.uc = uc; } }
Kubernetes-də Service Mesh-in nə olduğunu bilirsinizmi?
Qoltuqlardakı yükü necə idarə etmək olar (nisbət məhdudiyyəti)?
Xidmətlərdə yük nə idi? Hansı optimizasiyalar tətbiq olundu?
Özünüz və iş təcrübəniz haqqında danışın
Kotlin istifadə etmisinizmi? Təcrübəniz varmı?
/*Verilmiş bir sətir üçün, möhkəm parantez göstəricisinin düzgünlüyünü yoxlamaq üçün funksiya həyata keçirilməlidir. Hər açılan möhkəm parantez müvafiq bağlanan parantezə uyğun olmalıdır. Açılan və bağlanan parantezlər düzgün ardıcıllıqla olmalıdır. Parantez növləri: "{", "}", "(", ")", "[", "]". Daxil edilən: "([]){}[(()())()]" Nəticə: true Daxil edilən: "[(])" Nəticə: false Çünki 2 və 3-cü parantezlər yanlış göstərilib, bağlanan ']' əvvəlcə bağlanan '(' ilə qarşılaşı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(); }