Sobes.tech

Java

O seu projeto implementa práticas de DevOps ou há uma equipa que se dedica à automação e integração dos processos de desenvolvimento e operação?

Junior — Middle
173

Que alterações na abordagem ou nas soluções você faria no último projeto realizado, sabendo o que sabe agora?

Junior — Middle
170

Escreva testes para o sistema de filtragem de notificações usando JUnit 5 e Mockito, cobrindo os principais cenários: entrada nula/vazia, notificação válida, bloqueio do remetente, filtragem por canal, deduplicação.

168

Como está estruturada e distribuída a equipa no seu projeto?

Junior — Middle
166

Quais projetos ou tarefas está a realizar atualmente?

Junior — Middle
162

Qual é a complexidade temporal da operação de adicionar um elemento ao stack?

Junior — Middle
162

Como é que um microserviço determina como contactar outro serviço na abordagem de Chamada Direta?

Junior — Middle
161

Como é determinada a complexidade temporal do método get na estrutura de dados HashMap?

Junior — Middle
157

Poderia explicar o que é uma situação de deadlock entre threads no sistema?

Junior — Middle
154

Como otimizar a implementação do sistema de filtragem de notificações?

136

/* A empresa fornece um serviço de envio massivo de notificações para outros negócios. Um proprietário de produto solicitou a criação de um sistema de filtragem de notificações considerando as preferências dos utilizadores. ## Definições Notificação: - id da notificação - tipo de notificação (EMAIL, SMS, PUSH) - destinatário (id do utilizador) - texto da mensagem O destinatário pode ter configurações de preferências: - canais de notificação permitidos (lista de tipos) - remetentes bloqueados (lista de ids de remetentes) Histórico de notificações enviadas: - lista de notificações enviadas ao utilizador ## Importante As configurações dos utilizadores e o histórico de notificações são fornecidos por outros componentes do sistema. Deve projetar contratos para obter esses dados. Não é necessário implementar o armazenamento. ## Tarefa Escrever um sistema de filtragem de notificações que: - recebe uma lista de notificações para filtrar e o id do remetente - exclui notificações que não correspondem às preferências do utilizador - implementa proteção contra mensagens duplicadas, incluindo as enviadas nas últimas 24 horas. São considerados duplicados mensagens com o mesmo id dirigidas a um mesmo utilizador - devolve a lista filtrada de notificações prontas a enviar. O envio de notificações não faz parte da sua tarefa; outra equipa encarregar-se-á de enviar a lista filtrada. A sua tarefa é apenas filtrar. */ class NotificationFilter { UserSettingsService userSettingsService; NotificationHistoryService notificationHistoryService; public ??? filter(??? senderId, List<???> msgs) { // TODO implement } } interface UserSettingsService { // TODO any functions } interface NotificationHistoryService { // TODO any functions }

133
/2