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

未关闭
#1,969 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
1/100
Issue 类型
功能
描述清晰度
描述清楚
活跃度
活跃
技术栈
java, kafka, postgresql, spring-boot
领域
api, backend, databases

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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.

主要语言
TypeScript
星标
1k
派生
51
PR 合并指标
30 天内没有已合并 PR

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

soujava/vagas-java 的其他 Issue

查看 soujava/vagas-java 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。