Sobes.tech

Kotlin

Fale sobre si e a sua experiência de trabalho

Senior
СБЕРСБЕР
92

Qual foi a carga nos serviços? Quais otimizações foram aplicadas?

Senior
СБЕРСБЕР
89

// reservar(sit_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("Assento não disponível") 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
87

Por que no Map a chave é o parêntese de fechamento e o valor o de abertura? O que mudaria se invertêssemos? Qual é a complexidade de containsValue versus get por chave?

Senior
2gis2gis
87

Fala sobre particionamento no PostgreSQL

Senior
СБЕРСБЕР
87

O que faz o VACUUM no PostgreSQL e por que aparecem linhas mortas?

Senior
СБЕРСБЕР
86

Fale sobre replicação no PostgreSQL: master-slave, o que acontece em caso de falha da réplica

Senior
СБЕРСБЕР
84

Foram utilizadas transações Kafka (semântica exatamente uma vez)?

Senior
СБЕРСБЕР
82

Usaste HQL, consulta nativa, JDBC diretamente? Batch em Hibernate?

Senior
СБЕРСБЕР
79

Fale mais sobre o serviço de faturação: o que era armazenado, como interagiam com o contratante?

Senior
СБЕРСБЕР
79

Fala sobre bloqueios otimistas e pessimistas, quando usá-los?

Senior
СБЕРСБЕР
74

Fale sobre os níveis de isolamento de transações

Senior
СБЕРСБЕР
74

Como funciona o mecanismo de Verificação de Sujidade no Hibernate?

Senior
СБЕРСБЕР
74

Por que o otimizador de consultas do Postgres pode usar Seq Scan em produção, mas Index Scan em dev/ft com os mesmos índices?

Senior
СБЕРСБЕР
72

Fale sobre monitoramento e métricas no projeto (Prometheus, Grafana)

Senior
СБЕРСБЕР
68

Sabes o que é Service Mesh no Kubernetes?

Senior
СБЕРСБЕР
66

/* SELECIONAR esquerda.K, esquerda.V1, direita.V2 DE esquerda JUNTE direita EM esquerda.K = direita.K; */ public <K extends Comparable<K>, V1, V2> List<Triple<K, V1, V2>> join(List<Pair<K, V1>> esquerda, List<Pair<K, V2>> direita) { return null; } private static class Pair<A, B> { private A primeiro; private B segundo; Pair(A primeiro, B segundo) { this.primeiro = primeiro; this.segundo = segundo; } } private static class Triple<A, B, C> { private A primeiro; private B segundo; private C terceiro; Triple(A primeiro, B segundo, C terceiro) { this.primeiro = primeiro; this.segundo = segundo; this.terceiro = terceiro; } }

Senior
2gis2gis
64

Já usaste Kotlin? Tens experiência?

Senior
СБЕРСБЕР
63

/*Dada uma string, é necessário implementar uma função para verificar a correção na indicação de parênteses. Cada parêntese aberto deve corresponder a um parêntese fechado. Os parênteses abertos e fechados devem estar na ordem correta. Tipos de parênteses: "{", "}", "(", ")", "[", "]". Entrada: "([]){}[(()())()]" Resultado: true Entrada: "[(])" Resultado: false Porque os parênteses 2 e 3 estão indicados incorretamente, a fechadura ']' aparece antes da fechadura '(' */ 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
52
/7