Embrapa: Simulado para o Cargo Analista – Engenharia de Software II
Este simulado apresenta 50 questões sobre temas centrais de desenvolvimento de aplicações web e móveis, metodologias ágeis, linguagens de programação e banco de dados, conforme o conteúdo programático do concurso da Embrapa. O objetivo é consolidar o conhecimento e preparar o candidato para os desafios da prova e do ambiente tecnológico da organização.
Shyrlene Chicanelle
12/24/20247 min read


A Engenharia de Software desempenha um papel essencial no suporte às atividades de pesquisa e inovação da Embrapa, permitindo o desenvolvimento de soluções tecnológicas robustas e eficientes. O domínio de ferramentas, metodologias ágeis, linguagens de programação e bancos de dados é fundamental para o desempenho das atribuições relacionadas ao cargo de Analista – Engenharia de Software.
1. Frameworks multiplataforma, como Flutter e React Native, permitem o desenvolvimento de aplicações móveis com uma única base de código, mas sacrificam o desempenho em comparação com aplicativos nativos.
Certo (C) / Errado (E)
2. Em metodologias ágeis, o Product Backlog é estático e não pode ser alterado após o início do projeto, mesmo que novas demandas surjam ao longo do desenvolvimento.
Certo (C) / Errado (E)
3. A aplicação de índices em tabelas de bancos de dados relacionais reduz o tempo de execução de consultas, mas pode impactar negativamente a performance em operações de inserção e atualização.
Certo (C) / Errado (E)
4. Python, uma linguagem de programação de tipagem dinâmica, não suporta programação orientada a objetos e é inadequada para projetos que exigem integração com bancos de dados relacionais.
Certo (C) / Errado (E)
5. O conceito de REST (Representational State Transfer) estabelece que as APIs devem ser stateful, ou seja, manter informações de sessão do cliente no servidor para melhorar a eficiência de chamadas subsequentes.
Certo (C) / Errado (E)
6. Kanban, como prática de gerenciamento ágil, permite gerenciar fluxos contínuos de trabalho utilizando quadros visuais que auxiliam na identificação de gargalos e no equilíbrio das tarefas.
Certo (C) / Errado (E)
7. Em bancos de dados, a normalização visa reduzir redundâncias e melhorar a integridade dos dados, mas pode aumentar a complexidade de consultas em sistemas altamente normalizados.
Certo (C) / Errado (E)
8. JavaScript é uma linguagem utilizada apenas no desenvolvimento de front-end, não possuindo aplicações em servidores ou no desenvolvimento back-end.
Certo (C) / Errado (E)
9. O GraphQL permite aos desenvolvedores requisitar apenas os dados necessários, otimizando o uso de banda e eliminando a sobrecarga causada por informações desnecessárias, algo que é comum no REST.
Certo (C) / Errado (E)
10. Continuous Integration (CI) automatiza a integração de código em um repositório compartilhado, permitindo a identificação precoce de conflitos entre diferentes contribuições da equipe.
Certo (C) / Errado (E)
11. Swift é a principal linguagem recomendada pela Apple para o desenvolvimento de aplicações móveis no iOS, sendo preferida por sua segurança e desempenho em relação ao Objective-C.
Certo (C) / Errado (E)
12. No Scrum, o Scrum Master é responsável por priorizar as tarefas do Product Backlog e supervisionar tecnicamente o time de desenvolvimento, garantindo entregas dentro do prazo.
Certo (C) / Errado (E)
13. O comando JOIN em SQL é utilizado para combinar dados de múltiplas tabelas com base em uma condição, permitindo consultas que integram informações relacionadas.
Certo (C) / Errado (E)
14. CSS Grid é uma ferramenta usada para criar grades unidimensionais na organização de elementos visuais em páginas web, sendo mais limitada que o Flexbox em aplicações responsivas.
Certo (C) / Errado (E)
15. No paradigma funcional, funções puras são aquelas que sempre produzem o mesmo resultado para os mesmos argumentos e não possuem efeitos colaterais no estado global do programa.
Certo (C) / Errado (E)
16. O framework Flutter utiliza Kotlin como linguagem principal, sendo amplamente adotado no desenvolvimento de aplicativos móveis multiplataforma para Android e iOS.
Certo (C) / Errado (E)
17. No modelo relacional, as tabelas representam conjuntos matemáticos, enquanto as relações entre essas tabelas garantem a consistência dos dados por meio de chaves primárias e estrangeiras.
Certo (C) / Errado (E)
18. No Scrum, o Incremento refere-se a um conjunto de funcionalidades implementadas durante o sprint, mas não precisa estar funcional ou pronto para uso ao final do ciclo.
Certo (C) / Errado (E)
19. Linguagens de tipagem dinâmica, como JavaScript, permitem que o tipo das variáveis seja definido em tempo de execução, proporcionando maior flexibilidade ao código.
Certo (C) / Errado (E)
20. Bancos de dados NoSQL são mais indicados para aplicações que exigem grande escalabilidade horizontal e manipulação de dados semi-estruturados, como JSON ou BSON.
Certo (C) / Errado (E)
Bloco 3: Tecnologias Avançadas e Arquitetura de Software
21. A arquitetura MVC (Model-View-Controller) promove a separação de responsabilidades em aplicações, facilitando a manutenção do código e melhorando a escalabilidade de sistemas complexos.
Certo (C) / Errado (E)
22. A Definition of Done (DoD) em metodologias ágeis é utilizada para estabelecer os critérios de aceitação de tarefas, garantindo que estejam completas antes de serem entregues.
Certo (C) / Errado (E)
23. A criação de chaves estrangeiras em bancos de dados relacionais é uma prática opcional, sendo utilizada apenas para consultas que demandam alto desempenho em tabelas de grande porte.
Certo (C) / Errado (E)
24. AJAX permite a atualização de partes específicas de uma página web sem recarregar a página inteira, proporcionando uma experiência mais fluida ao usuário final.
Certo (C) / Errado (E)
25. Linguagens como C++ são amplamente utilizadas em sistemas embarcados e aplicações de alto desempenho, mas apresentam desvantagens em relação ao controle de memória em projetos críticos.
Certo (C) / Errado (E)
26. A refatoração de código em projetos de software tem como objetivo corrigir erros críticos no sistema e alterar o comportamento externo das funções, garantindo maior eficiência.
Certo (C) / Errado (E)
27. O Vue.js é um framework front-end que facilita a criação de interfaces reativas e o gerenciamento de estados no front-end, sendo amplamente utilizado em aplicações modernas.
Certo (C) / Errado (E)
28. Em linguagens orientadas a objetos, o encapsulamento permite isolar os detalhes internos de uma classe, expondo apenas o necessário por meio de métodos definidos.
Certo (C) / Errado (E)
29. O sharding em bancos de dados consiste na divisão horizontal dos dados, distribuindo-os entre diferentes servidores para melhorar a escalabilidade e a performance.
Certo (C) / Errado (E)
30. O Spring Framework, utilizado em desenvolvimento back-end, oferece suporte à criação de microsserviços, integração de APIs REST e gerenciamento de dependências.
Certo (C) / Errado (E)
31. Em Django, os models representam tabelas no banco de dados e permitem manipular diretamente os dados utilizando consultas por meio do ORM (Object-Relational Mapping).
Certo (C) / Errado (E)
32. A técnica de replicação em bancos de dados relacionais cria cópias redundantes de dados em diferentes servidores, melhorando a disponibilidade e a tolerância a falhas do sistema.
Certo (C) / Errado (E)
33. Em React.js, o estado (state) é utilizado para armazenar informações que afetam a renderização de um componente, permitindo maior interatividade e dinamismo nas aplicações front-end.
Certo (C) / Errado (E)
34. A herança em orientação a objetos permite que classes derivadas reutilizem atributos e métodos de uma classe base, promovendo a organização hierárquica e o reaproveitamento de código.
Certo (C) / Errado (E)
35. Stored procedures são blocos de código SQL armazenados no servidor, projetados para executar operações complexas de forma eficiente e reutilizável em múltiplas aplicações.
Certo (C) / Errado (E)
36. O protocolo WebSocket é amplamente utilizado para permitir comunicação bidirecional em tempo real entre cliente e servidor, sendo indicado para aplicações como chats e streaming.
Certo (C) / Errado (E)
37. No paradigma funcional, funções puras garantem previsibilidade no código, já que produzem os mesmos resultados para as mesmas entradas e não geram efeitos colaterais.
Certo (C) / Errado (E)
38. O conceito de Continuous Deployment (CD) visa automatizar a entrega de código ao ambiente de produção, exigindo que todas as alterações passem por testes rigorosos e automáticos.
Certo (C) / Errado (E)
39. O framework Angular é especializado no desenvolvimento de aplicações front-end de página única (Single Page Applications - SPAs), proporcionando maior interatividade e fluidez na navegação.
Certo (C) / Errado (E)
40. O Git é uma ferramenta de controle de versão que permite a colaboração distribuída em projetos, e o comando git clone é utilizado para criar uma cópia local de um repositório remoto.
Certo (C) / Errado (E)
41. Em JavaScript, a palavra-chave this é usada para referenciar o objeto atual no contexto em que o código está sendo executado, podendo variar dependendo da forma como a função é chamada.
Certo (C) / Errado (E)
42. O paradigma de programação funcional depende exclusivamente da imutabilidade de dados, sendo incompatível com linguagens que permitem operações mutáveis, como Python e JavaScript.
Certo (C) / Errado (E)
43. A técnica de sharding em bancos de dados consiste em dividir os dados verticalmente em tabelas diferentes, otimizando operações de leitura em ambientes distribuídos.
Certo (C) / Errado (E)
44. No Scrum, o Sprint Review é uma reunião para revisar o trabalho concluído durante o sprint e coletar feedback do cliente, garantindo que os requisitos estejam sendo atendidos.
Certo (C) / Errado (E)
45. Os design patterns, como Singleton e Factory, são soluções pré-definidas que visam resolver problemas recorrentes em arquitetura de software de forma eficiente e padronizada.
Certo (C) / Errado (E)
46. Em Java, o garbage collector é responsável por liberar automaticamente a memória ocupada por objetos que não estão mais sendo utilizados, reduzindo o risco de vazamentos de memória.
Certo (C) / Errado (E)
47. APIs RESTful utilizam métodos HTTP padronizados, como GET, POST, PUT e DELETE, para realizar operações em recursos definidos pelos endpoints da API.
Certo (C) / Errado (E)
48. O Vue.js é um framework exclusivo para renderização no lado do servidor, sendo pouco utilizado para criação de interfaces interativas no front-end.
Certo (C) / Errado (E)
49. A replicação de dados em bancos de dados relacionais melhora a disponibilidade do sistema, mas pode gerar inconsistências em operações distribuídas sem sincronização adequada.
Certo (C) / Errado (E)
50. O conceito de CI/CD (Continuous Integration/Continuous Deployment) é essencial em pipelines de DevOps, garantindo integração contínua, testes automatizados e entrega ágil de software.
Certo (C) / Errado (E)
Gabarito
1-C, 2-E, 3-C, 4-E, 5-E, 6-C, 7-C, 8-E, 9-C, 10-C, 11-C, 12-E, 13-C, 14-E, 15-C, 16-E, 17-C, 18-E, 19-C, 20-C, 21-C, 22-C, 23-E, 24-C, 25-C, 26-E, 27-C, 28-C, 29-C, 30-C, 31-C, 32-C, 33-C, 34-C, 35-C, 36-C, 37-C, 38-C, 39-C, 40-C,41-C, 42-E, 43-E, 44-C, 45-C, 46-C, 47-C, 48-E, 49-C, 50-C.