Questões de Concurso Público UFLA 2025 para Analista em Tecnologia da Informação
Foram encontradas 70 questões
Um analista de sistemas precisa consultar uma base de dados no MongoDB (versão 8.0) para recuperar todos os documentos da coleção db.aluno, em que os alunos tenham idade maior que 20. Além disso, os resultados devem ser exibidos em ordem ascendente pelo campo curso.
Considerando que, apenas os campos idade e curso, são utilizados na consulta, assinale a alternativa que apresenta CORRETAMENTE o comando necessário:
Um administrador de banco de dados está implementando uma rotina no PostgreSQL 15 para automatizar operações financeiras em uma tabela chamada conta. A necessidade é criar uma Stored Procedure chamada, aumenta_saldo, que receba como parâmetros o identificador de uma conta (id_conta) e o valor a ser acrescido ao saldo da respectiva conta.
Assinale a opção que apresenta a forma CORRETA de criar essa Stored Procedure:
Uma equipe de desenvolvimento está adotando pipelines de Integração Contínua (CI) para aprimorar suas entregas e reduzir falhas em produção. Considerando esse contexto, analise as afirmações a seguir sobre práticas e conceitos relacionados ao uso de pipelines de CI. Classifique cada uma como verdadeira (V) ou falsa (F):
( ) O uso de pipelines CI garante que não existam falhas em produção, já que todos os testes automatizados foram aprovados antes da transição.
( ) A prática de build once, deploy many busca assegurar a consistência entre os ambientes de desenvolvimento, homologação (staging) e produção.
( ) A execução de testes de unidade e de testes de integração no pipeline é considerada uma prática recomendada no contexto DevOps.
( ) A execução paralela de jobs em CI reduz o tempo total de processamento, mas pode introduzir variações nos resultados quando existem dependências mal gerenciadas entre as etapas.
( ) A CI inclui a configuração e a implantação de um aplicativo em um pipeline de produção, dispensando a compilação e o teste.
Assinale a alternativa CORRETA:
Um desenvolvedor está criando um formulário de login, utilizando o PHP. Ele construiu uma consulta SQL, concatenando diretamente os valores informados pelo usuário. Considerando o Open Worldwide Application Security Project (OWASP), analise o código fonte a seguir:
$query = "SELECT * FROM usuario WHERE login = '$usuario' AND senha = '$senha'";
Marque a alternativa que expressa a prática mais adequada para evitar injeção SQL:
Um desenvolvedor precisa disponibilizar uma API REST que transmite dados pessoais de alunos em uma Instituição Federal de Ensino Superior. O requisito de segurança definido é garantir criptografia dos dados durante o tráfego entre cliente e servidor, atendendo às boas práticas e normas de proteção de dados. A configuração mínima e CORRETA para garantir esse requisito é:
Adaptado: Ministério da Gestão e da Inovação em Serviços Públicos (MGI). Programa de Privacidade e Segurança da Informação: Guia de Requisitos Mínimos de Privacidade e Segurança da Informação para Aplicações Web. Versão 2.0. Brasília, abril de 2022.
Considerando a metodologia Privacy by Design e os guias do Programa Privacidade e Segurança da Informação (PPSI), analise as proposições a seguir:
I- O princípio “proativo, não reativo” é caracterizado por não esperar que riscos de privacidade se concretizem para agir.
II- O princípio "privacidade incorporada ao design" versa que a privacidade deve ser acoplada ao software, após o acontecimento de um incidente.
III- O princípio da "visibilidade e transparência” determina que todo tratamento de dados pessoais deve estar de acordo com as promessas e os objetivos declarados.
IV-O princípio "privacidade como configuração padrão" busca garantir que, ao disponibilizar um sistema, este contenha nativamente as configurações mais seguras de privacidade.
V- O princípio "funcionalidade total" reconhece que a implementação de todos os controles de segurança não garante o máximo de segurança à privacidade.
Marque a alternativa CORRETA:
Um desenvolvedor PHP deseja implementar uma autenticação segura de usuários. Para tanto, implementou o trecho de código para armazenamento seguro da senha, conforme a seguir.
$hash = password_hash($senha, PASSWORD_BCRYPT);
$stmt = $pdo->prepare("INSERT INTO users (user, password) VALUES(?, ?)");
$stmt->execute([$user, $hash]);
Após a etapa de cadastro, é preciso implementar a funcionalidade de autenticação. Considerando o Open Worldwide Application Security Project (OWASP), assinale a opção que representa a IMPLEMENTAÇÃO MAIS SEGURA para inicialização da sessão de usuário:
Considerando o código acima, a variável que representa o valor MINMAX é
ZIVIANI, N. Projeto de algoritmos: com implementações em JAVA e C++. Porto Alegre: +A Educação – Cengage Learning Brasil, 2012.
O conjunto básico de operações de uma fila é:
• criar(): cria uma fila vazia; • enfileirar(f, x): enfileira o item x no final da fila f; • desenfileirar(f): desenfileira o item do início da fila f e o retorna; • inicio(f): retorna o item do início da fila f, sem retirá-lo.
Considere a seguinte sequência de operações sobre uma fila f vazia: enfileirar(f, 4); enfileirar(f, 7); enfileirar(f, 2); desenfileirar(f); enfileirar(f, 9); inicio(f); desenfileirar(f); enfileirar(f, 5); enfileirar(f, 6); desenfileirar(f); enfileirar(f, inicio(f)).
Assinale a alternativa que representa CORRETAMENTE o conteúdo da fila, do início para o final, após a execução de todas as operações acima mencionadas:
Adaptado de ZIVIANI, N. Projeto de algoritmos: com implementações em JAVA e C++. Porto Alegre: +A Educação – Cengage Learning Brasil, 2012.
Uma Árvore de Busca Binária (ABB) é um caso especial de uma árvore binária, em que, para cada nó, a seguinte propriedade é verdadeira: todos os registros com chaves menores do que a chave deste nó estão em sua subárvore esquerda e todos os registros com chaves maiores estão em sua subárvore direita. O caminhamento em uma ABB é uma forma sistemática de “visitar” todos os nós dessa árvore. Há três métodos bem conhecidos para realizar esse caminhamento: 1) pré-ordem, 2) em-ordem e 3) pós-ordem.
Considere que os seguintes registros numéricos (50, 30, 70, 20, 40, 10, 35, 60, 80, 65, 5) foram inseridos em uma ABB inicialmente vazia, registro a registro, da esquerda para a direita.
O caminhamento pré-ordem irá processar os registros dessa árvore na seguinte ordem:
Analise as seguintes proposições sobre métodos de ordenação:
I - A ordenação por seleção (Selection Sort) realiza sempre a mesma quantidade de comparações, independentemente de o conjunto estar previamente ordenado ou não.
II – A ordenação por inserção (Insertion Sort) é o método adequado quando o vetor está quase ordenado.
III – A ordenação por borbulhamento (Bubble Sort) é um método em que, quando o vetor já encontra-se ordenado, nenhuma comparação ou movimentação ocorre.
IV – A ordenação por inserção (Insertion Sort) é estável, isto é, ela preserva a ordem relativa dos itens com chaves iguais.
Assinale a alternativa CORRETA:
Adaptado de DEITEL, Harvey M.; DEITEL, Paul J. Java: como programar. 10. ed. São Paulo: Pearson, 2016.
Uma classe definida por meio de herança de outra classe é chamada de subclasse ou classe filha. Uma classe da qual a nova é derivada é conhecida como superclasse ou classe pai. O polimorfismo, por sua vez, permite escrever programas que processam objetos que compartilham a mesma superclasse como se todos fossem objetos desta superclasse.
Considerando os conceitos de herança e polimorfismo, em Java, assinale a alternativa CORRETA:
Considerando os conceitos de manipulação de dados da SQL, analise as seguintes proposições:
I – A forma básica da instrução SELECT é composta pelas cláusulas SELECT, FROM e WHERE, sendo SELECT e FROM necessárias em todas as consultas e WHERE opcional.
II – O nome do operador, que permite condições de comparação apenas sobre partes de uma cadeia de caracteres, é DISTINCT.
III – Em uma instrução do tipo INSERT, atributos com NULL permitido ou com valores DEFAULT podem ser omitidos.
IV – Uma cláusula WHERE inexistente em uma instrução DELETE especifica que todas as tuplas da relação deverão ser excluídas.
Assinale a alternativa CORRETA:
Adaptado de VALENTE, Marco Túlio. Engenharia de software moderna: princípios e práticas para desenvolvimento de software com produtividade. Rio de Janeiro, 2020.
Considere a situação na qual, apesar de estar implementado em uma classe A, um método f possui mais dependências para elementos de uma classe B. Isso provoca uma diminuição da coesão da classe A e um aumento no acoplamento entre A e B.
A refatoração, com maior potencial para melhorar a coesão e acoplamento do sistema na situação acima, é
Considerando a necessidade de recuperar dados das tabelas acima mencionadas, conforme o requisito: “em cada projeto em que mais de dois funcionários trabalham, recuperar o ID e o NOME do projeto e a QUANTIDADE de funcionários que trabalham no projeto”. Assinale a alternativa que contém a consulta SQL CORRETA:
class Financeiro { void calculaImpostoDeRenda() { // cálculo do imposto } void geraRelatorioPDF() { // código para gerar PDF } }
Segundo os princípios de projeto conhecidos como S.O.L.I.D., o código mencionado acima viola o princípio:
O código, a seguir, utiliza o conceito de f-strings:

Se esse código for executado na linguagem Python versão 3.13, qual será a saída CORRETA?
O código em Java, a seguir, utiliza o conceito de variáveis estáticas.

Se esse código for executado na linguagem Java versão 21, qual será a saída?