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
- Na cantina da escola, Ana informa o lanche desejado, a quantidade e se vai pagar em dinheiro ou cartão. A atendente…
- Em um jogo criado pela turma, a pontuação de cada equipe é calculada multiplicando a quantidade de desafios concluídos…
- Em uma exposição, um painel registrou as cores dos crachás lidos na entrada. Lista A: azul, verde, azul, amarelo. Lista…
- Em uma cozinha, duas receitas foram preparadas em horários diferentes. Receita 1: uma torta de legumes começou a assar…
- Por que uma cozinha solidária pode ter alimentos guardados e, ainda assim, não conseguir montar todas as cestas…
- Moradores acompanham, pelo celular, um sistema de irrigação instalado em canteiros de uma praça. A cada manhã, dois…
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
