Descreva um plano para transformar um algoritmo de recomendação stateful (que usa variáveis locais de sessão e…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Comparar diferentes casos particulares (instâncias) de um mesmo problema, identificando as semelhanças e diferenças entre eles, e criar um algoritmo para resolver todos, fazendo uso de variáveis (parâmetros) para permitir o tratamento de todos os casos de forma genérica.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Descreva um plano para transformar um algoritmo de recomendação stateful (que usa variáveis locais de sessão e histórico) em um serviço reutilizável por três aplicações distintas. Indique mudanças em variáveis, gerenciamento de estado, API, configuração e testes.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Plano modelo: 1) Separar lógica e estado: extrair a lógica de recomendação em funções puras que recebem todos os dados necessários como parâmetros, removendo variáveis locais de sessão. 2) Externalizar estado: mover histórico e sessão para um armazenamento compartilhado (base de dados, cache distribuído) e usar identificadores (tokens) na API para recuperar contexto. 3) Parametrizar comportamento: transformar constantes em parâmetros de configuração (via arquivos, variáveis de ambiente ou serviço de configuração) para adaptar regras a cada aplicação. 4) Projetar API estável: criar endpoints REST/GraphQL claros que aceitem entradas normalizadas, retornem respostas padronizadas e suportem versão da API para evoluções. 5) Autenticação e autorização: definir método comum (por ex. OAuth/keys) para controlar acesso por aplicação. 6) Testes e validação: escrever testes unitários para a lógica pura, testes de integração que simulem o armazenamento de estado e contratos de API (ex.: testes de contrato/consumer-driven). 7) Documentação e exemplos: publicar spec da API, exemplos de payloads e guia de configuração para cada aplicação. 8) Observabilidade e limites: incluir logs estruturados, métricas e limites de taxa para identificar problemas ao integrar. 9) Migração e compatibilidade: planejar migração dos históricos e manter compatibilidade por versões, oferecendo modo legado se necessário. 10) Implantação e distribuição: empacotar como serviço independente (microserviço) ou biblioteca com injeção de dependências para facilitar consumo. Justificativa resumida: essas mudanças isolam estado, tornam o serviço previsível e configurável, asseguram segurança e qualidade por testes, e permitem que três aplicações diferentes integrem o mesmo algoritmo sem modificar sua implementação interna.
Explicação
O plano apresentado aborda de maneira abrangente a transformação de um algoritmo stateful em um serviço reutilizável, garantindo a separação entre lógica e estado, o que facilita a manutenção e a escalabilidade. A externalização do estado e a parametrização de comportamento permitem que diferentes aplicações utilizem o mesmo serviço adaptando-se às suas necessidades específicas. Além disso, a ênfase em testes, documentação e segurança assegura que o serviço seja confiável e fácil de integrar, promovendo uma boa experiência para os desenvolvedores.
Raio-X da questão
algoritmo de recomendação
avaliacao
algoritmo de recomendação · programação orientada a objetos
Revisar conceitos de gerenciamento de estado e APIs.
O aluno pode falhar ao não considerar a modularidade do código, resultando em um algoritmo que não é reutilizável em diferentes aplicações.
ciencia_tecnologia
criatividade
cientifico
Questões parecidas com resolução
- Você recebeu um algoritmo que calcula trajetórias de entrega e hoje usa a variável fixa 'vel_max' e indicadores de…
- Proponha um plano para reaproveitar um algoritmo de ordenação (por pontuação) em três aplicações educativas diferentes…
- Descreva um plano modular para reaproveitar um algoritmo de busca simples em três projetos diferentes (app de viagem…
- Projete um plano para reutilizar um algoritmo de ordenação por pontuação de alunos em três contextos distintos (ranking…
- Você recebeu um algoritmo que processa fluxo de dados de sensores em rede; leitura, validação, transformação e…
- Proponha um plano para reaproveitar um algoritmo de anonimização que hoje remove campos PII seguindo um formato nacional…
Todas as questões de Estratégias de solução de problemas - Generalização
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
