Ao planejar o desenvolvimento de um algoritmo de automação para o PJe, o analista comparou as linguagens Java, Python e C. À luz dos conceitos de tipagem e execução, é correto afirmar que:
- A) Python possui tipagem dinâmica e forte, enquanto Java possui tipagem estática e forte, e C possui tipagem estática e fraca.
- B) Python possui tipagem dinâmica e fraca, enquanto Java possui tipagem estática e fraca, e C possui tipagem dinâmica e forte.
- C) Ambas as linguagens Python e Java possuem tipagem dinâmica e fraca, salvo se executadas sob ambientes híbridos controlados.
Para apoiar os sistemas integrados ao Active Directory, o Tribunal adota C# no ecossistema .NET. De acordo com a arquitetura do .NET, as funções de executar o código MSIL e gerenciar a memória (Garbage Collection) competem ao:
- A) Common Type System (CTS), que atua como a máquina virtual responsável pela compilação JIT de banco de dados.
- B) Common Language Runtime (CLR), que atua como a máquina virtual da plataforma Microsoft, semelhante à JVM.
- C) Language Integrated Query (LINQ), que funciona como o compilador estático do código executável nativo.
Durante o processamento do número do NUP, o programador do Tribunal escreveu o código em Java: String nup = '0001234'; nup.concat('-56.2026.8.06.0000'); System.out.println(nup);. O resultado impresso e a justificativa técnica são:
- A) '0001234-56.2026.8.06.0000', visto que métodos de concatenação de strings alteram diretamente o valor do objeto original na memória heap.
- B) '0001234-56.2026.8.06.0000', visto que o compilador JIT realiza o auto-boxing e a reatribuição automática do literal.
- C) '0001234', visto que objetos String são imutáveis e o resultado do método concat não foi reatribuído à variável.
Em um fluxo de validação de prioridades de processos, o desenvolvedor escreveu a seguinte instrução: int x = 5; int y = 2; if (x > 10 && ++y > 2) {}. Após a avaliação, os valores de x e y na memória do sistema serão:
- A) x = 5 e y = 3.
- B) x = 5 e y = 2.
- C) x = 6 e y = 3.
Ao codificar o fluxo de distribuição de processos, o analista escreveu: int classe = 1; switch(classe) { case 1: System.out.print('A'); case 2: System.out.print('B'); break; default: System.out.print('C'); }. O resultado final exibido pelo código é:
- A) 'AB', devido ao efeito fall-through gerado pela ausência da instrução break no primeiro case.
- B) 'A', visto que a linguagem de programação interrompe a execução do switch de forma implícita em cada bloco condicional.
- C) 'ABC', visto que blocos de múltipla escolha sem tratamento robusto geram exceções checked que forçam a execução de todos os caminhos.
Mostrando 5 de 15 questões. Inicie o simulado para ver todas!