SóProvas



Prova CCV-UFC - 2018 - UFC - Analista de Tecnologia da Informação


ID
2858707
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

O algoritmo quicksort é um método de ordenação comumente utilizado e que adota a estratégia de divisão e conquista. Qual a complexidade de tempo de pior caso do algoritmo?

Alternativas
Comentários
  • Onde o vetor já esteja ordenado e é realizado uma interação da esquerda(valor mais baixo) ate o ultimo(valor mais alto) do índice. O(n²)

  • Força Guerreiro!!!!!!


ID
2858710
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Na estrutura de dados min heap (heap mínima), qual das afirmativas abaixo é verdadeira?

Alternativas
Comentários
  • Os nós pais possuem valores menores que os filhos
  • O algoritmo min heap á estruturado pois deve respeitar que um índice i só tem filho esquerdo se 2i ≤ n; e i só tem filho direito se 2i+1 ≤ n. um índice i só tem filho esquerdo se 2i ≤ n; e i só tem filho direito se 2i+1 ≤ n

    Estrutura em arvore binaria

    1

    2----------------3

    4--------------5 6--------------7

  • Heap (monte) é uma estrutura de dados especializada, baseada em árvore, que é essencialmente uma árvore quase completa que satisfaz a propriedade heap:

    heap máxima: se P é um  pai de C, então o valor de P é maior ou igual ao valor de C.

    heap mínima: se P é um  pai de C, então o valor de P é menor ou igual ao valor de C

    O nó no "topo" da heap (sem pais) é chamado de nó raiz.

    Fonte: https://pt.wikipedia.org/wiki/Heap

  • Não falou nada com nada... ????????????????

  • Força Guerreiro!!!!!!

  • As letras a) e b) se acusam, pois se uma fosse verdadeira, a outra também seria. Como a questão pede UMA correta, sobra a letra C, pois como a Heap é mínima, é possível deduzir que ou um nó filho, ou um nó pai é o menor sempre.

  • Consoante TANENBAUM

    É possível também definir um heap ascendente (ou um min heap) como uma árvore binária quase completa de modo que o conteúdo de cada nó seja maior ou igual ao conteúdo de seu pai. Num heap ascendente, a raiz contém o menor elemento do heap, e qualquer percurso da raiz para uma folha é uma lista ordenada ascendente.

    GABARITO

    A e B são a mesma coisa como o colega leandro citou

    A = CADA NÓ SEJA MAIOR OU IGUAL AO CONTEÚDO DE SEU PAI

    B = MAIOR OU IGUAL AO CONTEÚDO DO SEU PAI

    D = ÁRVORE BINÁRIA QUASE COMPLETA

    E = ÁRVORE BINÁRIA QUASE COMPLETA

    TANENBAUM.


ID
2858713
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Acerca dos algoritmos de ordenação, assinale a afirmativa verdadeira.

Alternativas
Comentários
  • RadixSort - Estável.

    BlubleSort - Percorre o vetor diversas vezes, não tem como ser logarítmico.

    HeapSort - Utiliza a árvore de Heap, bem parecida com uma árvore binária.

    MergeSort - Correto.

    InsertionSort: O(n), O(n²), O(n²) - Complexidade de tempo do melhor para o pior caso.

    QuickSort: O(n logn), O(n logn), O(n²) - Complexidade de tempo do melhor para o pior caso.


    Dúvida no item E), pois acredito que não se pode afirmar muita coisa se não sabemos a forma dos dados a serem ordenados, pois vemos que InsertionSort é mais rápido que o QuickSort no melhor caso, porém é mais lento no caso médio.

  • Complementando a resposta do colega Leonardo,


    BubbleSort é de ordem quadrática;



    Sobre a última afirmativa:

    "O algoritmo Insertion Sort é mais eficiente do que o Quick Sort para grandes entradas de dados."


    Incorreta, para grandes entradas de dados (julgamos aqui, o pior caso) os dois tipos apresentados possuem a mesma eficiência O(n²)


    GABARITO ALTERNATIVA D

  • Força Guerreiro!!!!!!


ID
2858716
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Arquitetura de Software
Assuntos

Qual padrão de projeto (design pattern) permite adicionar um comportamento a um objeto já existente em tempo de execução?

Alternativas
Comentários
  • DECORATOR (Padrão Estrutural)

    -> Permite adicionar um comportamento a um objeto já existente em tempo de execução;

    -> Agrega dinamicamente responsabilidades adicionais a um objeto;

    -> Alternativa Flexível ao uso de herança;

    GABARITO ALTERNATIVA C


ID
2858719
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Programação
Assuntos

Qual método na classe HttpServlet, contida na API de Servlet do Java, atende a requisição HTTP POST?

Alternativas
Comentários
  • protected void doPost(HttpServletRequest req, HttpServletResponse resp) 

              

    Chamado pelo servidor (via método service) para permitir que um servlet manipule um pedido POST (POST request).


    fonte: https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/HttpServlet.html


ID
2858722
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Programação
Assuntos

Uma aplicação nova desenvolvida pela UFC, denominada Ufcnaweb, utiliza a tecnologia Java para web por meio do container de servlets Apache Tomcat. Tal aplicação depende de um arquivo JAR de terceiros denominado writepackage.jar. De acordo com o guia do usuário do Tomcat, onde esse arquivo deverá ser guardado?

Alternativas
Comentários
  • Gabarito B

    O diretório WEB-INF é responsável por armazenar, de forma segura, informações relativas as configuração de uma aplicação web em Java. Pode notar que tem um arquivo web.xml, neste arquivo você define filtros, regras de segurança, parâmetros e uma série de outras coisas. Tem uma pasta classes, onde fica as classes compiladas, a pasta lib as bibliotecas que fazem parte do classpath da aplicação.



    "Retroceder Nunca Render-se Jamais !"

    Força e Fé !

    Fortuna Audaces Sequitur !


ID
2858725
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Programação
Assuntos

Em um arquivo XML, qual a sintaxe correta para sinalizar para o parser (analisador) que uma determinada seção do documento representa um texto comum e não deve ser interpretado como parte da marcação do XML?

Alternativas
Comentários
  • O  serve para indicar que o texto dentro da área dele é um texto comum e não pode ser interpretado como parte da marcação do XML.

    Isto é útil quando uma parte do texto de um determinado elemento pode ser confundido com partes da marcação do XML, o que não é o caso do exemplo mostrado. É uma forma de escapar os caracteres.

    Deve ter um motivo específico da plataforma para usar indiscriminadamente. Talvez por falha da especificação deles. Talvez porque eles não têm controle sobre o conteúdo e pode haver caracteres conflitantes (pode conter HTML). Talvez por algum motivo que só eles podem explicar (provavelmente via documentação). O que é certo é que deve ser seguido se eles mandam

    <secao><![CDATA[<sexo>Feminino</sexo>]]><secao>

    FONTE:


ID
2858728
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Utilizando o banco de dados PostgresSQL, selecione a instrução SQL correta que concatena as palavras 'UFC' e 'ti' para formar 'UFCti''.

Alternativas
Comentários
  • B- SELECT 'UFC' || 'ti'

  • o.O

    Achei que fosse com o +

  • Não sabia dessa

  • == MySQL: CONCAT(string1, string2). (https://dev.mysql.com/doc/refman/8.0/en/string-functions.html)

    == Postgres: string1 || string2. (https://www.postgresql.org/docs/9.1/functions-string.html)

    == SQLServer: CONCAT(string1, string2) (https://docs.microsoft.com/pt-br/sql/t-sql/functions/concat-transact-sql?view=sql-server-ver15) ou string1 + string2 (https://docs.microsoft.com/pt-br/sql/t-sql/language-elements/string-concatenation-transact-sql?view=sql-server-ver15)


ID
2858731
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

No banco de dados PostgresSQL, o comando SQL CREATE INDEX constrói um índice na(s) coluna(s) especificada(s) da relação especificada, que pode ser uma tabela ou uma visão. Qual das opções abaixo contém apenas métodos válidos para serem utilizados nos índices a partir da versão 10?

Alternativas
Comentários
  • Alternativa correta: B.

    .

    .

    PostgreSQL provides several index types: B-tree, Hash, GiST, SP-GiST and GIN. Each Index type uses a different algorithm that is best suited to different types of queries. By default, the CREATE INDEX command creates B-tree indexes, which fit the most common situations.

  • "PostgreSQL provides the index methods B-tree, hash, GiST, SP-GiST, GIN, and BRIN. Users can also define their own index methods, but that is fairly complicated." (https://www.postgresql.org/docs/10/sql-createindex.html)


ID
2858734
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Sistemas Operacionais
Assuntos

Utilizando um sistema operacional Linux e apenas comandos nativos, precisamos converter um arquivo contendo quebras de linha no estilo DOS (CRLF) em um arquivo contendo quebras de linha no estilo UNIX (LF). Suponha para esta questão que o arquivo no estilo DOS é chamado 'dosfile', e queremos o conteúdo modificado no arquivo 'unixfile'.

Alternativas
Comentários
  • Correto D: tr -d '\r' < dosfile > unixfile

  • tr (man tr) ele é utilizado para traduzir, comprimir e/ou deletar caracteres da entrada padrão (stdin) escrevendo o resultado na saída padrão (stdout). Ou seja, o comando tr no linux é  utilizado para substituição de um valor por outro, basicamente especificamos o valor a procurar e o valor a substituir. Como o comando tr não trabalha com arquivos é necessário usar um pipe ou redirecionamento para que ele receba os valores

  • Introdução:

    • DOS (CRLF) O CR e o LF são combinações de dois caracteres: um retorno de carro (CR) (nome é inspirado no movimento das máquinas de escrever feito com a ajuda de uma alavanca para reposicioná-la no início da próxima linha ao atingir o final da atual) seguido por um avanço de linha (LF) .

    Em suma, após processar um par CR-LF, a cabeça da impressora deverá estar no canto esquerdo (CR) e ter avançado uma linha da página (LF).

    • UNIX (LF) Em arquivos de texto Unix, uma quebra de linha é um único caractere: o avanço de linha (LF).

    Vamos entender as alternativas.

    • Comentário letra A: O comando sed converte o caractere da nova linha do Unix para o formado DOS "sed 's/$'"/`echo \\\r`/" # comando usado com o bash". Como queremos converter para o DOS, devemos usar o comando do DOS, não do bach. Por isso a letra está incorreta.
    • Comentário da letra B: “dos2unix” funciona no ambiente Linux para conversão de texto para Linux e Windows. Veja a sintaxe: dos2unix [ opções ] [ ARQUIVO ...] [-n INFILE OUTFILE ...]. Agora confronte com a letra “B”. Perceba que não há, por exemplo, o parâmetro “-n”. Que indica o novo modo de arquivo. Ele pega a entrada “INFILE” e grava a saída no arquivo “OUTFILE”.
    • Comentário da letra C: Desconheço a existência do parâmetro \n do comando strip. Mas já analisando de forma geral. O strip descarta símbolos de arquivos com o objetivo de deixa-lo mais leve.
    • Comentário da letra D: Há dois colegas que já comentaram, mas apenas reforço que como a questão pediu do DOS para o formado unix, é interessante usar o "tr". "tr -d \r arquivo_saida"
    • Comentário da letra E: nano é um editor de texto para sistemas Unix-like. Ele não converte.

     Observações:

    • (1) questão pesadíssima. Creio que para sabê-la a pessoa teria que ser da área ou ter usado alguns destes comandos. Por isso, se você errou, não se culpe.
    • (2) Deixei na resposta deste comentário as referências. Não deixei aqui, pois a questão ficaria muito grande.

    Em frente e enfrente.


ID
2858737
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Utilizando o banco de dados PostgresSQL, responda o que se pede.

Dada uma tabela “alunos” definida da seguinte forma:


CREATE TABLE alunos (nome VARCHAR(5));


Um conjunto de instruções SQL foi executado na seguinte ordem:


BEGIN;

INSERT INTO alunos VALUES ('José');

SAVEPOINT point1;

INSERT INTO alunos VALUES ('João');

SAVEPOINT point2;

INSERT INTO alunos VALUES ('Maria');

ROLLBACK TO point1;

INSERT INTO alunos VALUES ('Antônio');

COMMIT;


Selecione o número de linhas que a tabela "alunos" possui após a execução.

Alternativas
Comentários
  • não seria 2: José e Antônio?

  • Por que a questão foi anulada?

  • Executei e tive o seguinte resultado:

    obras=> INSERT INTO alunos VALUES ('Antônio');

    ERROR: value too long for type character varying(5)

    Se corrigir o tamanho da string ele indica que devido ao erro anterior toda a transação foi cancelada.

    obras=> INSERT INTO alunos VALUES ('Antôn');

    ERROR: current transaction is aborted, commands ignored until end of transaction block

    Assim, teríamos 2 respostas corretas:

    0 linhas incluídas e teríamos um erro da execução.

    Deve ser esse o motivo que anulou a questão.


ID
2858740
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Utilizando o banco de dados PostgresSQL, responda o que se pede.

As seguintes instruções SQL foram executadas usando o psql.


LISTEN sign_v;

BEGIN;

NOTIFY sign_v;

COMMIT;

LISTEN sign_v;


Selecione a alternativa correta sobre o resultado após a execução.

Alternativas

ID
2858743
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Sob qual tipo de licença o banco de dados PostgreSQL é lançado atualmente?

Alternativas
Comentários
  • "PostgreSQL is released under the , a liberal Open Source license, similar to the BSD or MIT licenses."

  • PostgreSQL is released under the PostgreSQL license , a liberal Open Source license, similar to the BSD or MIT licenses.

    Why not the GNU General Public License?

    People often ask why PostgreSQL is not released under the GNU General Public License

    The simple answer is: we like our license and do not want to change it!

    https://www.postgresql.org/about/licence/

  • O PostgreSQLé lançado sob a Licença PostgreSQL, uma licença liberal de código-fonte aberto, semelhante às licenças BSD ou MIT. 


ID
2858746
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Sistemas Operacionais
Assuntos

No sistema operacional Linux, o comando 'ps -A' exibe uma lista ordenada de todos os processos em execução. Deseja-se exibir uma lista com apenas o ID dos cinco processos lançados mais recentemente, do mais recente para o menos recente. Qual dos seguintes comandos irá exibir os itens desejados?

Alternativas
Comentários
  • O que captei foi que o "tac" é o inverso do "tail" (por isso o head no "tac"), e "nl" é só para numerar as linhas, e esse "-b" só faz mostrar os bytes


    Resposta: --> E

  • a) Mostrará as últimas 5 linhas de todas as colunas do comando "ps - A", numerando as linhas.

    b) Mostrará as primeiras 5 linhas de todas as colunas do comando "ps -A", numerando as linhas.

    c) Exibe as cinco últimas linhas de todas as colunas, nesse caso, não há um delimitador. Essa saída equivale à " # ps -A | tail -5 ";

    d) Exibe as últimas cinco linhas e substitui a primeira ocorrência, "[ ]*[0-9]*", por vazio. Nesse caso, a saída será apenas os campos TTY, STAT, TIME e CMD;

    e) Gabarito. O comando "tac" concatena em reverso, depois o comando "head" exibirá as primeiras cinco linhas dos 5 primeiros bytes (cut -b 1-5).





    At.te

    Foco na missão!


  • TAC é o CAT ao contrario


ID
2858749
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Programação
Assuntos

Qual dos seguintes fragmentos representa um fragmento XML bem formado?

Alternativas
Comentários
  • segura o Renato ai,hauahaua

ID
2858755
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Engenharia de Software
Assuntos

Sobre testes unitários, assinale a alternativa correta.

Alternativas
Comentários
  • O JUnit 5 é a próxima geração do JUnit. O objetivo é criar uma base atualizada para testes do lado do desenvolvedor na JVM. Isso inclui o foco no Java 8 e acima, além de permitir muitos estilos diferentes de teste. O JUnit 5 é o resultado do JUnit Lambda e sua campanha de crowdfunding no Indiegogo.

    https://junit.org/junit5/

  • a letra A está mais para testes de integração

    2016

    Considere que um Analista de Sistemas está desenvolvendo um software orientado a objetos e utilizou a seguinte estratégia de teste: primeiro foram testadas as classes independentes (que não usam classes servidoras ou usam poucas), depois realizou uma sequência de testes das classes dependentes (que usam classes independentes) até que todo o sistema foi testado. O Analista utilizou uma estratégia de teste de

    a) unidade.

     b) regressão.

     c) validação.

     d) integração.

     e) homologação do tipo alfa e beta.

  • Qual o erro da E? No modelo em cascata de Summerville ele representa uma das fase junto com a implementação.

  • Também gostaria de saber o erro da alternativa E.


ID
2858758
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um disco rígido utilizado para backup instalado em uma máquina com o sistema operacional Ubuntu parou de funcionar após uma queda de energia. Para tentar descobrir o problema, os analistas desejam examinar as mensagens do kernel após a inicialização. Qual das seguintes linhas de comando pode ser utilizada?

Alternativas
Comentários
  • O trecho que define o gabarito da questão é o seguinte:

    " Para tentar descobrir o problema, os analistas desejam examinar as mensagens do kernel após a inicialização"


    Comando dmesg: Mostra o buffer de alertas do kernel, é útil para visualizar toda a rotina de inicialização do sistema, logo após o boot, e encontrar problemas.


    Juntamente, com o comando less, que permite a exibição de informações em várias paginas de vídeo.



    GABARITO ALTERNATIVA B

  • Complementando o comentário de nosso colega Max,


    # dmesg [opções]: exibe as mensagens do buffer do kernel;


    Algumas opções:


    -n: mostra mensagens de inicialização do nível especificado;

    -c: apaga as mensagens após exibi-las;

    -k: exibe apenas as mensagens do kernel;




    As mensagens apresentadas nesse comando são armazenadas em /var/log/dmesg ou /var/log/boot.msg (SUSE)



    At.te

    Foco na missão!!!!

  • dmesg -> informações sobre o buffer do kernel.

  • Dá para eliminar D e E, pois fazem a mesma coisa


ID
2858764
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Sistemas Operacionais
Assuntos

Secure Socket Layer (SSL) é um padrão em tecnologia de segurança que cria um canal criptografado entre um servidor web e um navegador. Acerca do módulo mod_ssl utilizado no servidor HTTP Apache versão 2.4 (atual), o que é correto afirmar?

Alternativas
Comentários
  • Gabarito E

    Necessita da biblioteca OpenSSL para prover criptografia.


    Vamos na fé !



    "Retroceder Nunca Render-se Jamais !"

    Força e Fé !

    Fortuna Audaces Sequitur !

  • OpenSSL é mais que apenas SSL. Permite trechos de mensagem, criptografia e decriptografia de arquivos, certificados digitais, assinaturas digitais e números aleatórios. Há muito a se dizer sobre a biblioteca OpenSSL, muito mais do que pode ser colocado em um único artigo.

    OpenSSL é mais que apenas a API. É também uma ferramenta de linha de comando. Essa ferramenta pode fazer o mesmo que a API, mas vai além, permitindo testar servidores e clientes SSL. Também dá aos desenvolvedores uma ideia da capacidade do OpenSSL.

    Fonte: https://www.ibm.com/developerworks/br/library/l-openssl/index.html

  • A) SSL utiliza como padrão a porta 443.

    B) Atualmente o módulo "mod_ssl" não mais suporta SSL versão 2.

    C) Tem suporte para TLSv1, TLSv1.1, TLSv1.2

    D) Errado. Depende da biblioteca OpenSSL.


ID
2858767
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em um sistema operacional Linux, suponha que o funcionamento de um aplicativo dependa da variável de ambiente APP_VERSION. Qual das seguintes linhas de comando pode ser utilizada em um shell bash para configurar a variável de ambiente?

Alternativas
Comentários
  • d) Alguém sabe o que significa APP_VERSION=1

  • Hemerson, é o valor que o usuário setou para a variável chamada APP_VERSION antes de configurá-la usando o comando EXPORT.

    Poderia ser, por exemplo, APP_VERSION=3 que o resultado seria o mesmo.

  • APP_VERSION=1 # Define o valor da variável

    export APP_VERSION # Permite configurar e compartilhar variáveis de ambiente

    Pode ser escrito também como:

    export APP_VERSION = 1

    Outros comandos:

    echo $APP_VERSION # Imprime a variável de ambiente

    unset APP_VERSION # Apaga uma variável de ambiente

    export -p # Visualiza todas as variavéis de ambiente no Shell atual

    Gabarito D


ID
2858770
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

No Modelo Entidade Relacionamento, o modelo de dados pode ser classificado nos seguintes níveis de abstração:

Alternativas
Comentários

  • A- Conceitual, lógico e físico.

  • Nível Conceitual: Identificação de necessidades, sem a preocupação de qual tecnologia será usada.

    Nível Lógico: Se preocupa com a tecnologia a ser utilizada, funções e etc...

    Nível Físico:

  • só cuidado pra não trocar as bolas com a Arquitetura ANSI/SPARC

    Externo

    Conceitual

    Interno


ID
2858773
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Programação
Assuntos

Sobre os elementos de mídia inseridos HTML5, além dos atributos globais, existem também vários atributos específicos de mídia que são compartilhados pelos elementos de áudio e vídeo. Sobre a reprodução de vídeos, o que é correto afirmarmos acerca dos atributos utilizados na tag <video>?

Alternativas
Comentários
  • a)O atributo de preload é ignorado se o atributo autoplay estiver presente. [CORRETO]

    b)O atributo de preload possui os seguintes valores válidos: auto, metadata e play. [ERRADO. auto, metadata e nome]

    c)Quando o atributo poster não estiver presente, será exibido um quadro (frame) aleatório do vídeo. [ERRADO. justamente o contrário, caso presente, apresenta a imagem indicada enquanto baixa o vídeo]

    d)O atributo loop sinaliza que ao finalizar vídeo o navegador deve perguntar ao usuário se o vídeo deve recomeçar. [ERRADO. Não pergunta, reiniciar automaticamente]

    e)O atributo autoplay sinaliza ao navegador para começar a reproduzir o arquivo de mídia imediatamente, mesmo que a reprodução possa ser parada por falta de carregamento suficiente. [ERRADO. Inicia assim que estiver PREPARADO, e não sem carregamento suficiente]


ID
2858776
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Engenharia de Software
Assuntos

A UML (Unified Modeling Language) é uma linguagem de modelagem que pode ser empregada para a visualização, a especificação, a construção e a documentação de artefatos que façam uso de sistemas complexos de software. Object Constraint Language (OCL) é uma linguagem declarativa para descrever as regras que se aplicam aos modelos da UML. Qual sentença abaixo é verdadeira acerca da OCL?

Alternativas
Comentários
  • Object Constraint Language (OCL) Uma linguagem formal utilizada para expressar restrições secundárias de efeito livre. Muito utilizada para especificar semânticas de modo mais preciso e formal.


    GABARITO ALTERNATIVA C

  • OCL distingue três diferentes tipos de coleção: Set, Sequence e Bag.

    Integer, Real, Boolean e String são tipos básicos predefinidos da OCL.

    OCL pode ser utilizada para especificar invariantes em classes e tipos no modelo de classe.

    Fonte: https://pt.slideshare.net/adorepump/ocl-object-constraint-language-presentation


ID
2858779
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Considere a relação R (A, B, C, D, E) com as seguintes dependências funcionais:


ABC -> DE e D -> AB.


Qual o número de superchaves de R?

Alternativas
Comentários
  • Antes de iniciar a resolução desta questão, analise essa outra questão motivacional:

    T = { CPF, Identidade, Passaporte, CNH }

    Cada um dos dados da relação T é um atributo e esses atributos podem formar uma super chave, mas cada atributo é uma chave candidata.

    A quantidade de possíveis super chaves da relação T é calculada da seguinte forma:

    Legenda: C(n,p) = combinatória de n elementos escolhidos p em p.

    1. C(4,1) = 4 2. C(4,2) = 6 3. C(4,3) = 4 4. C(4,4) = 1

    Logo, 4 + 6 + 4 + 1 = 15

    Resposta do questão motivacional: São passíveis de escolha 15 super chaves.

    Voltando ao exercício original, analisando a seguinte dependência funcional:

    ABC → DE, temos todos os atributos de R presente nessa dependência funcional.

    A, B, C é uma chave candidata de R.

    Com relação a outra dependência funcional:

    D → AB, substituindo esta na primeira temos:

    AD → ABE

    Logo, A,D é outra chave candidata.

    Só falta fazer os cálculos de combinatória:

    r = (AD, B, C, E) s = (ABC, D, E)

    2 atributos na superchave. A, D

    3 atributos na superchave. A, D, B | A, D, C

    A, D, E | A, B, C

    4 atributos na superchave. A, B, C, D | A, B, C, E

    A, B, E, D | A, C, E, D

    5 atributos na superchave. A, B, C, D, E

    Resposta da questão: 10 possíveis superchaves escolhíveis na relação R.

    GABARITO: C

  • Não entendi esta parte:

    Com relação a outra dependência funcional:

    D → AB, substituindo esta na primeira temos:

    AD → ABE

  • R (A, B, C, D, E)
    ABC → DE
    D → AB

      

    Seguem as possibilidades de superchaves:

    (ABC)
    (ABCDE)
    (CD)

    (ABCD) (ABCE)
    (CDA) (CDB) (CDE)
    (CDAE) (CDBE)

      

    Para quem não conseguiu entender, dê uma olhada na questão Q786886.

    É similar a essa, com bons comentários que ajudam a compreender esse raciocínio.

  • Para quem quiser se aprofundar é o fecho de atributo X*, conjunto de atributos que através das dependências transitivas permite gerar todos atributos da relação

    ABC -> DE

    D -> AB

    X* => todo mundo que tiver CD será superchave, pois D gera AB e, tendo C, gera ABC, que gera E

    CD*** = CD

    CD**E = CDE

    CD*B* = CDB

    CD*BE = CDBE

    CDA** = CDA

    CDA*E = CDAE

    CDAB* = CDAB

    CDABE = CDABE

    Todo mundo que tiver ABC será superchave, pois ABC gera DE, tendo então ABCDE

    ABCE

    ABC


ID
2858782
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Programação
Assuntos

Os elementos de mídia, como os elementos de áudio e vídeo do HTML5 são genericamente denominados, são uma maneira de incorporar arquivos de mídia reproduzíveis diretamente em uma página da Web. Qual opção abaixo contém apenas elementos de mídia válidos?

Alternativas
Comentários
  • <source>: Define recursos de mídia;

    <embed>: Define o conteúdo interativo ou plugin externo;

    <track>: is used as a child of the media elements  

    ex:

    <video controls width="250"

        src="/media/examples/friday.mp4">

      <track default kind="captions"

          srclang="en"

          src="/media/examples/friday.vtt"/>

      Sorry, your browser doesn't support embedded videos.

    </video>


ID
2858785
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Redes de Computadores
Assuntos

Códigos de status HTTP (HyperText Transfer Protocol) são emitidos por um servidor em resposta ao pedido de um cliente feito ao servidor. Sobre códigos de status em HTTP, o que é correto afirmar?

Alternativas
Comentários
  • 1XX - Respostas informativas

    2XX - Respostas com sucesso

    3XX - Respostas com mensagens de redirecionamento

    4XX - Respostas com erros de clientes

    5XX - Respostas com erros de servidores


    407 Autorização de proxy necessária Erro de solicitação



  • 2XX - Esta classe de códigos de status indica a ação solicitada pelo cliente foi recebida, compreendida, aceita e processada com êxito.

    (engloba códigos de 201 a 207)

    403 - Proibido

    404 - Não encontrado

    407 - Autenticação de proxy necessária (gabarito)

    500 - Erro interno do servidor (Internal Server Error)

  • OUTROS CÓDIGOS:

    200 – Sucess: Este código faz com que o servidor diga pro seu browser: “Olha tá tudo ok com essa página requisitada e você pode acessa-la” ai o seu browser baixa a página e a exibe.

    301 – Moved Permanently: O servidor informa ao seu browser que ele deve ir para outro endereço(url) como no exemplo acima.

    400 – Bad Request: “ops, há algo errado nesta página ou configurações do servidor” é o que o servidor informa ao seu browser

    401 – Unauthorized: Este erro ocorre quando é solicitado uma senha para acesso da página e você erra ou cancela o login.

    403 – Forbidden: “Você não tem autorização para visualizar este arquivo”, este erro pode ser causado por vários fatores, como: A listagem de diretório é negada através do arquivo “.htaccess”, o acesso a leitura, escrita e/ou execução ao arquivo é negada, o IP foi recusado, o site ultrapassou a largura de trafégo, uma configuração do servidor (ou do script) está inválida e muitos outros motivos…

    404 – Not Found: Trata-se do mais comum erro enfrentado por sites ou blogs, é a inexistência da página requerida, por isso que todas as vezes que vamos apagar um arquivo ou mudar o nome do arquivo (muda a url) devemos fazer um redirecionamento 301:

    Fonte:https://manualdanet.wordpress.com/2011/12/15/erros-404-200-400-403-301-500-o-que-sao-os-http-headers/

  • really, agora decorar os principais não é suficiente então? tem que decorar todo mundo? tem que decorar a p**** toda?


ID
2858788
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Engenharia de Software
Assuntos

O Git é um sistema de controle de versão distribuído gratuitamente e de código aberto projetado usado, principalmente, no desenvolvimento de software. Sobre o Git o que é correto afirmar?

Alternativas
Comentários
  • Ué, suporta ... commits diferentes podem ser realizados em branches diferentes

  • Alguém entendeu?

  • Acredito que a interpretação da questão é que você não consegue fazer o mesmo commit em várias branchs ao mesmo tempo.

  • O Git não suporta commits em vários branches.

    - Certa, o Git Não suporta um commit simultâneo em várias branches.  

    O comando git stash retorna o repositório ao HEAD.

    - Errada, o comando git stash armazena as modificações temporárias, mas não altera o HEAD.  

    O comando git checkout é utilizado para desfazer alterações, mesmo que o arquivo tenha sido adicionado na staged area.

    - Errada. Quando o arquivo foi adicionado na staged area (após ter sido utilizado o comando git add), é necessário o comando git reset para reverter e não checkout.  

    Use git merge quando quiser gravar o estado atual do diretório de trabalho e do índice, mas quiser voltar para um diretório de trabalho limpo.

    - Errada, o comando merge serve para unir duas branches, podem haver conflitos durante, e ele irá até o diretório atual, e não a um diretório de trabalho limpo.  

    O comando git add armazena o conteúdo atual do índice em um novo commit junto com uma mensagem de log do usuário descrevendo as alterações.

    - Errada. O comando descrito é o git commit, o git add apenas adiciona as alterações para a staging area.  

  • Bem simples:

    a) O Git não suporta commits em vários branches.

  • em nenhum momento ele falou simultâneo

    mas se tivesse que marcar uma certa, eu JAAAMAAAISSS marcaria a letra A

    B - a definição de git stash está na letra D

    C - nesse caso seria git reset

    D - git merge serve para passar arquivos de uma branch para outra

    E - seria o comando git commit! git add adiciona o arquivo na staging area

    enfim, todas erradas nessa @$@#$@#$@#$@#$ de questão

  • Resposta: A

    O Git não suporta commits em vários branches.


ID
2858791
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

De acordo com a álgebra relacional, marque a opção que contenha apenas operações fundamentais.

Alternativas
Comentários
  • As operações fundamentais são:

    Uniária

    Selecionar

    Projetar

    Renomear


    Binária

    União

    Diferença de conjuntos

    Produto cartesiano

  • São sete as operações fundamentais: três unárias (seleção, projeção e "rename") e quatro binárias (união, interseção, diferença e produto cartesiano).

  • Bem simples:

    Operações fundamentais - seleção, projeção, rename, união, interseção, diferença, produto cartesiano

    SP RUI D PC

  • São 6 fundamentais:

    Uniária

    Seleção

    Projeção

    Renomear

    Binária

    União

    Diferença de conjuntos

    Produto cartesiano

  • Operações fundamentais:

    DPU-SP

    Diferença

    Projeção

    União

    -

    Seleção

    Produto


ID
2858794
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Governança de TI
Assuntos

O Modelo de Referência MPS para Software (MR-MPS-SW) define níveis de maturidade que são uma combinação entre processos e sua capacidade. Marque a opção que contenha apenas níveis de maturidade do MR-MPS-SW.

Alternativas
Comentários
  • Nível G (Parcialmente Gerenciado)

    1 - Gerência de projetos

    2 - Gerência de Requisitos

    Nível F (Gerenciado)

    1 - Medição

    2 - Garantia da qualidade

    3 - Gerência de portfólio

    4 - Gerência de configuração

    5 – Aquisição

    Nível E (Parcialmente Definido)

    1 - Recursos humanos

    2 - Gerência de projetos (Evolução)

    3 - Gerência de Reutilização

    4 - Definição de processo organizacional 

    5 - Avaliação e Melhoria do processo organizacional

    Nível D (Largamente Definido)

    1 - Verificação

    2 - Validação

    3 - Projeto e construção do produto

    4 - Integração do Produto

    5 - Desenvolvimento de Requisitos

    Nível C (Definido)

    1 - Gerência de Riscos

    2 - Desenvolvimento para Reutilização (Opcional)

    3 - Gerência de decisões

    Nível B (Gerenciado Quantitativamente)

    1 - Gerência de Projetos (Evolução)

    Nível A   (Em otimização)

    Não possui processos

    GABARITO D


ID
2858797
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Redes de Computadores
Assuntos

Sobre WebSocket assinale a afirmativa correta.

Alternativas
Comentários
  • Os WebSockets têm por finalidade proporcionar uma ligação persistente entre um cliente e um servidor onde ambas as partes podem ser utilizadas para iniciar o envio de dados a qualquer momento. Desta forma, o cliente estabelece uma conexão WebSocket através de um processo, no qual o cliente envia um pedido via HTTP para o servidor de forma regular, com isso, um cabeçalho de atualização vai incluso neste pedido que informa ao servidor que o cliente pretende estabelecer uma conexão via WebSocket. 

    Gabarito E

  • Bem simples:

    O protocolo WebSocket usa a porta 80 e WebSocket TLS (tunelada) usa a porta 443.

    CERTA

    e)Por padrão, o protocolo WebSocket usa a porta 80 para conexões WebSocket regulares e a porta 443 para conexões WebSocket tuneladas sobre TLS (Transport Layer Security).


ID
2858800
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Programação
Assuntos

Sobre a Programação Orientada a Objetos em Java, assinale o correto.

Alternativas
Comentários
  • a) O método main não pode ser sobrescrito. Correto, afinal é public static void main , se é statica NÃO PODE SER SOBRESCRITO.

    .

    b) Classes abstratas(não) podem ser instanciadas.

    .

    c) Uma interface deve fornecer a assinatura dos métodos e opcionalmente alguma implementação.

    . Alternativa pelo qual a banca inválidou a questão. Java 7 e anterioes: INTERFACE NÃO PODE POSSUI IMPLEMENTAÇÃO. JAVA 8: interface opcionalmente permite implementação através dos métodos default

    .

    d) Quando dois métodos com o mesmo nome, porém argumentos diferentes, existem na mesma classe chamamos de sobrescrita(sobrecarga) de método.

    .

    e) Quando uma subclasse declara um método que possui a mesma assinatura e mesmo tipo de retorno que um método declarado em sua superclasse, chamamos de sobrecarga (sobrescrita) de método.

    ATUALIZAÇÃO

    Colega Othon, o que você está fazendo seria OCULTAMENTO em java ( Hiding) e não sobrescrita(Overriding). Acredito que o colega seja um programador Pleno, ou até mesmo um programador Sênior, em Java, porém para questões de provas de concursos temos que ter embasamento bibliográfico para resolução das questões.

    .

    Conforme o livro Certificação Java 6 - Volume 2 - Prática - RUBINSTEIN :

    Métodos static podem ser escondidos por subclasses, mas não sobrescritos.

    .

    Diferença entre Hiding e Overriding( Leitura avançada sobre Programação, dificilmente cairá isto em prova - Texto em inglês)

    https://crunchify.com/java-method-hiding-and-overriding-override-static-method-in-java/

  • letra (a) está errada. Métods estáticos (STATIC) podem ser sobrescrito.

    Exemplo 2:

    Classe estática significa que o método pode ser chamado sem que a classe seja instanciada em um objeto.

    Isso é útil para a classe principal (em Java), a classe MAIN, que é a primeira a ser EXECUTADA.

    Os métodos ou classes do tipo STATIC são/estão acessíveis diretamente pela classe, não precisam ser instanciados, ou seja , não precisa fazer o NEW: Aluno joao new = Aluno(), para as classes, ou seja pode usar os métodos dessa classe, como é normalmente feito em um contexto de POO.

    Portanto o código a seguir correto, método do tipo STATIC sendo sobrescrito .

    Experimente em seu computador.

    package testeprogramacao;

    /**

     *

     * @author otluix

     */

    // filename TesteProgramacao.java

    public class TesteProgramacao {

     

      public static void foo() { System.out.println("Test.foo() called ");  } // assinatura do método foo()

      public static void foo(int a) {  System.out.println("Test.foo(int) called ");  } // sobrescrita (overload) do foo()

      public static void main(String[] args) {

        TesteProgramacao.foo();

        TesteProgramacao.foo(10);

      }

    }

    Output do programa a anterior:

    Test.foo() called 

    Test.foo(int) called

  • letra (a) está errada. Métodos estáticos (STATIC) podem sim serem sobrescrito.

    Exemplo 1:

    Sobrescrita do método principal (MAIN):

    public class TesteMain {

      public static void main(String arg1) { System.out.println("Mundo"); }

      public static void main(String arg1, String[] arg2) { System.out.println("Olá, Mundo!!"); }

    public static void main(String[] args) {

    System.out.println("Olá");

    TesteMain.main("segunda linha"}

    TesteMain.main("terceira", "linha"}

    }

    Output do programa acima:

    Olá

    Mundo

    Olá, Mundo!!

    Os métodos STATIC VOID MAIN foram todos executados, contudo, os métodos foram sobrescrito.

    $ javac --version

    javac 11.0.2

  • eu iria errar pois estou estudando c# e lá não permite que interface implemente a interface

ID
2858803
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Arquitetura de Software
Assuntos

A arquitetura ePING – Padrões de Interoperabilidade de Governo Eletrônico – define um conjunto mínimo de premissas, políticas e especificações técnicas que regulamentam a utilização da Tecnologia de Informação e Comunicação (TIC) na interoperabilidade de serviços de Governo Eletrônico. Sobre a arquitetura ePING, o que é correto afirmar?

Alternativas
Comentários
  • Em tese, a letra E estaria correta.

    Na minha opinião, na letra D, 'Em teste' e 'Transição' tenham o mesmo significado.


    A)Para notação de modelagem de processos é adotado a UML.

    PROCESSOS – Notação de Modelagem de Processos: BPMN 1.2; BPMN 2.0


    B)Para protocolo para acesso a Web Service é adotado apenas SOAP v1.2. 

    Protocolo para acesso a Web Service: SOAP v1.2; HTTP/1.1 para REST



    C)Como linguagem para intercâmbio de dados são adotados: XML, JSON e CSV.

    Linguagem para intercâmbio de dados:  XML; Jason



    D)As especificações técnicas da ePING são classificadas em quatro níveis de situações: Adotado (A), Recomendado (R), Em Teste (T), Em Estudo (E).

    As especificações técnicas da ePING são classificadas em quatro níveis de situações que caracterizam o grau de aderência às políticas gerais da arquitetura.Esses quatro níveis são os seguintes:

    Adotado (A)

    Recomendado (R)

    Em Transição (T)

    Em Estudo (E)




    E)A arquitetura ePING foi segmentada em cinco partes: “Interconexão”, “Segurança”, “Meios de Acesso”, ”Organização e Intercâmbio de Informações” e “Áreas de Integração para Governo Eletrônico”.

    A arquitetura ePING foi segmentada em cinco partes, com a finalidade de organizar as definições dos padrões:

    Interconexão – Segmento 1 

    Segurança – Segmento 2

    Meios de Acesso – Segmento 3

    Organização e Intercâmbio de informações – Segmento 4

    Áreas de Integração para Governo Eletrônico – Segmento 5



ID
2858806
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Arquitetura de Software
Assuntos

Sobre REST e RESTful, o que é correto afirmar?

Alternativas
Comentários
  • REST significa Representational State Transfer. Em português, Transferência de Estado Representacional.

    O REST consiste em princípios/regras/constraints que, quando seguidas, permitem a criação de um projeto com interfaces bem definidas. Desta forma, permitindo, por exemplo, que aplicações se comuniquem.

    E quanto ao RESTful?

    São os sistemas que utilizam os princípios REST.

    Resumindo:

    REST: conjunto de princípios de arquitetura

    RESTful: capacidade de determinado sistema aplicar os princípios de REST.

    Fonte: https://becode.com.br/o-que-e-api-rest-e-restful/

  • Bem simples

    REST = principios para ter interfaces bem definidas.

    RESTful= SISTEMAS que possuem interfaces bem definidas implementadas.

    JAX-RS é uma API Java para RESTful Web Services.

  • Letra C

    Complementando os excelentes comentários.

    Rest não é um protocolo, mas uma abstração da arquitetura da web. Ele utiliza o HTTP como protocolo de comunicação

  • Essa A foi cruel..

     REST é acrônimo para Representation State Transfer # Representational State Traffic.


ID
2858809
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Programação
Assuntos

O JBoss AS (atualmente denominado WildFly) é um servidor de aplicações escrito em Java. A versão WildFly 13.0 é uma implementação das especificações da Plataforma Java Enterprise Edition 7. Acerca dessa versão é correto afirmar:

Alternativas
Comentários
  • Letra D falsa

    WildFly supports the use of both IPv4 and IPv6 addresses. By default, WildFly is configured for use in an IPv4 network and so if you are running in an IPv4 network,

    Letra b falsa. O modo Domain e usado em desenvolvimento e permite a visualização de várias instâncias no wildfly.

    Aqui também inválida a letra A

    domain mode can be helpful in some advanced development scenarios; i.e. those involving interaction between multiple WildFly instances. 

    Letra D incorreta

    Por padrão a aba do admin console e

    http://localhost:9990/console

    Letra E Correta

    By default WildFly 13 launches in EE7 mode. In order to use these new capabilities you have to enable EE8 preview mode. This can be accomplished by passing the ee8.preview.mode property during startup:

    ./standalone.sh -Dee8.preview.mode=true

    Fontes: https://docs.jboss.org/author/display/WFLY10/Admin+Guide?_sscc=t#AdminGuide-RunningtheCLI

    http://docs.wildfly.org/13/Admin_Guide.html#ipv4-versus-ipv6

    http://wildfly.org/news/2018/05/30/WildFly13-Final-Released/


ID
2858818
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Sistemas Operacionais
Assuntos

De acordo com a linha do arquivo '/ etc / passwd' exibida abaixo, qual das seguintes afirmações é verdadeira?


jferreira:x:502:1000:Joao Ferreira:/home/jferreira:/bin/bash

Alternativas
Comentários
  • NOME_USUARIO:PASSWORD:ID_USUARIO:ID_GRUPO:NOME:DIRETÓRIO_HOME:SHELL

    X no lugar do password significa que está utilizando o arquivo / etc/ shadow pra guardar a senha criptografada

  • / etc / passwd contém várias informações sobre cada usuário:

    - o seu nome de login (ou seja, o nome que é necessário digitar para entrar no sistema);

    - senha (neste caso, a informação da senha pode estar criptografada ou em outro arquivo);

    - UID (User IDentification), ou seja, número de identificação do usuário;

    - GID (Group IDentification), isto é, número de identificação do grupo do usuário;

    - informações adicionais sobre o usuário (nome completo, dados de contato, etc);

    - diretório "home", ou seja, o diretório principal de cada usuário;

    - shell do usuário, uma espécie de programa que interpretará os comandos que o usuário digitar.

  • A = Lhufas esse X representa senha criptografada.

    B = O X ali representa a senhja criptografada. GABARITO

    C = 502 é o UID

    D = 502 é o UID e não tem como saber quem pode ler ou não com as informações apresentadas

    E = Lhufas, jferreira é o nome do usuario e o jferreira:/bin/bash é o diretório HOME dele.

    GAB B


ID
2858821
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Engenharia de Software
Assuntos

O aplicativo Apache JMeter é um software de código aberto desenvolvido em Java e projetado para realizar testes de carga e medir desempenho. Para executar um teste de carga, podemos utilizar o comando abaixo. O que se pode afirmar por meio dele?


jmeter -n -t my_test.jmx -l my_test.jtl -H my.server -P 8000

Alternativas
Comentários
  • O JMeter pode criar arquivos de texto contendo os resultados de uma execução de teste. Eles normalmente são chamados de arquivos JTL, já que essa é a extensão padrão - mas qualquer extensão pode ser usada.

    https://wiki.apache.org/jmeter/JtlFiles