Java
7. Está a testar o formulário de adição de novos produtos no painel de administração. Cria um novo produto, clica no botão Guardar e vê uma tela branca vazia. Descreva as suas ações seguintes.
```java import java.util.*; import java.lang.*; import java.io.*; class Codechef { public static void main (String[] args) throws java.lang.Exception { var autoNumbers = List.of(List.of("A123BC", "B421FT"), List.of("O543EC","B421FT", "I222OA")); autoNumbers.stream().flatMap(Collection::stream).forEach(System.out::println); Map<String, String> numberMap = autoNumbers.stream().flatMap(Collection::stream).collect(Collectors.toMap( n -> n, n -> n.replaceAll("[^0-9]", ""))); System.out.println(numberMap); } }
Fale sobre a memória JVM: do que ela é composta e como ela é limpa.
Compare o desempenho dos seguintes trechos de código que copiam elementos de um array de Integer para um array de int e vice-versa, incluindo o caso em que novos objetos Integer são criados a partir de valores int: ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { x[i] = y[i]; } } ``` ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = x[i]; } } ``` ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = new Integer(x[i]); } } ``` Analise e explique as diferenças de desempenho e comportamento entre essas abordagens.
Como é a sua relação com o Linux ao nível da linha de comando? Já enfrentou problemas, por exemplo, quando uma porta está ocupada?
Qual coleção usar para os 10 produtos mais caros em tempo real com suporte para lista ordenada?
Implemente um cache LRU com substituição de valores antigos (implementação básica)
Em que ordem colocar os blocos catch (por exemplo, FileNotFoundException e IOException)?
Tem alguma experiência de trabalho com domínios de fintech — pagamentos, finanças, faturação, integração?
Conte a hierarquia de exceções em Java
Quando deve aplicar o princípio de Inversão de Dependências e quando não (relação com YAGNI)
[nome] perguntou: conte-me sobre você e seu último projeto relacionado com finanças
Tarefa Dado: CREATE TABLE profile ( id BIGSERIAL PRIMARY KEY, nickname VARCHAR, registered_at TIMESTAMP ); CREATE TABLE post ( id BIGSERIAL PRIMARY KEY, owner_id BIGINT REFERENCES profile (id), body TEXT, inserted_at TIMESTAMP, likes_count INT -- número de gostos ); CREATE TABLE subscription_count ( profile_id BIGINT REFERENCES profile (id) UNIQUE, followers_count INT, -- número de seguidores following_count INT -- número de seguidos ); Requerido: select p.id, sc.followers_count from post p join subscription_count sc on sc.profile_id = p.owner_id where sc.followers_count > 500 -- Índice: create index on post (owner_id) -- Consulta: select * from post where likes_count > ? AND owner_id = ?;
Que escopos existem no Spring? O que é o escopo singleton?
Fale sobre o teorema CAP. O que é e para que serve?
Qual é o principal problema desta implementação - Uso ineficiente do grupo fixo de threads - Problemas com a interação de recursos partilhados - Inclusão incorreta de bloqueio pode levar a uma situação de impasse. - Nível de sincronização incorreto - Não há verificações de todos os threads antes do resultado - Não há construtor explícito Código: import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; class RecyclingBinCounter { private int binCount; private final ReentrantLock lock = new ReentrantLock(); public void incrementBins() { lock.lock(); try { binCount++; } finally { lock.unlock(); } } public int getBinCount() { return binCount; } } class RecyclingManager { public static void main(String[] args) { RecyclingBinCounter counter = new RecyclingBinCounter(); ExecutorService service = Executors.newFixedThreadPool(3); for (int i = 0; i < 3; i++) { service.submit(() -> { for (int j = 0; j < 1000; j++) { counter.incrementBins(); } }); } service.shutdown(); while(!service.isTerminated()) {} System.out.println("Total bins collected: " + counter.getBinCount()); } }
O que torna um processo verdadeiramente Ágil, e não apenas reuniões frequentes?
Como é que os dados chegavam ao seu sistema analítico de outros serviços?
Como foi configurado o Kafka para lidar com um grande fluxo de eventos? Um tópico com partições ou muitos tópicos?
Por que o ExecutorService é popular? Qual é a sua vantagem em relação à criação direta de threads?