Questões de Concurso
Para analista de tecnologia da informação
Foram encontradas 15.479 questões
Resolva questões gratuitamente!
Junte-se a mais de 4 milhões de concurseiros!
A representação de classes em diagramas UML contempla os seguintes tipos básicos de informação:
Na linguagem SQL, os procedimentos gravados para serem executados implicitamente quando ocorrer determinada ação do usuário, como, por exemplo, a modificação de uma tabela, são denominados
Analise as seguintes afirmações relacionadas ao desenvolvimento de software com a arquitetura em três camadas.
I. Em um software com arquitetura em três camadas, a camada intermediária, denominada camada de acesso aos dados, é o elo de ligação entre a camada de apresentação e a camada de alteração dos dados.
II. A camada de domínio da aplicação fornece serviços para que os dados possam ser armazenados e recuperados em algum meio específico.
III. A camada de apresentação tem a finalidade de oferecer uma interface ao usuário.
IV. A camada de apresentação pode ser modificada sem que se altere o que o usuário espera que o software faça.
Indique a opção que contenha todas as afirmações verdadeiras.
Analise a seguinte descrição relacionada ao modelo espiral para a engenharia de software.
O modelo espiral para a engenharia de software, além de abranger as características do ciclo de vida clássico e o da prototipação, apresenta um novo elemento, denominado _____________, que faltava a esses paradigmas.
Escolha a opção que preenche corretamente a lacuna acima.
Analise as seguintes afirmações relacionadas à programação orientada a objetos.
I. Uma mensagem em um método é a ação de efetuar uma chamada a um objeto.
II. A herança serve para criar objetos que incorporem propriedades e métodos de outros objetos. Assim, podem-se definir objetos a partir de outros sem ter que reescrevê-los na sua totalidade.
III. As funcionalidades associadas aos objetos são denominadas atributos das classes.
IV. O polimorfismo caracteriza-se pelo uso do mesmo nome de método para identificar diferentes métodos em uma mesma classe ou diferentes métodos em classes diferentes.
Indique a opção que contenha todas as afirmações verdadeiras.
Analise as seguintes afirmações relacionadas a noções de programação e construção de algoritmos.
I. Os procedimentos não devem produzir outro efeito ao sistema que não o de retornar um valor ao código chamador.
II. A única desvantagem do método de passagem de parâmetros por referência é a necessidade de um armazenamento adicional para o parâmetro formal na função chamada.
III. Na programação orientada a objetos, as classes são declarações de objetos.
IV. Na passagem de parâmetros por referência, o parâmetro que vai ser passado na chamada da função deve ser necessariamente uma variável. Qualquer alteração de valor no parâmetro correspondente irá impactar na variável correspondente.
Indique a opção que contenha todas as afirmações verdadeiras.
Analise as seguintes afirmações relacionadas a noções de programação, construção de algoritmos e arquitetura de aplicações para a Internet.
I. Assim como os programas escritos em C, em ASP e em HTML os programas compilados em Java bytecode podem ser executados sem modificações e sem serem recompilados em qualquer tipo de processador.
II. Programas compilados para uma máquina IBM PS6000, que usa o conjunto de instruções de uma CPU PowerPC, podem ser executados em um IBM PC que executa um conjunto de instruções da CPU 8086.
III. Um dos métodos para se tratar deadlock é permitir que o sistema se recupere depois de entrar em estado de deadlock.
IV. Na passagem de parâmetros por valor, a expressão correspondente ao parâmetro é avaliada e apenas seu valor é passado para a variável correspondente ao parâmetro dentro da função.
Indique a opção que contenha todas as afirmações verdadeiras.
Analise as seguintes afirmações relacionadas a noções de programação, construção de algoritmos e arquitetura de aplicações para a Internet.
I. Assim como os programas escritos em C, em ASP e em HTML os programas compilados em Java bytecode podem ser executados sem modificações e sem serem recompilados em qualquer tipo de processador.
II. Programas compilados para uma máquina IBM PS6000, que usa o conjunto de instruções de uma CPU PowerPC, podem ser executados em um IBM PC que executa um conjunto de instruções da CPU 8086.
III. Um dos métodos para se tratar deadlock é permitir que o sistema se recupere depois de entrar em estado de deadlock.
IV. Na passagem de parâmetros por valor, a expressão correspondente ao parâmetro é avaliada e apenas seu valor é passado para a variável correspondente ao parâmetro dentro da função.
Indique a opção que contenha todas as afirmações verdadeiras.
Os parâmetros são dados utilizados por funções para realizarem suas operações. Com relação ao uso de parâmetros e funções é correto afirmar que
Quando uma função é definida em termos de si mesma fica caracterizado o uso
Em máquinas que operam com palavras de 16 bits, os tipos Booleanos representam
Analise as seguintes afirmações relacionadas a noções de programação.
I. ASP é um ambiente de programação por script, que pode ser usado para criar páginas dinâmicas e interativas para a Internet. Quando uma página ASP é requisitada, são gerados códigos HTML que são enviados para o browser requisitante.
II. Os códigos ASP sempre serão lidos e processados pelo servidor.
III. O DirectX é um conjunto de tecnologias de integração que ajuda os aplicativos e componentes a se comunicarem e se coordenarem corretamente, seja em uma máquina, em uma rede local ou na Internet.
IV. O ActiveX inclui drivers aceleradores de placa de vídeo e de placa de som que possibilitam uma melhor reprodução para diferentes tipos de multimídia, como, por exemplo, animação em 3D. O ActiveX ativa essas funções avançadas sem que o usuário necessite configurar o hardware do computador e assegura que todo o software seja executado no hardware configurado.
Indique a opção que contenha todas as afirmações verdadeiras.
Analise as seguintes afirmações relacionadas a noções de programação.
I. Na programação orientada a objetos, quando uma classe é instanciada, um método construtor define o que um objeto armazena e seus atributos definem os serviços que podem ser solicitados a um objeto caso seja necessário atribuir valores iniciais a este método.
II. Na programação orientada a objetos, quando uma classe é instanciada, pode-se utilizar um método construtor para inicializar atributos.
III. Na programação orientada a objetos, os atributos definem os serviços que podem ser solicitados a um objeto e seus métodos definem o que um objeto armazena.
IV. Em um programa, se um contador não é inicializado, os resultados desse programa provavelmente serão incorretos. Este é um exemplo de erro de lógica.
Indique a opção que contenha todas as afirmações verdadeiras.
Criada no ano de 1995 e considerada padrão no ano de 1997, a linguagem JavaScript, inventada por Brendan Eich, é uma linguagem voltada para a programação web e interage muito bem com outra linguagem web, o HTML. Enquanto o HTML serve para definir o conteúdo das páginas, a função do JavaScript é programar o comportamento delas.
(W3SCHOOLS TUTORIALS. Disponível em: <https://www.w3schools.com/> . Acesso em: 22 mar. 2018, com adaptações)
Suponha que você foi incumbido de adicionar um código JavaScript em uma aplicação Web para que seja exibido um alerta para o usuário quando ele for fazer uma operação irreversível no sistema, como, por exemplo, excluir algum registro importante. Esse alerta só deverá desaparecer da tela do usuário quando ele clicar no botão “ok”, a fim de garantir que ele tenha visto a mensagem.
O cenário a ser analisado é o seguinte: o usuário deseja excluir a sua matrícula de cursos de capacitação nos quais fez inscrição. O primeiro passo, o de selecionar os cursos, o usuário já fez. Agora o sistema pede que o usuário clique no botão “Continuar para prosseguir com a exclusão”. A sua tarefa é fazer com que, ao clicar no botão “Continuar”, o usuário receba a seguinte mensagem: “Aviso: Essa é uma operação irreversível”. E só deixe de ver a mensagem após clicar em “OK”.
Qual é o código JavaScript coerente com a demanda que você recebeu e que atende a todos os requisitos mencionados?
Pilhas são as mais simples de todas as estruturas de dados, apesar de estar entre uma das mais importantes, na medida em que são usadas em uma gama de aplicações diferentes que incluem estruturas de dados muito mais sofisticadas. Uma pilha é uma coleção de objetos que são inseridos e retirados de acordo com o princípio de que “o último que entra é o primeiro que sai”.
Formalmente, uma pilha é um tipo abstrato de dados que suporta os seguintes métodos:
push(e) -> insere o objeto (e) no topo da pilha;
pop() -> remove o elemento que está no topo da
pilha e o retorna. Se a pilha estiver vazia retorna
um erro;
size( ) -> retorna o número de elementos da
pilha;
isEmpty( ) -> retorna um booleano indicando se
a pilha está vazia;
top() -> retorna o elemento que está no topo da
pilha sem retirá-lo. Se a pilha estiver vazia
retorna um erro.
Outra estrutura de dados fundamental é a fila. Ela é uma prima próxima da pilha, pois uma fila é uma coleção de objetos que são inseridos e removidos de acordo com o princípio de que “o primeiro que entra é o primeiro que sai”.
De maneira análoga à pilha, a fila também é um tipo abstrato de dados e suporta os seguintes métodos:
enqueue(e) -> insere o elemento (e) no fim da
fila;
dequeue() -> retira o elemento da frente da fila e
o retorna. Se a fila estiver vazia retorna um erro;
size() -> retorna o número de elementos na fila;
isEmpty() -> retorna um booleano indicando se
a fila está vazia;
front() -> retorna, mas não remove, o elemento
que está na frente da fila. Se a fila estiver vazia
retorna um erro;
(GOODRICH, M. T., Estruturas de Dados e Algoritmos em Java, 4 ed., Porto Alegre: Bookman, 2007, com adaptações).
As duas tabelas a seguir apresentam operações com pilhas e filas sendo executadas.
A primeira mostra uma série de operações de pilha e seus efeitos sobre uma pilha de números inteiros inicialmente vazia.
A segunda tabela mostra uma série de operações e seus efeitos sobre uma fila de números inteiros inicialmente vazia.
As operações são executadas na mesma ordem das linhas, ou seja, a operação da linha 02 foi executada depois da operação da linha 01, a operação da linha 03 foi executada depois da operação da linha 02 e assim sucessivamente até a linha final da tabela, que mostra a última operação executada.
Selecione, dentre as alternativas disponíveis, aquela que substitui corretamente os termos {?} em cada tabela, nas linhas indicadas. Atente-se para o fato de que existe três {?} em cada tabela.
O arquivo AndroidManifest.xml é gerado pelo IDE quando um projeto de aplicativo é criado. Esse arquivo contém muitas configurações que podem ser especificadas pelo desenvolvedor como o nome do aplicativo, o nome do pacote, o nome das atividades, etc. É possível editar o código XML desse arquivo para adicionar, por exemplo, uma nova configuração que obrigue o teclado virtual a ser exibido assim que o aplicativo iniciar ou especificar que o aplicativo aceita apenas a orientação retrato.
Veja um exemplo do conteúdo do arquivo AndroidManifest.xml:
asdasdasdasdadaFigura: conteúdo do arquivo AndroidManifest.xml
(DEITEL, P. J., Android 6 para programadores: uma abordagem baseada em aplicativos, 3 ed., Porto Alegre: Bookman, 2016, com adaptações)
Agora, considere as seguintes características que podem ser relacionadas a atributos mostrados no arquivo:
( ) é exibido abaixo do ícone do lançador e também na barra de aplicativo quando ele está executando;
( ) força uma orientação de tela no aplicativo;
( ) define se o backup dos dados do aplicativo deve ser feito automaticamente ou não pelo Android para que possam ser restaurados posteriormente no próprio dispositivo ou em um novo aparelho;
( ) inicia o aplicativo quando é tocado;
( ) é usado como identificador exclusivo do aplicativo no Google Play;
( ) força a exibição do teclado virtual ao iniciar o aplicativo;
( ) determina a aparência e o comportamento padrão das views;
Acerca do conteúdo do AndroidManifest.xml apresentado na figura em questão e considerando as características mencionadas, qual é a correspondência correta entre as linhas do arquivo e as características mencionadas, exatamente na ordem em que as características foram mencionadas?
Carolina é Analista de T.I. de uma grande Universidade e atua como Analista de Requisitos dos projetos desenvolvidos em seu setor, a Gerência de Sistemas. Em seu último trabalho ela precisou levantar os requisitos para o projeto de desenvolvimento do Sistema Acadêmico da instituição. Dentre as informações obtidas por Carolina, havia requisitos funcionais e não funcionais, conforme pode ser observado na lista a seguir:
1. O sistema precisa fornecer uma interface para que o aluno consulte as suas notas;
2. O sistema deve permitir que o aluno se matricule em disciplinas eletivas;
3. O sistema deve encerrar a sessão do aluno após detectar 30 minutos de inatividade;
4. O sistema deve impedir que um mesmo usuário acesse-o simultaneamente a partir de dois dispositivos diferentes;
5. O sistema deve possibilitar a alteração dos dados pessoais e de contato do aluno pela Secretaria Acadêmica;
6. O sistema deve trafegar os dados de usuário sobre um protocolo de rede seguro e criptografado;
7. O sistema precisa oferecer uma interface para o docente fazer o lançamento de notas e apontamento de presenças dos seus alunos;
8. O sistema deve ser integrado ao Sistema de Gestão de Pessoas da instituição para obter dele os dados de docentes e funcionários;
9. O sistema deve calcular o coeficiente de rendimento acadêmico do aluno com base na fórmula estabelecida pela Pró-Reitoria de Graduação;
10. O sistema precisa fornecer relatórios e lista de alunos por curso para o Departamento de Registro Acadêmico;
11. O sistema deve permitir que o Coordenador de Curso aprove o plano de estudos do aluno;
12. O sistema deve garantir que o processo de matrícula do aluno em disciplinas ocorra em no máximo 90 segundos.
Com base na lista de requisitos produzida por Carolina, aponte qual é a separação correta dos requisitos entre funcionais e não funcionais:
Processos de desenvolvimento rápido de software são projetados para criar software útil rapidamente. Geralmente eles são processos iterativos nos quais a especificação, o projeto, o desenvolvimento e o teste são intercalados. O software não é desenvolvido e disponibilizado integralmente, mas em uma série de incrementos, e cada incremento inclui uma nova funcionalidade do sistema. A Extreme Programing (XP) é talvez o mais conhecido e mais amplamente usado dos métodos ágeis.
(SOMMERVILLE, I., Engenharia de Software. 8 ed., São Paulo: Pearson, Prentice Hall, 2007, com adaptações).
Aqui estão alguns dos princípios (ou práticas) da Extreming Programing:
1. Todos os requisitos são expressos como cenários ou histórias do usuário;
2. Cada história é implementada como uma série de tarefas;
3. Os programadores desenvolvem testes para cada tarefa logo após a escrita do código;
4. Quando um novo código é integrado ao sistema, apenas o teste desse código é executado; 5. Há um pequeno espaço de tempo entre os releases do sistema.
Considerando esses princípios na ordem em que foram apresentados, escolha dentre as alternativas a seguir, quais indicam corretamente os princípios verdadeiros e falsos.
Uma consulta em SQL pode conter mais de seis cláusulas, porém, somente as duas primeiras são obrigatórias. As cláusulas são especificadas na seguinte ordem, e as cláusulas entre colchetes [g] são opcionais:
(RAMEZ, E.; NAVATHE S. B., Sistemas de Banco de Dados, 4. ed., São Paulo: Pioneira Thomson Learning, 2005, com adaptações).
CLAUSULA1 <atributos e lista de funções>
CLAUSULA2 <lista de tabelas>
[CLAUSULA3] <condição>
[CLAUSULA4] <atributo(s) agrupado(s)>
[CLAUSULA5] <condição de agrupamento>
[CLAUSULA6] </lista de atributos>;
Considerando a estrutura apresentada acima, quais são as substituições dos termos “CLAUSULA1”, “CLAUSULA2”, “CLAUSULA3”, “CLAUSULA4”, “CLAUSULA5” e “CLAUSULA6”, exatamente nessa ordem, fazendo com que a consulta apresente a estrutura correta?