No desenvolvimento mobile, a escolha do framework impacta diretamente na performance, integração com APIs
nativas e experiência do usuário. Diferentes frameworks oferecem vantagens para cada plataforma (Android e
iOS) e alguns focam em desenvolvimento multiplataforma. Considerando as opções apresentadas, o framework
que NÃO seria adequado para desenvolver uma aplicação nativa para Android é:
No desenvolvimento de aplicações web, o JavaScript é largamente utilizado. Considerando o exposto, selecione
a opção que melhor descreve o que é uma Promise em JavaScript:
Na engenharia de software, o uso de padrões de projeto oferece soluções reutilizáveis para problemas comuns
no desenvolvimento de software, promovendo modularidade, reutilização de código e manutenibilidade.
Relacione os padrões de projeto, listados a seguir, às suas respectivas características:
I. Factory;
II. Singleton;
III. Decorator;
IV. Proxy.
( ) Permite a criação de um único objeto de uma classe, garantindo um ponto de acesso global.
( ) Encapsula a criação de objetos, escondendo a lógica de instanciação dos clientes.
( ) Adiciona responsabilidades a um objeto dinamicamente, sem modificar o código da sua classe.
( ) Controla o acesso a um objeto, adicionando funcionalidades como cache, segurança ou logging.
Assinale a opção que indica a relação CORRETA, entre padrões de projeto e suas características:
No desenvolvimento web, é fundamental entender as ferramentas e frameworks adequados para construir
aplicações eficazes. Com isso em mente, selecione a opção que contém apenas frameworks web com suas
respectivas linguagens de programação:
Sobre normas e boas práticas de segurança da informação, tais como: ISO/IEC 27001, COBIT, ITIL, julgue cada
afirmativa a seguir como verdadeira (V) ou falsa (F). Em seguida, assinale a opção que corresponde à sequência
CORRETA:
( ) A ISO/IEC 27001 é uma norma internacional que estabelece requisitos para um Sistema de Gestão da
Segurança da Informação (SGSI). ( ) O COBIT é um framework de governança de TI que fornece um conjunto de boas práticas para o
gerenciamento e controle de TI.
( ) O ITIL é um conjunto de boas práticas para o gerenciamento de serviços de TI, focado na entrega de valor
ao negócio.
( ) A ISO/IEC 27001 se concentra exclusivamente na segurança física das informações, como o controle de
acesso a instalações e equipamentos.
( ) O COBIT e o ITIL são frameworks concorrentes, com objetivos e abordagens completamente distintos.
O Scrum é um framework ágil, amplamente utilizado para gerenciar projetos de desenvolvimento de software,
com foco na entrega iterativa e incremental de valor. Equipes Scrum trabalham em ciclos curtos chamados
Sprints, com papéis e responsabilidades bem definidos para cada membro da equipe. Considerando o contexto
acima, assinale a opção que melhor descreve o papel do Scrum Master:
Durante a fase de projeto de software (design), a estrutura do sistema é definida, impactando diretamente na
qualidade do software produzido. Nesta fase, a compreensão dos conceitos de abstração, modularidade,
acoplamento e coesão são essenciais para a criação de sistemas flexíveis, fáceis de manter e que atendam aos
requisitos de forma eficiente. Relacione os conceitos de projeto de software, listados a seguir, às suas
respectivas definições.
I. Abstração;
II. Modularidade;
III. Acoplamento;
IV. Coesão.
( ) Grau de interdependência entre os módulos de um sistema.
( ) Grau de interrelação e foco em um objetivo comum entre os elementos de um módulo.
( ) Divisão de um sistema em componentes independentes e interconectados.
( ) Representação simplificada de um sistema que esconde detalhes complexos de sua implementação.
Assinale a opção que indica a relação CORRETA, entre conceitos e definições:
Em engenharia de software, a abordagem de teste é crucial para garantir a qualidade do software desenvolvido.
Considere as seguintes afirmações sobre diferentes tipos de teste e suas práticas.
I. Testes de unidade são realizados para verificar a interação entre diferentes módulos de um sistema;
II. Testes de integração avaliam a capacidade do software de se comportar conforme esperado em um
ambiente de produção;
III. Testes de sistema verificam se o software atende aos requisitos e especificações funcionais e não
funcionais;
IV. Testes de aceitação são realizados para garantir que o software esteja pronto para ser entregue ao cliente,
frequentemente baseado em critérios pré-estabelecidos;
V. Testes de regressão são realizados para identificar falhas que podem ter sido introduzidas por modificações
recentes no código, mas que não têm impacto nas funcionalidades já existentes.
Você está projetando um sistema em que as subclasses devem ser capazes de substituir suas classes base sem
alterar o comportamento esperado do sistema. O princípio SOLID que está focado em garantir que as
subclasses possam substituir suas classes base sem alterar a funcionalidade esperada do sistema é:
Quando se trata de gestos de toque prolongado em Flutter, você deve usar o seguinte widget ou técnica para
implementar um comportamento de toque prolongado personalizado:
No contexto dos princípios básicos de segurança da informação, conhecidos como confidencialidade, integridade
e disponibilidade, assinale a opção que corresponde CORRETAMENTE à definição do princípio de
INTEGRIDADE:
Considere as seguintes afirmações sobre Coleções, Threads e Garbage Collector em linguagens de
programação:
I. Coleções são estruturas de dados que permitem armazenar e manipular múltiplos elementos de forma
organizada;
II. Threads são unidades de execução independentes dentro de um processo, permitindo a execução
simultânea de tarefas;
III. O Garbage Collector é um mecanismo que gerencia automaticamente a alocação e desalocação de memória,
liberando o programador dessa responsabilidade;
IV. Em Java, as classes ArrayList e LinkedList são exemplos de coleções, sendo a primeira baseada em arrays e
a segunda em listas encadeadas;
V. A utilização de múltiplas threads sempre garante um melhor desempenho em qualquer situação,
independentemente do número de núcleos de processamento disponíveis.
Sobre o princípio, enunciado por Jez Humble e David Farley, de criar um processo repetível e confiável para a
entrega de software (alinhado aos conceitos de DevOps), assinale a opção INCORRETA:
A modelagem Entidade-Relacionamento (ER) é uma etapa crucial na criação de um banco de dados relacional.
Ela permite visualizar a estrutura do banco de dados através de diagramas que representam entidades, atributos
e relacionamentos. Compreender os conceitos fundamentais dessa modelagem é essencial para desenvolver
bancos de dados eficientes e consistentes. Acerca da modelagem Entidade-Relacionamento, assinale a opção
CORRETA.
Considere as seguintes afirmações sobre linguagens de marcação, transformação e apresentação na web:
I. Microformatos são um conjunto de padrões que permitem adicionar semântica a dados em HTML, mas não
foram especificamente projetados para facilitar a extração e o processamento por máquinas;
II. CSS preprocessors, como Sass e Less, estendem a sintaxe do CSS com recursos como variáveis, funções,
mixins e aninhamento, tornando a escrita de estilos mais eficiente e organizada;
III. ARIA (Accessible Rich Internet Applications) é um conjunto de atributos que podem ser adicionados a
elementos HTML para melhorar a acessibilidade de aplicações web dinâmicas e interativas, fornecendo
informações adicionais para tecnologias assistivas;
IV. O padrão WAI-ARIA (Web Accessibility Initiative - Accessible Rich Internet Applications) define um conjunto
de atributos que podem ser adicionados a elementos HTML para melhorar a acessibilidade de aplicações
web, especialmente aquelas que utilizam tecnologias como JavaScript e AJAX;
V. O padrão de microdados Schema.org oferece um vocabulário estruturado para marcar dados em páginas
web, permitindo que mecanismos de busca e outras ferramentas compreendam melhor o conteúdo e o
contexto das informações.
Assinale a opção CORRETA:
O processo de renderização de uma página web envolve uma série de etapas e componentes essenciais, que
cooperam para disponibilizar o conteúdo ao usuário final. A seguir, são listados alguns desses componentes com
suas respectivas descrições, embora não necessariamente na ordem correta. Associe cada componente à sua
função correspondente, considerando o fluxo típico de uma requisição HTTP e a estrutura de uma URL:
I. CDN;
II. HTTP;
III. DNS;
IV. URL;
V. Cookies.
( ) Este componente é responsável por mapear nomes de domínio amigáveis em endereços IP, permitindo
que o navegador localize servidores na internet.
( ) Rede de servidores distribuídos geograficamente que armazena em cache conteúdos estáticos de
websites para reduzir a latência e acelerar a entrega de conteúdo ao usuário.
( ) Utilizado para localizar e acessar um recurso específico na internet, combinando protocolo, domínio,
caminho e, eventualmente, parâmetros e fragmentos.
( ) Define as regras para a transferência de dados, como páginas web, entre um cliente (geralmente um
navegador) e um servidor na internet.
( ) Pequenos arquivos armazenados no dispositivo do usuário que mantêm informações sobre suas sessões
e preferências, permitindo personalizar e otimizar a experiência de navegação.
Assinale a opção que melhor reflete a relação CORRETA, seguindo a ordem das descrições apresentadas:
Dentre os diferentes tipos de widgets oferecidos pelo Flutter, o StatefulWidget desempenha um papel
fundamental na criação de interfaces dinâmicas. A descrição detalhada das funções e características do
StatefulWidget CORRETA é: