Questões de Concurso Para if sul rio-grandense

Foram encontradas 2.173 questões

Resolva questões gratuitamente!

Junte-se a mais de 4 milhões de concurseiros!

Q3208915 Redes de Computadores
Uma aplicação web foi desenvolvida utilizando Node.js com o framework Express. O objetivo é implementar um middleware simples de autenticação para proteger a rota /login. Este middleware verifica o cabeçalho Authorization das requisições HTTP, validando um token pré-definido. Além disso, o código inclui o tratamento de erros de autenticação e uma resposta padrão para rotas inexistentes.
Considere o seguinte trecho de código que implementa essa funcionalidade.

var express = require('express'); var app = express();

const auth = (req, res, next) => {  try {  const token = req.headers.authorization.split(' ')[1];  if (token !== 'XXX') {  throw new Error('ERROR!');

 }  next();  }  catch (err) {  res.status(401).send({ message: 'Unauthorized' });  } } app.use('/login', auth); app.post('/login', (req, res) => {  res.send('Hello World'); });
app.use((req, res) => {  res.status(404).send({ message: 'Not Found' }); });

app.listen(3000);

Com base no comportamento deste código, considere as seguintes requisições HTTP feitas ao servidor:

I. POST /login/auth HTTP/1.1  Authorization: Bearer XXX

II. GET /login HTTP/1.1  Authorization: XXX

III. POST /login HTTP/1.1  Authorization: Bearer XXX

IV. POST /login HTTP/1.1  Authorization: XXX


Dado o código apresentado, qual é o status de resposta esperado para cada uma das requisições listadas acima?
Alternativas
Q3208914 Programação
Em uma aplicação Node.js usando o framework Express, é possível criar middlewares para diferentes propósitos, como autenticação, manipulação de requisições, e registro de logs. Suponha que você tenha a seguinte função de middleware de autenticação que verifica se o usuário tem permissão para acessar uma rota específica com base no papel (role) associado ao usuário. 

function authRoleMiddleware(role) {  return (req, res, next) => {  if (req.user.role !== role) {  return res.status(403).send('Access forbidden: Insufficient permissions');  }  next();  } }

Este middleware é utilizado da seguinte forma para restringir o acesso de rotas a usuários com o papel de “admin”:

var express = require('express'); var app = express();

app.use('/admin', authRoleMiddleware('admin')); app.get('/admin', (req, res) => {  res.send('Welcome, admin!'); });

app.listen(3000);


Considerando o funcionamento desse middleware, qual seria um problema que poderia surgir ao aplicá-lo em rotas que utilizam diferentes middlewares, e como esse problema pode ser resolvido?
Alternativas
Q3208913 Programação
Em uma aplicação Node.js usando o framework Express, existem três formas principais de capturar dados de uma requisição: req.body, req.params, e req.query. Cada uma dessas formas possui um uso específico. Considere o seguinte código que implementa uma rota de atualização de usuário.

var express = require('express'); var app = express();

app.put('/users/:id', (req, res) => {  const userId = req.params.id;  const userName = req.body.name;  const isActive = req.query.active;

 if (!userId || !userName) {  return res.status(400).send('Missing required parameters.');  }  res.send(`  User ${userId} updated.  Name: ${userName},  Active: ${isActive}  `); });

app.listen(3000);


Com base no código acima, qual das afirmativas abaixo descreve corretamente como os diferentes tipos de parâmetros devem ser usados para obter o comportamento esperado? 
Alternativas
Q3208912 Programação
O gerenciamento de pacotes em um projeto Node.js é facilitado pelo npm, que utiliza o arquivo package.json para armazenar informações sobre o projeto, dependências e scripts. O package.json é gerado automaticamente ao iniciar um novo projeto com o comando npm init.

Os scripts definidos na seção “scripts” do package.json permitem automatizar tarefas comuns, como a execução de testes, a construção de projetos e a inicialização do servidor. Esses scripts podem ser executados usando o comando npm run . Além disso, o npm permite a instalação de pacotes como dependências de produção ou de desenvolvimento.
Considerando o uso correto do npm e do arquivo package.json, analise as afirmativas a seguir:

I. O comando npm run é utilizado para executar scripts personalizados definidos na seção “scripts” do package.json, permitindo a automação de tarefas como testes e construção de projetos. O npm executa esses scripts em um ambiente isolado, onde as dependências do projeto são acessíveis.

II. O arquivo package.json é opcional em projetos pequenos, pois o npm pode gerenciar pacotes instalados globalmente sem a necessidade de um manifesto local.

III. Ao instalar um pacote com o comando npm install --save-dev , o pacote será adicionado à seção “devDependencies” do package.json, indicando que é uma dependência de desenvolvimento e não deve ser incluído em builds de produção.

IV. O diretório node_modules, onde os pacotes instalados pelo npm são armazenados, deve ser incluído no controle de versão para garantir que todas as dependências sejam restauradas em ambientes de desenvolvimento e produção.


Estão corretas apenas as afirmativas
Alternativas
Q3208911 Redes de Computadores
Em uma aplicação Node.js com o framework Express, as rotas HTTP (POST, DELETE, GET, e PUT) são usadas para realizar diferentes operações com recursos. Seguindo as boas práticas de APIs REST, esses verbos representam ações coerentes com o padrão CRUD (Create, Read, Update, Delete), assegurando que a API siga padrões de design que promovem consistência, escalabilidade e legibilidade do código.
Agora, considere o seguinte trecho de código, onde um CRUD básico para produtos está implementado. 

var express = require('express'); var app = express();

app.get('/products', (req, res) => {  // implementação da rota });

app.post('/products', (req, res) => {  // implementação da rota });

app.put('/products/:id', (req, res) => {  // implementação da rota });

app.delete('/products/:id', (req, res) => {  // implementação da rota });

app.listen(3000);


Com base no comportamento esperado das rotas HTTP em um CRUD para produtos, qual das afirmativas está INCORRETA?

Alternativas
Q3208910 Programação
Considere que o script PHP a seguir é executado em um servidor Web com PHP instalado e a extensão GD devidamente configurada. Considere ainda que, no diretório em que está o script em questão, existe um arquivo fonts/font.ttf que armazena um formato de fonte. 



Imagem associada para resolução da questão



Com base no código em questão, é correto afirmar que
Alternativas
Q3208909 Programação
O formato JSON (JavaScript Object Notation) é uma ferramenta poderosa e amplamente utilizada para manipulação e troca de dados estruturados. A Linguagem PHP oferece suporte nativo ao formato, sem necessidade de instalações adicionais ou configurações especiais.
Considerando o suporte nativo da linguagem, analise o script em PHP que segue.

<?php $data = [  "nome" => "João",  "idade" => 30,  "habilidades" => ["PHP", "JavaScript", "SQL"],  "ativo" => true,  "saldo" => null ];
$json = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); echo $json; ?>

Qual das opções apresenta a saída do código acima?
Alternativas
Q3208908 Programação
Em sistemas para a internet, muitas vezes se faz necessário o armazenamento de estado entre requisições. Para tanto, servidores web utilizam principalmente dois recursos: variáveis de sessão e cookies.

Considere que, em um script PHP, é executada a linha de código a seguir:
setcookie(‘xxx’, ‘yyy’, time()+30);

Considere as seguintes asserções:

I. A linha cria um cookie com o nome ‘xxx’ armazenando nele a string ‘yyy’.
II. O cookie definido pela linha de código em questão irá expirar em 30 minutos após a sua criação.
III. O valor armazenado no cookie pode ser acessado, utilizando a seguinte chamada de função: getcookie(‘xxx’).
IV. O valor armazenado no cookie pode ser acessado através da superglobal $_COOKIE, da seguinte forma: $_COOKIE[‘yyy’].

Está(ão) correta(s) apenas a(s) seguinte(s) asserção(ões)
Alternativas
Q3208907 Banco de Dados
A tabela Livros a seguir armazena informações sobre uma coleção de livros e está definida em um banco de dados MySQL: 

Imagem associada para resolução da questão

Considere que, em um script PHP, uma conexão com o banco de dados é aberta utilizando o seguinte trecho de código:
... $db = new mysqli(‘localhost’, ‘user’, ‘pass’, ‘Livros’); if (mysqli_connect_errno()) {  echo ‘<p>Erro: Não foi possível conectar ao BD.</p>’;  exit; }

Qual opção apresenta o trecho de código capaz de exibir a quantidade de livros cadastrados no banco de dados?
Alternativas
Q3208906 Programação

Em PHP, as funções include e require são usadas para incluir o conteúdo de um arquivo em outro.

Sobre o comportamento dessas duas funções, é correto afirmar que 

Alternativas
Q3208905 Programação
Polimorfismo é um princípio fundamental da Programação Orientada a Objetos (POO) que promove a extensibilidade dos sistemas, permitindo a inclusão de novas classes e funcionalidades com mínimas alterações no código existente. Ele se manifesta em dois tipos principais: o polimorfismo por sobrecarga (estático) e o polimorfismo por sobrescrita (dinâmico).

A respeito do conceito apresentado, avalie as asserções a seguir e a relação proposta entre elas:

I. O polimorfismo por sobrecarga em Java permite que métodos com o mesmo nome executem diferentes comportamentos com base no número ou no tipo de parâmetros fornecidos.
II. No polimorfismo por sobrecarga, a escolha de qual método será invocado é feita em tempo de execução, permitindo maior flexibilidade no comportamento dinâmico dos objetos.

Após feita a análise, é correto afirmar que
Alternativas
Q3208904 Programação
Na Programação Orientada a Objetos (POO), os modificadores de acesso são palavra-chave que controlam a visibilidade e o comportamento de classes, atributos e métodos. Eles podem restringir o acesso a esses elementos, tanto dentro de uma classe quanto entre subclasses ou pacotes, além de definir se pertencem à classe ou à instância.
Sobre o tema modificadores, associe os termos às descrições, utilizando os códigos a seguir:

I. static. II. public. III. private. IV. protected.


( ) Ao ser definido em um elemento, significa que pode ser acessado apenas dentro da mesma classe.
( ) Ao ser definido em um elemento, significa que pode ser acessado apenas entre classes que se relacionam em uma hierarquia de herança.
( ) Ao ser definido em um elemento, significa que pertence à classe, em vez de pertencer a instâncias individuais dessa classe.
( ) Ao ser definido em um elemento, significa que pode ser acessado por qualquer classe, seja dentro ou fora do pacote da classe.

A associação correta, de cima para baixo, é: 
Alternativas
Q3208903 Programação
As classes abstratas e concretas são fundamentais para organizar e estruturar sistemas de forma eficiente e flexível, pois promovem a reutilização de código e simplificam os processos de manutenção. O uso dessas classes permite ao desenvolvedor criar sistemas mais robustos, modulares e aderentes aos princípios da Programação Orientada a Objetos (POO).

Tendo como referência o tema classes concretas, classes abstratas e métodos abstratos, analise as afirmativas abaixo, assinalando V, para as Verdadeiras, e F, para as Falsas.

( ) As classes concretas atuam como modelos que definem um conjunto de características e comportamentos que suas subclasses devem seguir, sem estarem diretamente associadas a objetos.
( ) Superclasses abstratas obrigam suas subclasses a sobrescrever e implementar os métodos declarados como abstratos.
( ) Uma subclasse concreta deve fornecer implementações concretas de todos os métodos abstratos herdados da superclasse; caso contrário, será considerada abstrata também.

A sequência correta, de cima para baixo, é:
Alternativas
Q3208902 Programação
A ligação dinâmica é um dos elementos da Programação Orientada a Objetos (POO) que confere flexibilidade a essa metodologia de desenvolvimento de sistemas.
Com relação ao tema apresentado, analise as afirmativas a seguir:

I. Na ligação dinâmica, um método será executado sempre da mesma maneira, independentemente do objeto ou da interação.
II. Na ligação dinâmica, a vinculação tardia é realizada com base na referência armazenada na variável da superclasse, selecionando o método correspondente em tempo de execução.
III. A ligação dinâmica permite determinar, em tempo de execução, qual versão de um método será chamada com base no objeto.
IV. A ligação dinâmica permite que classes, que compartilham a mesma interface, forneçam suas próprias implementações de um mesmo método.

Estão corretas apenas as afirmativas
Alternativas
Q3208901 Programação
Os modificadores de variáveis são palavras-chave capazes de alterar a visibilidade desses elementos, restringindo seu acesso para leitura e alteração. Considere as seguintes afirmativas:

I- Private                             Torna a variável visível apenas para sua classe.
II- Protected                        A variável só é visível para a classe que foi criada e suas herdeiras.
III- Public                            Pode ser acessada de qualquer classe.
IV- Sem modificadores      A variável pode ser usada por todas as classes do programa.


Estão corretas apenas as afirmativas
Alternativas
Q3208900 Programação
A Programação Orientada a Objetos (POO) é um paradigma de programação que revolucionou a forma como desenvolvemos software. Baseada em conceitos como encapsulamento, herança e polimorfismo, a POO oferece uma abordagem estruturada e modular para o desenvolvimento de sistemas complexos. No campo da educação, especialmente no ensino de POO, pesquisadores têm buscado métodos que facilitem o processo de aprendizagem, já que muitas vezes, alunos enfrentam dificuldades para compreender esses conceitos abstratos.

Texto publicado no XXXVI Congresso da Sociedade Brasileira de Computação diz que

“A Programação Orientada a Objetos (POO) mostra-se um paradigma de programação, influente, pelo qual a maior parte dos cursos da área de computação incluem a POO como parte de seus currículos. No entanto, o ensino de POO não é uma tarefa trivial.

Há alertas sobre as dificuldades encontradas por alunos e professores no ensino de POO; os autores apontam que é difícil para os alunos entenderem conceitos abstratos como classes, instâncias, encapsulamento, herança e construtores.

Apesar de muitos esforços terem sido feitos desde então, as disciplinas de programação ainda são responsáveis por um alto índice de reprovação nos cursos de computação.”

Considerando os conceitos de Programação Orientada a Objetos, avalie as seguintes asserções e a relação proposta entre elas:

I. A herança de classes é uma das principais características da Programação Orientada a Objetos (POO). Por meio dessa característica do paradigma POO, um objeto recebe características e comportamentos de outro objeto. Quando estiver criando classes, você vai perceber que essa possibilidade permite o reaproveitamento de código e torna o trabalho mais racional e otimizado.

PORQUE

II. Novas classes podem ser definidas em termos das classes existentes, usando-se herança de classe. Quando uma subclasse herda de uma classe-mãe, ela inclui as definições de todos os dados e operações que a classe-mãe define. Os objetos que são instâncias das subclasses conterão todos os dados definidos pela subclasse e suas classes mãe, e eles serão capazes de executar todas as operações definidas por esta subclasse e seus “ancestrais”.


A respeito dessas asserções, qual é a opção correta?
Alternativas
Q3208899 Programação
Os padrões de projeto são classificados por dois critérios: finalidade e escopo. O primeiro critério, chamado finalidade, reflete o que um padrão faz. Os padrões podem ter finalidade de criação, estrutural ou comportamental.

Os padrões de criação abstraem o processo de instanciação. Eles ajudam a tornar um sistema independentemente de como seus objetos são criados, compostos e representados.

Um padrão de criação de classe usa a herança para variar a classe que é instanciada, enquanto que um padrão de criação de objeto delegará a instanciação para outro objeto. Os padrões de criação se tornam importantes à medida que os sistemas evoluem no sentido de depender mais da composição de objetos do que da herança de classes.

Algumas vezes, os padrões de criação competem entre si. Por exemplo, há casos em que tanto Prototype (121) como Abstract Factory (95) podem ser usados proveitosamente.

Em outras ocasiões, eles são complementares: Builder (104) pode usar um dos outros padrões para implementar quais componentes são construídos. Prototype (121) pode usar Singleton (130) na sua implementação.

Dessa forma, é importante identificar as características de cada padrão.

Faça a associação correta entre as colunas, relacionando o tipo de padrão e suas características.

1-Abstract Factory (95). 2-Builder (104). 3-Factory Method (112). 4-Prototype (121). 5-Singleton (130).

A- Fornece uma interface para criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes concretas.
B- Garante que uma classe tenha somente uma instância e fornece um ponto global de acesso para ela.
C- Especifica os tipos de objetos a serem criados, usando uma instância prototípica, e cria novos objetos copiando este protótipo.
D- Separa a construção de um objeto complexo da sua representação, de modo que o mesmo processo de construção possa criar diferentes representações.
E- Define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe a ser instanciada. Permite a uma classe postergar (defer) a instanciação às subclasses.

Qual é a associação correta entre números e letras?
Alternativas
Q3208898 Programação
Quando um objeto é criado em programação orientada a objetos, o método responsável por inicializar o objeto é conhecido como __________. Esse método deve ter o mesmo nome da __________ e pode ser usado para definir valores iniciais para os atributos do objeto. Por exemplo, em um restaurante que vende comida por quilo, o peso do prato pode ser descontado automaticamente da pesagem total por meio desse método. Caso não haja valores fornecidos, os atributos do objeto assumem __________ que foram definidos previamente.
As palavras que preenchem a sentença, completando-a corretamente, são:
Alternativas
Q3208897 Programação
Um programador está desenvolvendo um sistema utilizando o paradigma de programação orientada a objetos para um posto de combustível. Neste contexto, considere a definição de classe a seguir utilizando Linguagem Java.

class BombaDeCombustivel{  int id;  private float qtde;  private float precoTotal;  public static precoPorLitro = 6.10;

 public void setQtde(float qtde){  this.qtde = qtde;  this.precoTotal = qtde*this.precoPorLitro;  } }
Sobre o(os) atributo(s) da classe BombaDeCombustivel, é correto afirmar que 
Alternativas
Q3208896 Programação
Em um sistema desenvolvido para o setor de recursos humanos de uma empresa, as informações de nome e salário de cada colaborador são armazenadas em uma classe chamada "Colaborador". Essas informações não podem ser acessadas diretamente por outras partes do programa, sendo necessário o uso de métodos específicos para alterar ou obter esses dados.
A restrição apresentada na classe "Colaborador" é um exemplo de qual conceito de programação orientada a objetos?
Alternativas
Respostas
81: D
82: A
83: C
84: C
85: D
86: C
87: C
88: D
89: A
90: B
91: C
92: B
93: D
94: D
95: C
96: B
97: D
98: A
99: D
100: B