O Qconcursos é plataforma online de resolução de questões de concursos e cursos, voltada para apoiar os estudantes a alcançarem a aprovação em concursos públicos e a evoluírem na sua vida profissional por meio da educação. Estamos em constante evolução e justamente por isso queremos evoluir o nosso serviço de buscas
Você vai ser responsável por modelar e desenvolver esse serviço utilizando as bibliotecas/frameworks que achar que mais convenientes para a solução. Tenha em mente de que temos mais de 300 mil clientes diários então escala é algo imprescindível por aqui. Para isso você deve ler os arquivos json neste repositório e baseado nos dados contidos criar os seguintes modelos de busca:
Disciplinas com questões mais quentes: Listar as disciplinas onde as questões foram as mais acessadas nas ultimas 24H
Mais acessadas por periodo: Listar as questões mais acessadas por semana/mês/ano
Não somos apegados a nenhuma linguagem porém nosso core hoje é em ruby, por isso pedimos que o teste seja feito nessa linguagem. Quanto a forma que você vai estruturar a sua aplicação, cabe a você decidir isso, utilizar docker é um plus.
Crie uma documentação breve sobre a sua solução, com explicação sobre a arquitetura/design e hipóteses assumidas.
- Manutenibilidade e extensibilidade: O código escrito é de fácil leitura? O quão fácil é criar novas funcionalidades na solução existente?
- Clareza: O README explica de forma resumida qual é o problema e como pode rodar a aplicação?
- Assertividade: A aplicação está fazendo o que é esperado?
- Histórico de commits: estrutura e qualidade
- Legibilidade do código
- Cobertura de testes
- Escolhas técnicas: A escolha das bibliotecas, persistência, arquitetura, etc, por que escolheu essa solução?
Após finalizar o teste você pode nos enviar para pedro.seda@qcx.com.br
com o link do repositório e também pode enviar email para gente caso tenha dúvidas. Entendemos que o dia-a-dia pode ser corrido por isso não estipulamos um prazo, estabelecemos 7 dias como padrão
mas caso você não consiga fazer nesses 7 dias não tem problema, preferimos que você tenha tempo para pensar na sua solução do que fazer algo com pressa de entregar.