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

Đang mở
#1,969 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
1/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
java, kafka, postgresql, spring-boot
Lĩnh vực
api, backend, databases

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
TypeScript
Star
1k
Fork
51
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của soujava/vagas-java

Tất cả issue của soujava/vagas-java

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.