[Remoto] Desenvolvedor(a) Java Júnior (Fila de Pedidos) | Confidencial (vaga via Sylision)

Offen
#1,969 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
1/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
java, kafka, postgresql, spring-boot
Bereich
api, backend, databases

Rechercherichtung

This issue describes a junior Java job opening, not a repository change. Read the linked Sylision vacancy page to review the role and application instructions; there are no files or tests to inspect. The issue is complete when the vacancy closes or after 28 days.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

API CLT Docker Git Java Júnior PJ PostgreSQL RabbitMQ Remoto Rest Spring SQL

Nossa empresa

Confidencial (vaga via Sylision): a empresa contratante não é nomeada neste anúncio. A seleção é conduzida pela Sylision.

Descrição da vaga

Pedido entra pela API, responde rápido para quem chamou e segue para processamento assíncrono. Do outro lado, consumidores em Java com Spring Boot leem de tópicos do Apache Kafka, avançam a situação do pedido, gravam em PostgreSQL e publicam o evento seguinte. Você vai trabalhar nesses consumidores e no desenho de estados do pedido. Três coisas dominam o dia a dia. Ordem, porque dois eventos do mesmo pedido não podem ser aplicados fora de sequência. Idempotência, porque mensagem se repete e aplicar duas vezes não pode mudar o resultado. E mensagem que não processa de jeito nenhum, que vai para a fila de mensagem morta e precisa de um caminho claro de reprocessamento depois da correção. Também existe a parte visível: endpoint para consultar a situação do pedido e o histórico de transições. Quando alguém pergunta por que um pedido parou, a resposta tem de sair do histórico gravado, não de investigação manual em log espalhado.

  • Implementar consumidores Kafka que avançam a situação do pedido
  • Garantir idempotência do consumo, para mensagem repetida não duplicar efeito
  • Respeitar ordem por chave de pedido e tratar evento que chega adiantado
  • Encaminhar mensagem irrecuperavel para fila de mensagem morta com o motivo
  • Construir a rotina de reprocessamento do que ficou parado
  • Expor consulta de situação e histórico de transições por endpoint REST
  • Escrever teste de consumidor, incluindo mensagem duplicada e fora de ordem

Local

100% remoto, no Brasil

Requisitos

Obrigatórios:

  • Formação em andamento ou concluída em curso de tecnologia, ou projeto próprio publicado com código Java seu
  • Java com orientação a objetos, coleções e tratamento de exceção
  • Noção de Spring Boot
  • SQL de consulta e escrita em banco relacional
  • Entender a diferença entre processar na hora e processar depois, com fila no meio
  • Git no dia a dia

Diferenciais:

  • Já ter usado Kafka, RabbitMQ ou qualquer mensageria, mesmo em estudo
  • Noção de máquina de estados aplicada a pedido ou a processo
  • Docker Compose para subir fila, banco e aplicação localmente
  • Ter escrito teste de integração com dependência em container
  • Curiosidade por entrega no mínimo uma vez e por que isso exige idempotência

Benefícios

  • Ambiente colaborativo, com senso de comunidade e conquistas celebradas em equipe
  • Trabalhe de qualquer lugar, com liberdade e flexibilidade
  • Conexão global: convivência com times de diferentes países e culturas
  • Apoio à saúde física com TotalPass e Mediquo
  • Cuidado com a saúde mental pelo programa Team Care
  • Contratação e jornada definidas com a empresa contratante

Contratação

CLT ou PJ. Faixa salarial: R$ 4.100 a R$ 5.600 por mês.

Como se candidatar

Pela página da vaga: https://www.sylision.com/vagas/desenvolvedor-java-junior-fila-de-pedidos-468?utm_source=github&utm_medium=comunidade&utm_campaign=soujava

Tempo médio de feedbacks

Contato para retorno do processo: [email protected]

Esta issue é encerrada quando a vaga fecha ou em até 28 dias.

Vorherrschende Sprache
TypeScript
Sterne
1k
Forks
51
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus soujava/vagas-java

Alle Issues in soujava/vagas-java

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.