Questões de Noções de Informática - Software para Concurso
Foram encontradas 2.078 questões
Em computação muitos problemas são recorrentes e boas soluções para eles já foram devidamente catalogadas pois são consideras soluções consagradas. Com o intuito de definir uma nomenclatura universal no mundo do desenvolvimento de software, foram estabelecidos os padrões de projeto. A respeito dos nomes e conceitos que envolvem os diversos padrões de projeto atualmente existentes, analise as afirmativas abaixo e marque alternativa correta.
-
I. Singleton e lterator são exemplos de padrões de projeto comportamentais.
II. Command e Prototype são exemplos de padrões de projeto de criação.
III. Adapter é o nome do padrão de projeto que se propõe a ser um intermediador entre uma classe não adaptável e uma interface esperada. Pode ser útil, por exemplo, para tomar "plugável" a interface de comunicação entre um sistema e módulos fornecidos por terceiros, facilitando a troca de fornecedor destes módulos se necessário.
A respeito dos diagramas comportamentais presentes na Unified Modeling Language (UML), analise as afirmativas abaixo e marque alternativa correta.
-
I. São exemplos deste tipo de diagrama, o diagrama de objeto e o diagrama de componentes. O segundo é complementar ao primeiro pois apresenta detalhes do comportamento dos métodos dos objetos.
II.O diagrama de transição de estados é uma representação da situação que um objeto pode se encontrar no decorrer da execução de processos em um sistema. São exemplos de conceitos relacionados a este tipo de diagrama: Estado, Transição, Estereótipo e Perfil.
III.O diagrama de tempo tem aplicabilidade mais clara em sistemas de tempo real onde, por exemplo, a concorrência e a velocidade de acesso são fatores críticos.
Unified Modelíng Language (UML) é muito utilizada em modelagem para sistemas desenvolvidos em linguagens orientadas a objeto. Ela possui um grande conjunto de diagramas, cada um deles com características e objetivos específicos. A respeito dos diagramas da linguagem UML, marque a alternativa correta.
Marque a alternativa que Indica, corretamente, o nome dos conceitos usados na modelagem de entidades que auxiliam o analista de projetos orientados a objetos na tarefa de categorização e hierarquização destas entidades. Tais conceitos estão Intimamente relacionados com o processo de identificação das relações de herança entre as entidades.
Object-Oriented Analysis (OOA) é a disciplina na área da computação que busca identificar o que precisa ser feito em um projeto de desenvolvimento de software orientado a objeto. Nela observamos um problema ou sistema com o intuito de identificar os objetos presentes mas também, as relações que existem entre eles. Essa disciplina envolve o entendimento de muitos conceitos. A respeito destes, analise as afirmativas abaixo e marque alternativa correta.
-
I. A composição é uma relação entre duas classes onde a existência de uma delas depende da existência da outra.
II. O encapsulamento é o processo de abstração que define quais classes em nosso projeto serão criadas.
III. A agregação é uma relação onde uma classe pode ser compartilhada com outra e a existência de delas independe uma da outra.
Git é atualmente o principal sistema de controle de versões utilizado pela comunidade de desenvolvimento de software. Criado por Linus Torvalds, o Git rapidamente ganhou espaço graças aos recursos que possui e pelo fato de ser um software livre. A respeito das características deste importante sistema de controle de versões, analise as afirmativas abaixo e marque alternativa correta.
-
I. Git é bastante utilizado através do protocolo HTTP. Entretanto este não é o único protocolo suportado. É possfvel, por exemplo, acessarmos um servidor Git através do File Transfer Protocol (FTP).
II. Git é considerado veloz apesar de não realizar cópia local do histórico do código no ambiente de cada desenvolvedor envolvido no projeto. Essa performance ocorre graças à forma como esse histórico é armazenado no servidor Git, que é a fonte centralizadora e única do histórico completo.
III. Dois dos conceitos mais importantes que precisam serem assimilados quando utilizamos Git são os branches e o merge. O primeiro representa ramos que podemos criar para o nosso código fonte quando temos a necessidade de trabalhar com desenvolvimento não linear. O segundo é a operação de mesclagem que permite incorporar alterações de um ramo qualquer em um outro ramo.
Quando monitoramos as alterações de arquivos presentes em uma pasta através do sistema de controle de versões Gil. é muito comum querermos definir alguns critérios a respeito de quais arquivos devem ser monitorados ou não. No Git este tipo de configuração é feita em um arquivo. Este arquivo armazena algumas regras que podem ser alteradas pelo usuário do sistema. Marque a alternativa que indica, corretamente, o nome deste arquivo.
Java Persistence API (JPA) é uma API que define uma interface que serve de padrão para frameworks de persistência de dados, como por exemplo o Hibemate e o Eclipsellnk. Por estar relacionada à linguagem Java, JPA possibilita o mapeamento objeto-relacional para Plain Old Java Objects (POJO). Em JPA utilizamos anotações para definir características que possibilitem o mapeamento objeto relacional. Marque a alternativa que indica, respectivamente, o nome da anotação JPA que determina que um dado atributo da entidade representa um tipo de objeto de grande volume e o nome da anotação JPA que determina que um dado atributo da entidade não deve ser persistido.
O Swagger é composto por um conjunto de ferramentas que nos permite: modelar, desenvolver e documentar APls. O processo de desenvolvimento de uma API exige uma série de definições técnicas como por exemplo: dados recebidos, dados retornados, endpoínts e métodos de autenticação. O Swagger auxilia o usuário na definição de todas essas questões e facilita a construção e documentação da API que incorporará todas essas características. A respeito das ferramentas que compõem o Swagger, analise as afirmativas abaixo e marque alternativa correta.
-
I. O Swagger possui ferramentas como: SwaggerEditor, Swagger UI e Swagger Codegen. Todas essas ferramentas são gratuitas e de código aberto.
lI. O Swagger Codegen permite a criação de código fonte para sua API. Ele suporta linguagens como: aspnetcore, PHP, phyton, node, erlang.
IlI. O SwaggerEditor é ferramenta que permite a definição dos contratos e outras características que deverão existir em nossa API. Essa ferramenta nos permite salvar as definições da API em diferentes formatos como: JSON, YAML e HTML.
O Spring é um framework desenvolvido para a plataforma Java que facilita a vida do desenvolvedor quando falamos da construção de código de infraestrutura. Baseado na ideia da inversão de controle e injeção de dependência, Sprlng conta com diversos módulos que auxiliam na construção de aplicações corporativas. A respeito dos conceitos e módulos presentes no framework, analise as afirmativas abaixo e marque alternativa correta.
-
I. No Spring a utilização da inversão de controle é facilitada graças à injeção de dependência.
II. @Autowired é a notação utilizada em Spring quando desejamos trabalhar com injeção de dependência por campo.
III. Spring Boot é um dos integrantes do framework do Spring. Tem foco na missão de facilitar o processo de configuração das aplicações. Essa facilitação ocorre graças ao conceito de convenção sobre a configuração.
JSON é o nome dado para a forma de notação de objetos em linguagem JavaScript. Essa notação tem por objetivo estabelecer um padrão que permite a troca de dados entre sistemas que podem inclusive terem sido desenvolvidos em linguagens de programação distintas. Um código JSON deve respeitar um conjunto de regras para que seja considerado válido, como por exemplo, não possuir linhas de comentário. A respeito do código JSON apresentado abaixo, marque a alternativa correta.
-
{
"cliente": {
"id 1,
"nome": "Cliente 1"
},
"fornecedores": [{
"id":1
"nome":
"Fornecedor 1",
"credito": 50.5,
"ultima_compra":
"2022-05-25"
},
{
"id: 2,
"descricação":
"Fomecedor 2",
"credito": 1500
}
]
}
Application Programming Interface (API) representa um programa que tem por objetivo fornecer ou receber informações de forma facilitada e segura. Ela é amplamente utilizada para a realização de integração entre sistemas, quer seja B2B ou B2C. Especificamente em relação às APls RESTful, analise as afirmativas abaixo e marque alternativa correta.
-
I. As APls RESTful são um tipo de API baseada em tecnologia web.
II. GET, POST, PUT, DELETE e PACKED são exemplos de nomes de verbos das APls RESTful. Estes determinam a finalidade da requisição que um usuário esteja enviado para a API.
III. Em se tratando de formato de retorno de dados, podemos dizer que as APls RESTFull são agnósticas. Apesar do formato de retomo de dados JSON ser o mais utilizado, outros formatos de retorno podem ser utilizados.
Os microsserviços são uma abordagem de arquitetura no desenvolvimento de software que defende a quebra da aplicação em pequenos serviços independentes que se comunicam através de APls. É portanto uma abordagem bem diferente da tradicional arquitetura monolítica. A respeito dos conceitos que envolvem os microsserviços, analise as afirmativas abaixo e marque alternativa correta.
-
I. Os microsserviços não são uma novidade. Service-Oriented Architecture (SOA) já defendia nos anos 90 conceitos nos quais os microsserviços se baseiam, como por exemplo o baixo acoplamento entre as partes de um sistema.
II. A arquitetura de microsserviços possui diversas vantagens, elas estão relacionadas tanto ao desenvolvimento da aplicação como também ao seu deploy. Essa arquitetura traz no entanto desafios, como por exemplo, nos desapegarmos do uso constante de transações atômicas.
IlI. Quando falamos em microsserviços o Service Mesh pode ser entendido como uma camada que lida com o volume de tráfego entre os serviços, também chamado de tráfego norte-sul. Essa camada abstrai serviços compartilhados como por exemplo: novas tentativas (retry), balanceamento de carga e tempo limíte (timeout).
O Java é uma linguagem de programação orientada a objetos que tem por característica compilar o código do desenvolvedor para um bytecode que é interpretado por uma máquina Java virtual (JVM). A respeito da utilização de métodos estáticos e operadores matemáticos na linguagem Java, analise o código abaixo e marque a alternativa que indica, corretamente, o valor que será apresentado em tela ao final da sua execução.
-
import java. lang.Math;
public class Teste {
-
public static double inc(double a) {
return ++a + 1.1;
};
public static double inc(int a) {
return Math.pow(a, 2);
};
public static float inc(float a) {
return a++ + 2;
};
public static String inc(String a) {
return a+ 1;
};
public static void main(String args[]) {
float a, b = 1000;
a= inc(b);
System.out.println(a);
}
}
COBIT é o nome de um framework para governança e gerenciamento de Tecnologia da Informação (TI) em empresas. Ele identifica as boas práticas da área e também apresenta conceitos relacionados. Dentre os benefícios que as empresas podem alcançar na área de TI ao adotar o COBIT, podemos citar: aumento de eficiência, otimização dos investimentos e melhorias na segurança da informação. Para alcançar tais objetivos, o COBIT estabelece cinco diferen1es princípios. o princípio de Abordagem Holística prevê a existência de sete diferentes habilitadores. Estes habilitadores representam a chave que facilitará a implementação da governança de TI de forma abrangente na empresa. Marque a alternativa que indica, corretamente, apenas habilitadores descritos pelo COBIT 5.
O ITIL é um framework concebido para descrever processos e tarefas relacionados ao gerenciamento de serviço de Tecnologia da Informação (TI). Este framework recebe atualizações à medida que evolui. Em sua versão 3, lançada em 2007, elenca fases do ciclo de vida de serviço em volumes que por sua vez listam os processos que devem ser gerenciados naquela fase. A respeito dos volumes e processos do ITIL versão 3, analise as afirmativas abaixo e marque a alternativa correta.
-
I. O volume de Operação de Serviço é o responsável pelo tema gerenciamento de incidentes.
lI. Gerenciamento de Fornecedores e Gerenciamento de Capacidade são temas pertencentes ao volume de Desenho de Serviço.
IlI. O ITIL v3 é composto por 4 diferentes volumes, são eles: Operação de Serviço, Desenho de Serviço, Estratégia de Serviço e Melhoria Continua de Serviço
Em sua 5ª edição, lançada em 2013, o PMBOK abrange 10 áreas de conhecimentos compostas por diversos processos. Esses processos se relacionam ainda com 5 grandes grupos de processos: Iniciação, Monitoramento e Controle, Planejamento, Execução e Encerramento. A respeito dos grupos de processos, áreas de conhecimento e processos do PMBOK 5ª edição, analise as afirmativas abaixo e marque alternativa correta.
-
I. São exemplos de áreas de conhecimento do PMBOK: Gerenciamento de Risco, Gerenciamento de Escopo, Gerenciamento de Qualidade e Gerenciamento de Contratos.
lI. Uma das principais novidades da 5ª edição do PMBOK foi a inclusão de uma nova área de conhecimento, Gerenciamento de Partes Interessadas.
IlI. Processos relacionados à área de conhecimento de Gerenciamento de Riscos estão presentes em todos os grupos de processos do PMBOK 5ª edição.
Uma das principais causas de fracasso no desenvolvimento de projetos de software está relacionada com a especificação de requisitos. Isso pode ocorrer por falha no levantamento destes em etapas Iniciais do projeto, mas também na fase de manutenção, por conta da mudança constantes dos mesmos. A respeito dos conceitos que envolvem requisitos e dos procedimentos de levantamento deles, analise as afirmativas abaixo e marque alternativa correta.
-
I. Observação in-loco, estudo de documentos de processos da área de domínio do produto, entrevistas com colaboradores envolvidos na operação da área de domínio do produto, são apenas alguns exemplos de meios se levantar requisitos.
lI. Os requisitos podem ser de dois tipos: requisitos funcionais e requisitos não funcionais.
IlI. São exemplos de requisitos não funcionais: Definição do Sistema Operacional (SO) e oo Sistema de Gerenciamento de Banco de Dados (SGBD) compatíveis com o produto.
O universo de teste de software envolve diversas práticas, conceitos e ferramentas. É uma área da computação que evoluiu muito nos últimos anos pois diversas técnicas foram desenvolvidas e divulgadas nas últimas décadas. Marque a alternativa que indica, corretamente, o nome da prática no mundo dos testes de software que é representada graficamente por um ciclo de três etapas. Essa prática julga auxiliar o desenvolvedor de software na escrita de código mais limpo pois o direciona no desenvolvimento do código a partir da escrita do teste.
A Engenharia de Software é provavelmente uma das área mais amplas quando falamos em desenvolvimento de software. Se pararmos para pensar apenas no tema das métricas de software, rapidamente percebemos que existem diversas questões importantes que precisamos medir em um software como por exemplo: seu tamanho, seu custo total de desenvolvimento, seu progresso de desenvolvimento, sua confiabilidade, sua segurança e sua qualidade. Marque a alternativa que indica, corretamente, apenas técnicas de medição de tamanho de software.