

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
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.
3 • 1 • 5 • 2 • 4
3 • 2 • 4 • 5 • 1
3 • 4 • 5 • 2 • 1
5 • 2 • 3 • 1 • 4
5 • 4 • 3 • 1 • 2
De acordo com as práticas de clean code, deve-se evitar a notação húngara na definição de nomes de variáveis.
Certo
Errado
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:
Fernet;
JSON Web Key;
JSON Web Token;
JSON Web Signature;
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:
não utilizar tabelas para diagramação
utilizar corretamente os níveis de cabeçalho
fortalecer âncoras para ir direto ao bloco de conteúdo
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.
Clicar em todos os links recebidos por e-mail para verificar seu conteúdo.
Criar senhas fortes, combinando letras, números e símbolos, e não compartilhá-las.
Compartilhar senhas com amigos para facilitar o acesso a contas.
Utilizar a mesma senha para todos os serviços online.


Seu próximo nível começa aqui

Seu próximo nível começa aqui
Destrave a preparação completa para sua aprovação. Com a Assinatura Ilimitada, você estuda com os melhores professores do Brasil e todos os recursos Gran.
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.
Refere-se à necessidade de evitar a repetição de requisitos de negócio ao longo da documentação do sistema.
Está relacionado à prática de evitar repetição de código, promovendo reutilização e centralização da logica.
Consiste em impedir a duplicação de interfaces gráficas para manter a consistência visual do sistema.
Diz respeito à eliminação de repetição de dados armazenados em banco de dados, visando normalização.
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.
Certo
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 é:
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.
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.
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.
Reverter os commits problemáticos utilizando o comando git reverse, criando commits inversos diretamente na branch principal para apagar as alterações indesejadas.
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:
zero-shot prompt.
self-consistency prompt.
chain-of-thought prompt.
soft prompt.
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?
Auditoria de Qualidade.
Planejamento da Qualidade.
Controle Estatístico de Processos.
Inspeção.
Análise de Documentos.


Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
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.
Certo
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?
Apenas melhorar os nomes das variáveis e adicionar comentários explicando cada seção do código.
Manter a estrutura atual, mas adicionar tratamento de exceções para divisão por zero no cálculo da média.
Combinar todos os loops em um único loop para melhorar a eficiência, mesmo que isso torne o código mais complexo.
Converter o código para uma linguagem de programação mais eficiente, como C++, em vez de modificar a versão em Python.
Dividir o código em funções especializadas com nomes descritivos, substituir loops complexos por compreensões de lista e adicionar um docstring.
Uma política de segurança da informação pode ser considerada eficaz mesmo se não for revisada regularmente, desde que tenha sido bem elaborada inicialmente.
Certo
Errado
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.
Certo
Errado
Para evitar a interrupção do módulo principal do programa Python, recomenda-se tratar como exceção erros tais quais divisão por zero, entre outros.
Certo
Errado


Seu próximo nível começa aqui

Seu próximo nível começa aqui
Destrave a preparação completa para sua aprovação. Com a Assinatura Ilimitada, você estuda com os melhores professores do Brasil e todos os recursos Gran.
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:

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
I e II, apenas.
I e III, apenas.
II e III, apenas.
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.
KISS.
DRY.
YAGNI.
OCP.
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.
Driver.
Navigator.
Watcher.
Compiler.
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:
teste de invasão.
revisão de código.
modelagem de ameaças.
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.
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.
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.
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.
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.