Magna Concursos

Foram encontradas 57.071 questões.

4178688 Ano: 2026
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFLA
Orgão: UFLA
Provas:

Code Smells são indicadores de código de baixa qualidade, isto é, código difícil de manter, entender, modificar ou testar (Valente, 2020). Avalie o trecho de código a seguir (em linguagem JAVA).

class Cliente {
    private String nome;
    private int comprasNoAno;
    private double valorTotal;

    public int score() {
        return (int) (comprasNoAno * 2 + valorTotal / 100.0);
    }

    public int getComprasNoAno() { return comprasNoAno; }
    public double getValorTotal() { return valorTotal; }
}

class Pedido {
    public int scoreDoCliente(Cliente c) {
        // cálculo direto a partir dos dados do Cliente
        return (int) (c.getComprasNoAno() * 2 + c.getValorTotal() / 100.0);
    }
}

Fonte: dados do elaborador

Assinale a alternativa que representa o code smell melhor caracterizado no trecho de código.

 

Provas

Questão presente nas seguintes provas
4178687 Ano: 2026
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFLA
Orgão: UFLA
Provas:
Padrões de projeto descrevem objetos e classes que se relacionam para resolver um problema de projeto genérico em um contexto particular. Sobre padrões de projeto estruturais, assinale a alternativa CORRETA.
 

Provas

Questão presente nas seguintes provas
4178686 Ano: 2026
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFLA
Orgão: UFLA
Provas:
Princípios de projeto são recomendações mais concretas que desenvolvedores de software podem seguir para garantir maior qualidade em propriedades esperadas de projeto, como integridade conceitual, ocultamento de informação, coesão e acoplamento.

Sobre os princípios S.O.L.I.D., selecione a alternativa INCORRETA.
 

Provas

Questão presente nas seguintes provas
4178685 Ano: 2026
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFLA
Orgão: UFLA
Provas:
Em navegadores Web, o histórico de páginas visitadas pelo usuário pode ser implementado por meio de uma estrutura de dados do tipo pilha. Nesse contexto, ao visitar uma nova página, ela é colocada no topo da pilha. Quando o usuário aciona o botão voltar do navegador, a página atual é removida da pilha, e a página exibida passa a ser aquela que estiver no topo após a remoção.

Considere a seguinte sequência de ações realizadas por um usuário:
Entrou na página A;
Entrou na página B;
Entrou na página C;
Clicou em voltar;
Entrou na página D;
Clicou em voltar;
Clicou em voltar;

Com base nesse comportamento, assinale a alternativa que representa CORRETAMENTE a página que o usuário está visualizando no momento:
 

Provas

Questão presente nas seguintes provas
4178684 Ano: 2026
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFLA
Orgão: UFLA
Provas:

Em Programação Orientada a Objetos (POO), a sobrecarga de métodos ocorre quando um mesmo identificador representa várias implementações distintas (Deitel; Deitel, 2016). Embora os identificadores dos métodos sobrecarregados sejam os mesmos, suas assinaturas devem ser diferentes.

Considere o código Java a seguir:

class Calculadora {
    public int somar(int a, int b) {
        return a + b;
    }
}


Fonte: dados do elaborador

Todas as alternativas representam uma sobrecarga válida do método somar da classe Calculadora, EXCETO:

 

Provas

Questão presente nas seguintes provas
4178683 Ano: 2026
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFLA
Orgão: UFLA
Provas:
A Ordenação por Inserção (Insertion Sort) é um algoritmo eficiente para ordenar um número pequeno de elementos (Cormen et al., 2024). Em cada passo, a partir de i = 2, o i-ésimo elemento da sequência é transferido para o seu lugar apropriado no arranjo (vetor).

Sobre o método de ordenação por inserção, assinale a alternativa INCORRETA:
 

Provas

Questão presente nas seguintes provas
4178682 Ano: 2026
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFLA
Orgão: UFLA
Provas:
No contexto da área de Algoritmos e Estruturas de Dados, o hashing consiste em um método de pesquisa, no qual os registros armazenados em uma tabela são diretamente endereçados a partir de uma transformação aritmética sobre a chave de pesquisa (Ziviani, 2012). Uma possível função de transformação é K mod M, em que K é um inteiro correspondente à chave de pesquisa e M é o tamanho da tabela.
Considere que a i-ésima letra do alfabeto é representada pelo número i (A = 1, B = 2, C = 3, …) e que o valor da chave K é obtido pela soma dos valores das letras da palavra.

Dada a função de transformação h(K) = K mod 7, qual alternativa apresenta CORRETAMENTE os endereços gerados para as chaves CASA e BOLA, respectivamente?
 

Provas

Questão presente nas seguintes provas
4178681 Ano: 2026
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFLA
Orgão: UFLA
Provas:

Um método recursivo é aquele que chama a si mesmo, direta ou indiretamente. Métodos recursivos permitem uma descrição mais clara e concisa dos algoritmos, especialmente quando o problema a ser resolvido pode ser definido em termos recursivos. No entanto, isso não significa que um método recursivo será sempre a melhor opção para resolver um problema (Ziviani, 2012).

O código em Python, a seguir, tem como objetivo calcular, recursivamente, o n-ésimo número de Fibonacci. Esse código é extremamente ineficiente, pois recalcula o mesmo valor várias vezes. Por exemplo, para calcular fib(5) são necessários os valores de fib(4) e fib(3). Entretanto, fib(4) também chama recursivamente fib(3). 

def fib(n):
    if n < 2:
        return n
    else:
        return fib(n - 1) + fib(n - 2)

Fonte: Dados do elaborador

Considerando a execução do código apresentado para n = 5, assinale a alternativa que representa CORRETAMENTE o número de chamadas de fib(5), fib(4), fib(3), fib(2) e fib(1), nessa ordem.

 

Provas

Questão presente nas seguintes provas
4178674 Ano: 2026
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFLA
Orgão: UFLA
Provas:

Considere a seguinte situação hipotética:

Uma equipe de engenharia DevOps está implantando uma aplicação web em um cluster Kubernetes, utilizando objetos do tipo Deployment para garantir alta disponibilidade e atualização controlada da aplicação.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
      - name: nginx
        image: nginx:1.25
        ports:
        - containerPort: 80

Fonte: dados do elaborador

Durante a implantação, foi utilizado o seguinte manifesto Kubernetes:

Considerando os conceitos de Pods, Deployments e exposição de aplicações em Kubernetes, analise as afirmativas a seguir.

I. A partir do campo replicas: 3, o Kubernetes deverá manter três Pods derivados do template especificado em spec.template, cada um executando um contêiner com a imagem nginx:1.25.
II. O campo selector.matchLabels determina quais Pods pertencem ao Deployment, devendo corresponder aos rótulos definidos em spec.template.metadata.labels.
III. A definição containerPort: 80 faz com que o Kubernetes crie automaticamente um Service para permitir acesso externo à aplicação.
IV. O Deployment gerencia a execução dos Pods por meio de ReplicaSets, responsáveis por garantir que o número desejado de réplicas esteja em execução.
V. No Kubernetes, contêineres podem ser executados diretamente nos nós do cluster, sem necessidade de encapsulamento em Pods.

Assinale a alternativa CORRETA:

 

Provas

Questão presente nas seguintes provas
4178672 Ano: 2026
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFLA
Orgão: UFLA
Provas:

Em arquiteturas modernas baseadas em contêineres, aplicações web frequentemente são executadas em múltiplos serviços isolados. Um padrão comum consiste em utilizar NGINX como servidor web e proxy reverso, encaminhando requisições PHP para um contêiner que executa PHP-FPM, enquanto o banco de dados MySQL é executado em outro contêiner dentro da mesma rede Docker.
Considere o seguinte Dockerfile, utilizado para construir a imagem da aplicação PHP:

FROM php:8.2-fpm
WORKDIR /var/www/html
COPY composer.json composer.lock ./
RUN composer install --no-dev --optimize-autoloader
COPY . .
VOLUME ["/var/www/html/uploads"]
EXPOSE 9000
CMD ["php-fpm"]


Considere ainda que o contêiner do NGINX está configurado para encaminhar requisições PHP ao serviço php na porta 9000, por meio de FastCGI, em uma rede Docker compartilhada.
Com base nos conceitos de contêineres Docker, comunicação entre serviços, volumes persistentes e boas práticas de construção de imagens, analise as afirmativas a seguir.

I. A instrução EXPOSE 9000 documenta a porta utilizada pelo contêiner e indica que o serviço escuta nessa porta, mas não publica automaticamente essa porta no host.
II. A comunicação entre os contêineres NGINX e PHP-FPM ocorre diretamente pelo nome do serviço (por exemplo, fastcgi_pass php:9000), desde que ambos estejam conectados à mesma rede Docker.
III. A declaração VOLUME ["/var/www/html/uploads"] permite que dados gerados pela aplicação, como arquivos enviados por usuários, sejam persistidos independentemente do ciclo de vida do contêiner.
IV. Para que o serviço php-fpm seja acessível a partir de outro contêiner na mesma rede Docker, é obrigatório que a porta seja publicada no host, utilizando a opção -p ou a diretiva ports no Docker Compose.
V. A instrução CMD ["php-fpm"] define o processo principal do contêiner, responsável por manter o contêiner em execução e processar requisições FastCGI encaminhadas pelo servidor NGINX.

Assinale a alternativa CORRETA:

 

Provas

Questão presente nas seguintes provas