Questões de Concurso sobre Práticas de programação segura e revisão de código.

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
42 questões encontradas
Questões por página
20
Mais recentes
 

Associe as funções de negócio (Business Functions) com as respectivas práticas de segurança (Security Practices), conforme definido pelo OWASP SAMM (Software Assurance Maturity Model).


Coluna 1 Funções

1. Governança

2. Design

3. Implementação

4. Verificação

5. Operações


Coluna 2 Práticas

( ) Construção Segura (Secure Build)

( ) Avaliação da Arquitetura (Architecture Assessment)

( ) Gestão de Incidentes (Incident Management)

( ) Avaliação das Ameaças (Threat Management)

( ) Estratégia e Métricas (Strategy & Metrics)


Assinale a alternativa que indica a sequência correta, de cima para baixo.


A

3 • 1 • 5 • 2 • 4


B

3 • 2 • 4 • 5 • 1


C

3 • 4 • 5 • 2 • 1


D

5 • 2 • 3 • 1 • 4


E

5 • 4 • 3 • 1 • 2

A analista Ana desenvolve a plataforma X, que deve ser capaz de receber notificações de sistemas externos quando houver mudança no status de determinados processos judiciais. Para adicionar essa funcionalidade, Ana desenvolveu um webhook, disponibilizando na plataforma um endpoint para receber as notificações. A fim de aprimorar a segurança das notificações recebidas, a analista implementou o mecanismo de validação que é altamente empregado na indústria de TI em APIs reversas, capaz de verificar tanto a integridade da notificação quando a autenticidade do remetente a cada requisição recebida, com baixo overhead.


No webhook de notificação da plataforma X, Ana implementou o mecanismo de validação:


A

Fernet;


B

JSON Web Key;


C

JSON Web Token;


D

JSON Web Signature;


E

Message Authentication Code.

Um grupo de desenvolvedores de páginas Web de uma empresa está aplicando as recomendações eMAG, relativas ao Modelo de Acessibilidade em Governo Eletrônico. No momento, o grupo está focando na recomendação, na qual cria-se um código HTML, com uma sequência lógica de leitura para percorrer links, controles de formulários e objetos, sendo essa sequência determinada pela ordem em que se encontra no código HTML. Essa recomendação, segundo a versão atual do eMAG, é a de:


A

não utilizar tabelas para diagramação


B

utilizar corretamente os níveis de cabeçalho


C

fortalecer âncoras para ir direto ao bloco de conteúdo


D

ordenar de forma lógica e intuitiva a leitura e a tabulação

Práticas de ensino mapeadas em pesquisas brasileiras sobre cidadania digital enfatizam a necessidade de conscientizar os estudantes sobre os riscos e as melhores práticas para a preservação de dados e a privacidade. Marque a alternativa CORRETA que corresponde a uma ação representa uma prática fundamental de segurança digital que deve ser ensinada na educação básica.


A

Clicar em todos os links recebidos por e-mail para verificar seu conteúdo.


B

Criar senhas fortes, combinando letras, números e símbolos, e não compartilhá-las.


C

Compartilhar senhas com amigos para facilitar o acesso a contas.


D

Utilizar a mesma senha para todos os serviços online.

No contexto das boas práticas de desenvolvimento de software, o princípio DRY (Don't Repeat Yourself) é amplamente utilizado para melhorar a qualidade e a manutenibilidade dos sistemas. Diante disso, assinale a alternativa que apresenta a definição CORRETA do princípio DRY.


A

Refere-se à necessidade de evitar a repetição de requisitos de negócio ao longo da documentação do sistema.


B

Está relacionado à prática de evitar repetição de código, promovendo reutilização e centralização da logica.


C

Consiste em impedir a duplicação de interfaces gráficas para manter a consistência visual do sistema.


D

Diz respeito à eliminação de repetição de dados armazenados em banco de dados, visando normalização.


E

Trata da redução de repetição de testes automatizados, evitando redundância nos cenários de teste.

A implementação de controles de segurança cibernética, como os recomendados pelo CIS Control v8 e pelo NIST SP 800-53 rev. 5, deve sempre considerar a integração de princípios de privacidade, conforme orientado no CIS Control v8 — Guia Complementar de Privacidade, para garantir uma abordagem holística na proteção de dados e privacidade das informações.


C

Certo


E

Errado

Durante o desenvolvimento de um projeto colaborativo no GitHub, um Técnico da equipe realizou commits diretamente na branch principal (main) sem passar por uma revisão de código via Pull Request. A prática mais indicada para corrigir essa situação e minimizar o impacto na equipe é:


A

Criar uma nova branch a partir do commit anterior às mudanças realizadas, mover os commits problemáticos para essa nova branch com o comando git cherry-pick e reverter os commits na branch principal.


B

Excluir os commits diretamente da branch principal com o comando git reset --hard HEAD~~n e solicitar que todos os membros da equipe executem um git pull --force.


C

Solicitar que o desenvolvedor apague a branch principal do repositório remoto, recrie-a com a versão correta do código e envie as alterações novamente.


D

Reverter os commits problemáticos utilizando o comando git reverse, criando commits inversos diretamente na branch principal para apagar as alterações indesejadas.


E

Utilizar o comando git undo --last-commits 3 para apagar os três últimos commits diretamente na branch principal, restaurando o estado anterior do código (podem ser apagados mais commits, se necessário).

Uma forma de garantir que um modelo de linguagem revise cláusulas de confidencialidade em contratos com alta precisão é fornecer exemplos concretos de cláusulas corretas e incorretas, para que o modelo aprenda o padrão desejado antes de analisar novas cláusulas.


A técnica de Engenharia de Prompt que descreve corretamente esse processo é chamada:


A

zero-shot prompt.


B

self-consistency prompt.


C

chain-of-thought prompt.


D

soft prompt.


E

few-shot prompt.

Durante a execução de um projeto de desenvolvimento de um aplicativo governamental, o gerente de projetos realiza verificações detalhadas do código-fonte, usando checklists para assegurar que os padrões de codificação e segurança estão sendo cumpridos. Segundo o PMBOK (PMI, 2017), essa atividade é um exemplo de qual ferramenta ou técnica de controle da qualidade?


A

Auditoria de Qualidade.


B

Planejamento da Qualidade.


C

Controle Estatístico de Processos.


D

Inspeção.


E

Análise de Documentos.

Conforme a Portaria n.º 131/2021 do CNJ, a análise das mudanças a serem implementadas no código-fonte das soluções da PDPJ-Br é responsabilidade do grupo revisor do código-fonte, e, antes de ser encaminhado para tal análise, o código-fonte objeto da mudança deverá ser submetido à ferramenta de análise sintática automatizada de qualidade de código, segundo os parâmetros de complexidade e manutenibilidade definidos pelo CNJ.


C

Certo


E

Errado

Ao revisar um trecho de código de um colega, um professor de linguagem computacional se depara com a seguinte situação:


def process data(input):

data = []

for i in range(len(input)):

if input[i] > 0:

data.append(input[i] * 2)

total = 0

for x in data: total += x

avg = total / len(data) if data else 0

result = []

for val in data:

if val > avg: result.append(val)

return result


Considerando as boas práticas de programação, qual alternativa descreve a melhor abordagem para refatorar esse código?


A

Apenas melhorar os nomes das variáveis e adicionar comentários explicando cada seção do código.


B

Manter a estrutura atual, mas adicionar tratamento de exceções para divisão por zero no cálculo da média.


C

Combinar todos os loops em um único loop para melhorar a eficiência, mesmo que isso torne o código mais complexo.


D

Converter o código para uma linguagem de programação mais eficiente, como C++, em vez de modificar a versão em Python.


E

Dividir o código em funções especializadas com nomes descritivos, substituir loops complexos por compreensões de lista e adicionar um docstring.

Ano: 2025
Prova: CESPE/CEBRASPE - PCDF - Gestor de Apoio - Área: Analista de Informática Desenvolvimento de Sistemas . - 2025

O SonarQube tem uma abordagem embasada no princípio de que o código da base em produção deve ser formatado e revisado para garantir que se usem as interfaces de programação e os recursos de linguagem apropriados.


C

Certo


E

Errado

Considere que uma equipe de desenvolvimento está construindo uma aplicação de cadastro de usuários. O analista de sistemas é responsável por garantir que os dados recebidos do formulário de cadastro sejam processados de forma segura, evitando possíveis falhas ou ataques.


O código a seguir é uma parte da função que recebe o nome de usuário enviado pelo formulário:


Imagem associada para resolução da questão


Com base no caso apresentado, e considerando as práticas de programação defensiva e de codificação segura, analise as afirmativas a seguir.


I. A verificação if (nomeUsuario != null) é um exemplo de programação defensiva, pois impede que a aplicação gere um erro de NullPointerException se a variável não for inicializada.

II. O método trim().toLowerCase() remove caracteres especiais e, por si só, é suficiente para prevenir ataques de injeção de SQL ou scripts maliciosos.

III. Para tornar o código mais robusto, seria uma boa prática verificar também se o nomeUsuario não está vazio — ex: nomeUsuario.isEmpty() — antes de prosseguir com o processamento.


Estão corretas as afirmativas


A

I e II, apenas.


B

I e III, apenas.


C

II e III, apenas.


D

I, II e III.

Ao realizar uma revisão de código no sistema de protocolo, o Analista de Programação identificou vários trechos de código que repetem a lógica de validação de CPF/CNPJ em diferentes classes. Ele sugere a refatoração para colocar essa lógica em uma classe utilitária única.


Assinale qual princípio de desenvolvimento e reuso que a refatoração proposta visa satisfazer.


A

KISS.


B

DRY.


C

YAGNI.


D

OCP.


E

DIP.

Ana e Ricardo são técnicos judiciários do TRE-TO especialistas em programação de sistemas e estão utilizando a abordagem de programação em pares para implementar um novo sistema de gestão de processos eleitorais. Durante o desenvolvimento, Ana assume a função de revisar continuamente o código escrito, identificar possíveis melhorias e sugerir ajustes para garantir que a solução siga boas práticas e padrões de qualidade. Essa abordagem tem como objetivo aprimorar a qualidade do código e reduzir erros durante o desenvolvimento. Com base no exposto, assinale a alternativa que apresenta corretamente o papel desempenhado por Ana.


A

Driver.


B

Navigator.


C

Watcher.


D

Compiler.


E

Typer.

O processo de identificação e tratamento de problemas de segurança no projeto de aplicações ou sistemas, ou seja, antes que o código seja desenvolvido, é conhecido como:


A

teste de invasão.


B

revisão de código.


C

modelagem de ameaças.


D

gerenciamento de vulnerabilidades.

Durante um projeto de desenvolvimento de uma solução, um desenvolvedor constrói a seguinte função em Python:


def autenticar(usuario, senha):

query = f"SELECT * FROM usuarios WHERE

nome = '{usuario}' AND senha = '{senha}'"

resultado = banco.executar(query)

if resultado:

return "Login bem-sucedido"

else:

return "Credenciais inválidas"


luz dos princípios e boas práticas de código seguro, assinale a alternativa CORRETA.


A

O código está seguro, pois utiliza interpolação de strings para montar a consulta SQL, o que facilita a leitura e evita erros de sintaxe; além disso, o retorno genérico em caso de falha impede vazamento de informações sensíveis.


B

A principal vulnerabilidade está na ausência de criptografia da senha, sendo recomendável aplicar um algoritmo de hash como SHA-1 diretamente na string da senha após armazená-la ou compará-la no banco de dados.


C

O código apresenta risco de injeção de SQL, pois concatena diretamente os parâmetros do usuário na query, de modo que a solução adequada envolve o uso de consultas parametrizadas e o armazenamento de senhas com hash seguro.


D

A revisão de código deve focar apenas na lógica de autenticação e não precisa considerar a forma como a consulta é construída, pois a responsabilidade pela segurança da consulta é do banco de dados.

 
 
Gerar simulado