Questões de Concursos Públicos - Engenharia de Software

Resolva questões gratuitas da Engenharia de Software. Banco com 344 perguntas de concursos. Prepare-se com simulados e estatísticas de acerto.

Q252955 FGV - 2026 - AL-RO - Analista Legislativo (Engenharia Eletrônica e Telecomunicação)
Ano: 2026
Órgão: AL-RO
Banca: FGV
Assunto: Processos de Software - Desenvolvimento Ágil

Durante a implantação de um novo sistema de atendimento parlamentar na ALE-RO, a equipe de TI está utilizando Scrum como metodologia ágil de gestão de projetos. Após o início do Sprint, o Product Owner (PO) solicita que uma nova funcionalidade crítica seja incluída imediatamente, pois um gabinete parlamentar apresentou uma demanda urgente. De acordo com os princípios e papéis do Scrum, assinale qual deve ser a conduta correta da equipe.
Q252952 FGV - 2026 - AL-RO - Analista Legislativo (Engenharia Eletrônica e Telecomunicação)
Ano: 2026
Órgão: AL-RO
Banca: FGV
Assunto: Modelos de Sistemas de Informação

A Diretoria de Tecnologia da ALE/RO solicitou que cada área técnica apresentasse propostas de modernização para os sistemas legislativos utilizando computação em nuvem. No levantamento realizado, as equipes de Operações de TI, Desenvolvimento e Administração sugeriram soluções baseadas em diferentes modelos de serviço (IaaS, PaaS e SaaS). As propostas apresentadas foram as seguintes: I. A equipe Administrativa indicou a adoção de um sistema de gestão documental totalmente web, com atualizações automáticas e sem instalação local. II. A equipe de Infraestrutura propôs migrar servidores virtuais para um ambiente de nuvem no qual teria controle de sistema operacional, firewall, redes virtuais e armazenamento. III. A equipe de Desenvolvimento sugeriu utilizar uma plataforma gerenciada para compilar, testar e implantar aplicações, sem necessidade de administrar máquinas virtuais. Considere os modelos de serviço ( ) IaaS ( ) PaaS ( ) SaaS. Assinale a opção que classifica corretamente as escolhas de cada equipe, na ordem apresentada.
Q16631 FADENOR - 2026 - Prefeitura de Jequitaí - MG - Analista em Tecnologia da Informação
Ano: 2026
Banca: FADENOR
Assunto: Gerência de Configuração

O uso de sistemas de controle de versão é indispensável para o desenvolvimento colaborativo de software. Analise as afirmativas a seguir sobre o funcionamento do Git e fluxos de trabalho. I- O comando git merge combina históricos de ramos diferentes, criando um commit de mesclagem que preserva a genealogia completa das alterações realizadas em ambos os ramos. II- O arquivo .gitignore é utilizado para listar arquivos e diretórios que não devem ser rastreados pelo Git, como binários compilados, arquivos de configuração local e dependências. III- O comando git pull é uma operação atômica que apenas baixa as alterações do repositório remoto sem realizar qualquer alteração ou mesclagem no ramo local de trabalho. IV- O conceito de 'Head' no Git representa um ponteiro para o commit mais recente no ramo atualmente ativo no diretório de trabalho do desenvolvedor. Assinale a alternativa que apresenta somente as proposições CORRETAS:
Q14790 AMAUC - 2026 - Prefeitura de Itá - SC - Analista de Sistemas
Ano: 2026
Banca: AMAUC
Assunto: Orientação a Objetos

No desenvolvimento de sistemas e arquitetura de software, o padrão de projeto "Observador" (Observer) é amplamente utilizado para gerenciar dependências entre objetos. Analise as afirmativas a seguir sobre Padrões de Projeto (Design Patterns) do Gamma et al. (GoF): I.O padrão Observer define uma dependência um-para-muitos entre objetos, de modo que, quando um objeto muda de estado, todos os seus dependentes são notificados e atualizados automaticamente. II.O padrão Singleton garante que uma classe tenha apenas uma instância e fornece um ponto de acesso global a ela, sendo recomendado para gerenciar recursos compartilhados como pools de conexão com banco de dados. III.O padrão Estratégia (Strategy) permite definir uma família de algoritmos, encapsular cada um deles e torná-los intercambiáveis, permitindo que o algoritmo varie independentemente dos clientes que o utilizam. Está correto o que se afirma em:
Q9932 Unesc - 2026 - Prefeitura de Meleiro - SC - Professor de Computação
Ano: 2026
Banca: Unesc
Assunto: Metodologia de desenvolvimento de software

A escolha do modelo de ciclo de vida de desenvolvimento de software é crucial para o gerenciamento de prazos, custos e qualidade do produto final entregue ao cliente. Analise as afirmativas a seguir sobre os modelos tradicionais e ágeis de desenvolvimento. I.O modelo em cascata (Waterfall) é uma abordagem sequencial onde cada fase (requisitos, análise, design, codificação, testes) deve ser concluída antes do início da próxima. II.As metodologias ágeis, como o Scrum, baseiam-se em ciclos iterativos e incrementais chamados de sprints, permitindo adaptações rápidas a mudanças nos requisitos. III.O manifesto ágil prioriza a documentação abrangente e o seguimento rígido de um plano inicial em detrimento da colaboração com o cliente e da resposta a mudanças. Está correto o que se afirma em:
Q7423 FGV - 2026 - PC-PI - Perito Criminal - Informática Forense
Ano: 2026
Órgão: PC-PI
Banca: FGV
Assunto: Orientação a Objetos

Durante uma análise de código para um sistema bancário, o perito identificou um problema de projeto conhecido como “Fragile Base Class Problem”, típico em hierarquias de herança. Esse problema geralmente ocorre quando
Q6764 FGV - 2026 - AMAZUL - Analista de Desenvolvimento de Sistemas
Ano: 2026
Órgão: AMAZUL
Banca: FGV
Assunto: Ferramentas de Desenvolvimento de Software

O Maven é baseado em um conceito central de fases de ciclo de vida (lifecycle phases). Considere o ciclo de vida padrão (default). Assinale a opção que apresenta a sequência correta e obrigatória de fases que são executadas quando o comando mvn install é invocado na linha de comando.
Q6763 FGV - 2026 - AMAZUL - Analista de Desenvolvimento de Sistemas
Ano: 2026
Órgão: AMAZUL
Banca: FGV
Assunto: Gerência de Configuração

Em um repositório Git local, o fluxo de trabalho básico envolve três áreas conceituais principais: Diretório de Trabalho (Working Directory), Área de Staging (Staging Area, ou Index) e Repositório Git (Git Directory/Repository). Considere que você modificou um arquivo existente (projeto.txt) no seu Diretório de Trabalho. Para que as alterações realizadas no arquivo sejam registradas permanentemente no histórico do repositório local, a sequência correta de comandos é:
Q5418 IF-SP - 2026 - IF-SP - Analista de Tecnologia da Informação
Ano: 2026
Órgão: IF-SP
Banca: IF-SP
Assunto: UML

Em Engenharia de Software, o diagrama de Caso de Uso é utilizado para representar as funcionalidades de um sistema do ponto de vista do usuário. Nesse contexto, o Caso de Uso pode ser entendido como:
Q5403 IF-SP - 2026 - IF-SP - Analista de Tecnologia da Informação
Ano: 2026
Órgão: IF-SP
Banca: IF-SP
Assunto: Gerência de Configuração

 Em um projeto de software que utiliza Git para controle de versão e um fluxo de Integração Contínua e Entrega Contínua (CI/CD), existe a se guinte situação:
•    A branch feature/login possui vários commits.
•    A branch principal main já possui seu próprio histórico consolidado.
•   O desenvolvedor precisa aplicar apenas um commit específico da branch feature/login na branch main, sem trazer outros commits da branch de feature e sem modificar o histórico existente da main. Considerando esse cenário, qual comando Git é o mais apropriado para atingir o objetivo de forma seletiva e segura?