Untitled

93 downloads 547 Views 350KB Size Report
Handbook de Questões de TI Comentadas para Concursos. Volume 01. Prefácio . Este é o primeiro volume da série Handbook de Questões de TI Comentadas ...
Handbook de Questões de TI Comentadas para Concursos

Volume 01

Prefácio Este é o primeiro volume da série

 Além do Gabarito,

Handbook de Questões de TI Comentadas para Concursos

que traz para você a oportunidade de se preparar para concursos de TI

através do estudo de provas reais. Além disso, não faltará embasamento teórico ao concurseiro, uma vez que os comentários elaborados não se limitam à simples resolução das questões. Este volume traz a prova para Analista de Suporte do BNDES, aplicada em meados de 2008 pela Fundação Cesgranrio. São 40 questões comentadas "além do gabarito"para você se preparar não só para os concursos do BNDES, mas, também, para todos os demais concursos de alta concorrência na área de TI. Pelo fato do BNDES oferecer salário e benefícios superiores aos da maioria das empresas públicas e órgãos governamentais, o cargo de Analista de Suporte do BNDES é um dos mais disputados no Brasil na área de TI. Trata-se de uma prova completa, que cobre assuntos como segurança de informação, arquitetura de computadores, banco de dados, governança de TI, gerenciamento de projetos e muito mais. Bons estudos,

Equipe Handbook de TI

Página 1 de 46

Handbook de Questões de TI Comentadas para Concursos

31.

Tags:

Volume 01

linux, comandos linux,

No Linux, que comando é utilizado para criação de links simbólicos? (a). dmesg (b). rsync (c). mv -f

(d). ln -s (e). chmod -l

Solução: (A) ERRADA O comando dmesg é um comando do UNIX utilizado para imprimir as mensagens do kernel na saída padrão.

Por padrão, as mensagens do kernel são salvas do arquivo

/var/log/dmesg. O parâmetro mais comum do comando dmesg é o -n, que serve para controlar o nível de log que será enviado para a saída padrão. Usualmente, o comando dmesg é utilizado para diagnosticar problemas durante a etapa de inicialização do sistema. (B) ERRADA O rsync é um aplicativo UNIX que sincroniza diretórios e arquivos entre dois computadores. O aplicativo trabalha de forma incremental, sincronizando apenas as partes alteradas dos arquivos, poupando a rede e tornando a sincronização mais rápida.

O

rsync também é capaz de preservar links, propriedades e permissões dos arquivos, bem como as datas de criação e modicação. (C) ERRADA No UNIX, o comando mv é utilizado para renomear um arquivo ou movê-lo de um diretório para outro. Com a opção -f, o mv irá mover o arquivo sem solicitar a conrmação ao usuário, mesmo que um arquivo de mesmo nome já exista no diretório de destino. (D) CORRETA O comando ln é utilizado par criar links entre arquivos ou diretórios. Por sua vez, os links são pseudo arquivos que apontam para um arquivo real. No UNIX, existem basicamente dois tipos de links: os hard links e os links simbólicos. Os links simbólicos são criados pela opção -s do comando ln. Um hard link é uma cópia de uma entrada do sistema de arquivos. As duas entradas contém nomes diferentes, mas apontam para o mesmo inode, de modo que o conteúdo e as permissões sejam compartilhados. Embora os hard links não ocupem espaço útil no sistema de arquivos, eles possuem duas limitações básicas. A primeira é que o hard-link e o arquivo precisam estar no mesmo sistema de arquivos, e a segunda é que os hard links não podem apontar para diretórios. Os links simbólicos são pequenos arquivos que apontam para outros arquivos, que podem estar localizados em qualquer lugar, inclusive em sistemas de arquivos remotos. Ao contrário dos hard links, os links simbólicos ocupam espaço, embora pequeno, no

Página 2 de 46

Handbook de Questões de TI Comentadas para Concursos

sistema de arquivos e podem apontar para diretórios.

Volume 01

As permissões do arquivo real

são herdadas pelos links simbólicos e, caso o arquivo real seja apagado, o link simbólico torna-se um dead link, pelo fato de apontar para um arquivo ou diretório que não mais existe no sistema de arquivos. (E) ERRADA O comando chmod é utilizado para modicar as permissões de acesso em arquivos ou diretórios no UNIX. Com o chmod é possível, por exemplo, denir se um usuário ou um grupo pode ler, alterar ou executar os arquivos. No caso dos diretórios, o privilégio de execução corresponde ao direito de listar seu conteúdo.

32.

Tags:

redes de computadores, TCP/IP, endereçamento IP,

Suponha uma rede TCP/IP formada por 3 equipamentos conectados em um mesmo switch: Estação X, IP 192.168.10.100/24 Estação Y, IP 192.168.10.200/24 Roteador R, IP 192.168.10.1/24

Considerando-se que o default gateway (default route, rota padrão) de cada estação é R, observe as armativas abaixo. I - Caso X inicie uma conexão TCP destinada a Y, os pedidos de requisição de conexão (SYN) passarão por R. II - Todas as mensagens ARP Request enviadas por Y são recebidas por R. III - Sem que o endereçamento IP seja alterado, é possível adicionar 253 estações a essa rede.

SOMENTE está(ão) correta(s) a(s) armativa(s) (a). I

(b). II (c). I e II (d). II e III (e). I, II e III

Solução: A armativa I é incorreta. Como X e Y pertencem a mesma subrede, as requisições enviadas de X para Y não passarão por R. As requisições partindo de X ou Y só passarão por R caso sejam destinadas a alguma estação localizada em uma subrede diferente de 192.168.10.0/24. A alternativa II é correta.

As mensagens ARP Request (Address Resolution Proto-

col) tem por objetivo recuperar o endereço MAC de outros elementos da rede, para os quais é conhecido o endereço IP. Em linhas gerais, quando Y precisa descobrir o endereço MAC de X, o processo é o seguinte:



Y monta um pacote ARP Request com a pergunta "Quem tem o IP 192.168.10.100?"



Y envia o pacote para o endereço de broadcast FF:FF:FF:FF:FF:FF

Página 3 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01



Todos os integrantes da subrede recebem o pacote ARP Request



Ao receber o pacote, X verica que é capaz de receber a pergunta



X monta um pacote ARP Response contendo seu endereço MAC e o envia diretamente a Y



Y recebe o ARP Response, e agora está preparado para montar o pacote e endereçálo com o MAC de X

A alternativa III é incorreta.

A subrede 192.168.10.0/24 contém 256 endereços.

No

entanto, a faixa de endereçamento útil é de 192.168.10.1 até 192.168.1.254, já que os endereços 192.168.10.0 e 192.168.10.255 são os endereços de rede e de broadcast, respectivamente. Ou seja, a subrede em questão pode conter, no máximo, 254 elementos. Como X, Y e R já consumiram 3 desses endereços, podem ser adicionados, no máximo, mais 251 elementos a essa subrede.

33.

Tags:

gerenciamento de identidades, single sign-on,

No âmbito de segurança, é INCORRETO armar que o single sign-on: (a). permite que um usuário se autentique uma única vez para acessar múltiplos sistemas e aplicações. (b). é aplicável em sistemas WEB, mesmo que não se utilize certicação digital. (c). é implantado mais facilmente em ambientes de Infra-estrutura homogênea do que heterogênea.

(d). reduz a complexidade da Infra-estrutura e diculta ataques de forçabruta em senhas. (e). facilita a gerência e a administração centralizada de identidades.

Solução: Single sing-on é um método de controle de acesso que habilita ao usuário a realizar o logon uma vez e ganhar acesso a múltiplos recursos da rede sem a necessidade de se autenticar novamente. As soluções de single sign-on podem ser implementadas de várias formas, por exemplo, por meio do uso de smarts cards, certicados digitais e kerberos. Entre as principais vantagens das soluções de single sign-on estão a utilização de um método único de autenticação, o que acaba por facilitar a administração. Além disso, o single sign-on pode aumentar a produtividade e reduzir o número de problemas com a administração de senhas. A desvantagem mais clara do single sign-on refere-se a segurança das informações.

Caso um atacante A venha a descobrir a senha de B , automatica-

mente ele terá acesso a todos os sistemas de B. Além disso, as soluções de single sign-on geralmente fazem uso de um repositório central de autenticação, o que representa um ponto único de falha e de invasão. Caso um atacante domine o repositório central, ele pode vir a comprometer a autenticação de todos os sistemas da rede. Para contornar o problema de ponto único de falha, muitas organizações optam por implantar soluções de sincronismo de senhas, ao invés de soluções de single sign-on. Assim,

Página 4 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

os usuários precisam decorar apenas uma senha, mas continuam precisando digitá-las nos diversos sistemas da rede. A complexidade da Infra-estrutura de soluções de single sign-on depende do ambiente em que se deseja realizar a implantação. Quanto maior o número de sistemas envolvidos e mais diversas forem as tecnologias, mais complexa será a implantação do single sign-on. Além disso, em soluções de single sing-on e de sincronismo de senha, a complexidade da política de senhas geralmente é denida pelas capacidades do sistema menos restritivo. Ou seja, se um dos sistemas alvo do single sign-on só aceitar senhas alfanuméricas, a política de senha geral deverá comportar essa limitação, o que pode diminuir a segurança da rede como um todo.

34.

Tags:

banco de dados, SGBD,

O catálogo (ou dicionário de dados) de um Sistema Gerenciador de Bancos de Dados Relacional (a). visa a propiciar o acesso rápido a dados com um determinado valor. (b). é um item opcional do banco de dados, que pode ser removido caso o usuário deseje. (c). é raramente utilizado, sendo sua organização pouco inuente no desempenho do sistema.

(d). contém informações descritivas sobre os diversos objetos do sistema. (e). tem seus dados organizados segundo um esquema hierárquico, para maior eciência no acesso.

Solução: O dicionário de dados (DD) é a parte do Sistema Gerenciador de Bancos de Dados (SGBD) responsável por armazenar informações sobre a estrutura geral do banco de dados, incluindo cada um dos seus elementos de dados. Tais informações são conhecidas como metadados. Diz-se que o DD é um banco de dados sobre o banco de dados. No contexto dos bancos de dados relacionais, exemplos de elementos de dados são tabelas, colunas, relacionamentos, índices, entre outros.

No DD são armazenados os

nomes das tabelas, os relacionamentos entre elas, bem como os nomes da colunas, os tipos e os domínios de dados. Além de informações estruturais, o DD também armazena informações de segurança, que indicam as permissões de acesso aos elementos de dados, assim como informações físicas, indicando onde e como os dados são armazenados. Elementos como funções e stored procedures também são armazenados nos dicionários de dados do SGBD. As implementações de dicionário de dados podem variar de acordo com a tecnologia do SGBD. No caso dos bancos de dados relacionais, os dicionários de dados, geralmente, são implementados como tabelas.

A forma como essas tabelas são indexadas e orga-

nizadas em disco é fator fundamental para o desempenho do banco de dados, pois as mesmas são acessadas em maior parte das operações realizadas pelos SGBD.

Página 5 de 46

Handbook de Questões de TI Comentadas para Concursos

35.

Tags:

Volume 01

técnicas de programação, modularização de algoritmos,

Considere o projeto da rotina escrita em pseudo-código, apresentada a seguir. 1. função processar() { 2. // recuperar lista do banco de dados 3. // ordenar lista 4. // atualizar lista 5. // enviar lista via e-mail 6. // gravar lista no banco de dados 7. m da função } Sabendo-se que o desenvolvedor implementou o algoritmo responsável pelas linhas 2, 3, 4, 5 e 6 completamente no corpo da função apresentada acima, quais são as características deste trecho de código? (a). Alta coesão e baixa modularização. (b). Alta coesão e alto acoplamento. (c). Baixo acoplamento e baixa modularização.

(d). Baixa coesão e baixa modularização. (e). Baixa coesão e alta modularização.

Solução: A forma natural de solucionarmos problemas complexos é dividi-los em problemas mais simples, aos quais chamamos de módulos. Essa divisão em programação é chamada de modularização. Um módulo é um grupo de comandos, constituindo de um trecho de algoritmo, com uma função bem denida e o mais independente possível em relação ao resto do algoritmo.

Devemos utilizar módulos de tamanho limitado, pois módulos muito extensos

acabam perdendo sua funcionalidade. Cada módulo pode denir as próprias estruturas de dados necessárias para sua execução. A comunicação entre módulos deverá ser feita através de variáveis globais ou por transferência de parâmetros. O objetivo da modularização é aumentar a conabilidade, legibilidade, manutenibilidade e exibilidade de um software. Podemos utilizar dois tipos de ferramentas para fazer a modularização: procedimentos ou funções. A declaração de um procedimento ou função é composta por um cabeçalho e um corpo. O cabeçalho, que contém um nome e uma lista de parâmetros, identica o procedimento, e o corpo contém declarações locais e os comandos do procedimento. Para ativarmos um módulo, fazemos referência a seu nome e a indicação dos parâmetros atuais. Quando projetamos um algoritmo devemos construir módulos com apenas um propósito, alta coesão, e diminuir ao máximo a interação entre eles, baixo nível de acoplamento. Ou seja, o ideal é projetar software de forma que cada módulo encaminhe uma sub-função especíca de requisitos e tenha uma interface simples quando visto de outras partes da estrutura do programa. A independência funcional é fundamental para um bom projeto.

Página 6 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

A coesão mede quão relacionadas ou focadas estão as responsabilidades da classe ou módulo. Uma classe com baixa coesão faz muitas coisas não relacionadas, ou seja, assumi responsabilidades que pertencem a outras classes, e leva aos seguintes problemas: difícil de entender; difícil de reusar; difícil de manter; e "delicada"(constantemente sendo afetada por outras mudanças). O acoplamento ou conexão é a interdependência relativa entre módulos, ou seja, o que um módulo conhece sobre o outro.

Mudanças em módulos com baixo acoplamento

não são reetidas em outros módulos. Podemos classicar um software, em relação ao acoplamento, da seguinte maneira:



baixo acoplamento: quando a interface entre módulos se faz através da passagem de dados;



acoplamento moderado: quando a interface entre os módulos é feita por controle, p.ex., quando o módulo1 passa o controle para o módulo 2;



acoplamento elevado:

quando o módulo está ligado a um ambiente externo ao

software, p.ex., a E/S acopla um módulo a dispositivos, formatos e protocolos de comunicação. Ou ainda, módulos que utilizam variáveis globais. De acordo com o algoritmo apresentado, o desenvolvedor não se preocupou com a modularização, coesão e acoplamento. Isto é, concentrou todas as funcionalidades em uma única função. Assim, caracterizando o código com baixa modularidade, baixa coesão e alto acoplamento.

36.

Tags:

técnicas de programação, passagem de parâmetros,

Observe a rotina abaixo escrita em pseudocódigo. 1. inicio 2. p : inteiro = 20 3. misturar(p,p) 4. imprimir p 5. m 6. procedimento misturar(a:inteiro, b:inteiro) 7. a = a + (b / 2)  (b / 5) + 14; 8. b = (a / b) - 1; 9. m da função Considerando-se a linha 1 como o ponto de entrada, e que os parâmetros `a' e `b' da subrotina são passados por referência, qual será o valor impresso na linha 4?

(a). 0 (b). 1 (c). 19 (d). 20 (e). 40

Página 7 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

Solução: Existem várias formas de passarmos parâmetros entre funções, e a escolha depende do nosso objetivo. Em uma passagem de parâmetro por valor, as alterações realizadas nos parâmetros dentro da função invocada (parâmetros formais) não reetem nos parâmetros da função invocadora (parâmetros efetivos) correspondente. Neste caso, os parâmetros são de entrada. Em uma passagem por referência, as alterações realizadas nos parâmetros formais reetem nos parâmetros efetivos da função correspondente. Neste caso, os parâmetros são de entrada e saída. As alterações dos parâmetros são reetidas, pois se altera o valor do endereço de memória dos parâmetros. Na linha 2 do código, a variável p, que é do tipo inteiro, recebe o valor 20. Na linha 3, a função misturar é invocada. Como os parâmetros dessa função são passados por referência, devemos lembrar que qualquer alteração dentro do corpo da função misturar reete no valor p. Para essa função, os parâmetros a e b são iguais p, isto é, a = 20 e b = 20. Vale destacar que qualquer alteração em a é reetida em b, e em b reetida em a e conseqüentemente em p, pois as três variáveis apontam para o mesmo endereço de memória. No corpo da função misturar, linha 7, o parâmetro a é computado. O resultado dessa operação é a = 40, e conseqüente b = 40, pois apontam para mesmo endereço de memória, p. Na linha 8, o parâmetro b é computado. O resultado dessa operação é b = 0. O valor de p foi atualizado para 0. Na linha 4, o valor atual de p é 0. Então, o valor impresso de p é igual 0. Vale lembrar que cada linguagem de programação tem suas regras especícas para realizar a passagem de parâmetros.

37.

Tags:

backup, operação de infra-estrutura,

O backup de um determinado servidor, que possui uma unidade de ta P para armazenamento, demora 2h e 30min para ser concluído. Esse mesmo backup, desse mesmo servidor, é nalizado em 1h e 40min, quando um dispositivo Q é utilizado como armazenamento. O desempenho de Q em relação a P é

(a). 50% superior. (b). 2/3 superior. (c). 9/23 superior. (d). 1/3 inferior. (e). 30% inferior.

Página 8 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

Solução: Para a unidade de ta P, o tempo de backup é de 2h e 30min (150min). dispositivo Q, o tempo total de backup é de 1h e 40min (90min).

Já para o

O desempenho de

um processo de backup é inversamente proporcional ao tempo gasto. Ou seja, podemos dizer que o desempenho do backup para P e Q, respectivamente são: D(P) = K * (1/150) D(Q) = K * (1/100) Logo, a relação de desempenho de Q em relação a Q pode ser dado pela fórmula: D(Q/P) = D(Q)/D(P) = 1,5 Portanto, o desempenho de backup usando o dispositivo Q é 50% superior ao desempenho do backup usando a ta P.

38.

Tags:

RAID, storage, cache,

Oito discos rígidos, cada um com 1TB de capacidade, formam um arranjo do tipo RAID 5. A esse respeito, considere as armativas a seguir.

I - Caso dois discos falhem simultaneamente, o desempenho de leitura, em média, será 25perda de dados. II - Nesse arranjo, 1TB é utilizado para dados de redundância e, portanto, o espaço em disco útil é de 7TB. III - O disco destinado à paridade efetua muitas operações de escrita e, por isso, é recomendável que possua, pelo menos, 1GB de cache de escrita.

Está(ão) correta(s) somente a(s) alternativa(s) (a). I (b). II

(c). III (d). I e II (e). I e III

Solução: Em um arranjo em RAID 5, as informações de paridade são distribuídas ao longo de todos os discos do conjunto, ao invés de serem armazenas em disco dedicado assim como ocorre no RAID 4. Entretanto, a informação de paridade é única, ou seja, um valor de paridade armazenado em um disco é calculado a partir dos outros sete discos. Então, não será possível recuperar o dado caso mais de um disco falhe. Logo, a alternativa I está incorreta. É necessário lembrar que a única diferença em um arranjo em RAID 6 em relação ao RAID 5, é que o primeiro possui o dobro de bits de paridade, tornando possível a recuperação quando até dois discos falharem. A alternativa II está correta, uma vez que o espaço reservado para as informações de paridade é equivalente a um disco do conjunto (1TB), embora seja distribuído, tornando o espaço em disco útil equivalente a 7TB (8TB - 1TB).

Página 9 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

Como explicado anteriormente, as informações de paridade são distribuídas e, portanto, não existe disco dedicado para armazenar essas informações. Esse fato torna a alternativa III incorreta.

Logo, somente a alternativa II está correta, tornando C a resposta a ser marcada.

39.

Tags:

gerenciamento de projetos, gerenciamento de custos, análise do valor agregado,

Em determinado momento, um projeto apresenta as seguintes características:



custo real (actual cost): R$1.000,00



valor agregado (earned value): R$1.200,00



valor planejado (planned value): R$1.600,00

Segundo o PMBOK, qual o índice de desempenho de custos (cost performance index) desse projeto? (a). 2,5 (b). 1,25

(c). 1,2 (d). 0,625 (e). 0,4

Solução: O Índice de desempenho de custos (IDC) mede a eciência de custos em um projeto. Este índice é calaculado a partir da divisão do valor agregado (VA) pelo custo real (CR). Assim, para este projeto, nós teremos um IDC igual a 1,2 (1.2000/1.000). Este resultado nos informa que tal projeto encontra-se em uma condição favorável pois o IDC é maior (ou igual) a 1,0 (caso o IDC fosse menor do que 1,0, diríamos, de acordo com o PMBOK, que o projeto encontra-se em uma condição desfavorável). Note que, para esta questão, o valor planejado (VP) fornecido não foi utilizado. Tal valor é empregado no cálculo de outros índices como, por exemplo, o Índice de desempenho de prazos (IDP).

40. Segundo o PMBOK, NÃO é característica de um projeto:

Tags:

(a). possuir início e m denidos. (b). desenvolver-se em etapas e continuar por incrementos.

(c). ser contínuo e repetitivo. (d). criar serviços únicos. (e). criar produtos únicos.

Página 10 de 46

gerenciamento de projetos,

Handbook de Questões de TI Comentadas para Concursos

Volume 01

Solução: Um projeto é um esforço temporário, desenvolvido em etapas, empreendido para criar um produto, serviço ou resultado únicos. Todo projeto possui início e nal denidos, sendo que o nal pode ser alcançado por uma das seguintes formas:



Quando os objetivos do projeto tiverem sido atingidos;



Quando se tornar claro que os objetivos não serão ou não poderão ser atingidos;



Quando o projeto deixa de ser necessário, sendo, portanto, encerrado.

Uma segunda característca de um projeto diz respeito à singularidade do que será entregue, quer seja um produto, um serviço ou um resultado de pesquisa. Por m, de acordo com a terceira e última característica de um projeto (Elaboração Progressiva), ele é desenvolvido em etapas e incrementado durante a sua existência. Considere, por exemplo, o caso em que o escopo de um projeto se aperfeiçoa, no que diz respeito ao nível de detalhismo, ao longo da sua existência.

41.

Tags:

Apache, web servers, segurança de informação,

No Apache 2.x, que diretiva de conguração está relacionada à segurança por obscuridade?

(a). ServerTokens (b). HeaderCong (c). FooterCong (d). AuthCongLimiter (e). SecurityHostInfo

Solução: Segurança por obscuridade é uma técnica que se baseia em esconder informações do sistema que possam ser utilizadas por um atacante no processo de descoberta de vulnerabilidades. Ao identicar a versão de um sistema, um atacante pode em seguida mapear quais vulnerabilidades estão presentes. Por si só, a obscuridade não é suciente na proteção de um sistema, devendo ser utilizada apenas de forma complementar a outros métodos. Portanto, esconder informações não é suciente para impedir um atacante que esteja realmente disposto a comprometer um sistema. No caso do servidor web Apache, a diretiva de conguração ServerTokens é a responsável por controlar quais informações são enviadas aos clientes no campo Server, presente no header da mensagem de resposta. Os valores que a diretiva ServerTokens pode assumir assim como as informações retornadas no campo Server são mostrados a seguir: ServerTokens Prod: Retorna apenas o nome do produto. (Server: Apache)

Página 11 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

ServerTokens Min: Retorna o nome do produto e a versão. (Server: Apache/1.3.0) ServerTokens OS: Retorna o nome do produto, a versão e o sistema operacional hospedeiro. (Server: Apache/1.3.0 Unix) ServerTokens Full: Retorna o nome do produto, a versão, o sistema operacional hospedeiro, e a lista de módulos instalados.

(Server:

Apache/1.3.0 Unix PHP/3.0 My-

Mod/1.2)

42.

Tags:

J2EE, EJB, servidor de aplicação,

Uma aplicação empresarial contendo componentes EJB e módulos web deverá ser publicada em um servidor de aplicação compatível com J2EE. No contexto do empacotamento dessa aplicação para publicação (deploy), é correto armar que (a). não há como juntar componentes EJB e módulos web em uma mesma aplicação, pois deverão ser publicados separadamente.

(b). um arquivo EAR poderá conter arquivos WAR e JAR representativos dos módulos web e EJB. (c). o tamanho do pacote, em bytes, sempre ca maior que o código original, em virtude do algoritmo empregado no empacotamento da aplicação em um arquivo EAR. (d). módulos web não devem ser empacotados, pois isso inviabiliza seu acesso pela Internet. (e). arquivos JAR servem apenas para empacotar componentes EJB.

Solução: Os arquivos JAR (Java Archive) agrupam arquivos de classes e os recursos utilizados por essas classes, como imagens e propriedades. Os pacotes JAR são muitos utilizados no mundo Java e são facilmente visualizáveis por softwares de descompactação populares como o Winzip. A utilização desses arquivos JAR não se restrigem ao empacotamento de componentes EJB, pois também são utilizados para empacotar componentes Java não pertencentes ao padrão J2EE. Concluímos, então, que a alternativa E está incorreta. O que difere um arquivo JAR comum e um arquivo JAR que armazena componentes EJB são os arquivos "manifest", cuja nalidade é fornecer informações adicionais que serão utilizadas em tempo de execução.

Os arquivos JAR "comuns"possuem o ar-

quivo meta-inf/Manifest.mf. Já os arquivos que armazenam EJBs possuem o arquivo META_INF/ejb-jar.xml. Os módulos web podem ser empacotados em arquivos com extensão WAR (Web Archive) e não há problema nenhum em relação ao seu acesso pela internet, pois, uma vez que o arquivo WAR siga as especicações do padrão J2EE, o container web do servidor de aplicação será responsável em gerar os arquivos HTML para serem entregues ao browser. Logo, a alternativa D está incorreta. A alternativa C está errada, uma vez que os arquivos JAR, WAR etc. são compactados e tendem a possuir tamanho reduzido, embora não haja garantia de que sejam menores

Página 12 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

que o código original. Um arquivo EAR (Enterprise Application Archive) é utilizado para permitir que uma aplicação J2EE complexa possa ser facilmente instalada em um servidor J2EE. Ele permite agrupar pacotes JAR comuns, pacotes JAR com EJB's e pacotes WAR. Portanto, a alternativa B é a alternativa correta para a questão.

43.

Tags:

redes de computadores,

Quantos bits um link Internet de 10 megabits por segundo transmite, em máxima utilização, em 5 segundos? (a). 52428800

(b). 50000000 (c). 10000000 (d). 2097152 (e). 2000000

Solução: Para resolver essa questão é importante saber que, quando se fala de redes e taxas de transmissão, os multiplicadores Kilo, Mega, Giga e assim sucessivamente são, geralmente, potências de 10 e não de 2. Portanto:

103 bits 6 Megabit = 10 bits 9 Gigabit = 10 bits

1 Kilobit = 1 1

As potências de 2 geralmente são utilizadas para denir tamanhos de memória, e tal convenção deve ao fato dos computadores atuais serem baseados em lógica binária. Ou seja:

10 ) bytes = 1.024 bytes 10 10 1 Megabyte = (2 ) * (2 ) bytes = 1.048.576 bytes 10 10 10 1 Gygabyte = (2 ) * (2 ) * (2 ) bytes = 1.099.511.627.776 bytes 1 Kilobyte = (2

Feitas as considerações sobre os multiplicadores, vamos agora introduzir a fórmula de cálculo da quantidade de dados transferidos por um link em um determinado periodo de tempo, que é dada pela seguinte fórmula:

Total(t) = Taxa de Transmissão x Tempo de Transmissão

Logo:

Total(t) = Taxa de Transmissão x Tempo de Transmissão Total(t) = 10 * Total(t) = 50 *

106 106

bits/segundo x 5 segundos bits

Página 13 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

Total(t) = 50000000 bits

44.

Tags:

redes de computadores, gerenciamento de redes, SNMP,

O gerente de redes de uma empresa deseja monitorar o desempenho de seus servidores, equipamentos de rede e links de comunicação de dados. Os dados de monitoramento devem contemplar o nível de utilização de:



links, por tráfego de entrada e saída;



CPU dos roteadores;



CPU, rede, memória principal e espaço em disco de servidores.

Que solução tecnológica pode ser implantada para atender ao gerente? (a). Criar um servidor central com as ferramentas de ping, traceroute e netstat. (b). Criar um servidor LDAP que armazene a coleta central de dados via HTTP. (c). Adicionar endereços IPv6 nos servidores e demais elementos de rede. (d). Habilitar o protocolo 802.1Q em cada ativo da rede.

(e). Montar uma estrutura de monitoramento dos ativos envolvidos via SNMP. Solução: (A) ERRADA O aplicativo ping pode ser utilizado para ns de monitoração de disponibilidade, mas é insuciente para monitoramento de desempenho. Já as ferramentas traceroute e netstat são mais utilizadas para diagnóstico de problemas de roteamento e conexões, não sendo aplicáveis a atividades de monitoramento. (B) ERRADA Diretórios LDAP geralmente são utilizados como repositórios centrais de dados de usuários e recursos da rede, não tendo utilidade para ns de monitoração de desempenho. Já o HTTP é um protocolo de comunicação vastamente utilizado na web e nas intranets, e não tem relação direta com atividades de monitoração de elementos de rede. (C) ERRADA A tecnologia IPv6 tem como objetivo principal ampliar o espaço de endereçamento da internet de aproximadamente 4 bilhões para 3.4 x

1038

endereços.

A limitação atual

é decorrente da utilização do protocolo IPv4, cujo endereço é formado por 32 bits, enquanto o IPv6 baseia-se em endereços de 128 bits. (D) ERRADA O IEEE 802.1Q é um protocolo que tem por objetivo permitir a criação de múltiplas redes locais lógicas (VLANs) independentes dentro de uma mesma rede física. A principal vantagem das VLANs é a facilitação da administração, uma vez que tal tecnologia permite que grandes redes físicas sejam subdividas em várias redes lógicas que reitam melhor as características da organização. Na prática, o padrão 802.1Q é implementado

Página 14 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

pelos switches, que são encarregados de acrescentar um cabeçalho adicional aos frames montados pela camada de enlace. (E) CORRETA O Simple Network Management Protocol, ou simplesmente SNMP, refere-se a um conjunto de especicações para gerenciamento e monitoramento de dispositivos em uma rede TCP/IP. O SNMP é, atualmente, o padrão de fato para gerenciamento de redes. O gerenciamento de redes usando SNMP baseia-se em três elementos: os dispositivos gerenciados, os agentes de monitoração e os sistemas de gerenciamento de redes. Cada dispositivo gerenciado possui um agente de monitoração, responsável por responder as requisições enviadas pelo sistema de gerenciamento de redes. Alguns agentes de monitoração também são capazes de disparar mensagens para os sistemas de gerenciamento com base em eventos especícos. Tais mensagens são conhecidas como traps. Tipicamente, os agentes de monitoração de servidores são capazes de enviar traps quando a temperatura da CPU atinge patamar, enquanto agentes de monitoração de roteadores podem gerar traps quando a utilização de um determinado link alcança um valor especíco. O conjunto de informações oferecidas por cada agente de monitoração é denida e armazenada na Management Information Base (MIB), e essa pode variar de acordo com o dispositivo gerenciado, com o fabricante e com a versão do protocolo.

45.

Tags:

segurança de informação, criptograa,

Um conjunto de algoritmos de criptograa simétrica é: (a). DSA, MD5, IDEA e SHA-256. (b). RSA, SERPENT, DES e RC4.

(c). RIJNDAEL, IDEA, Blowsh e RC5. (d). MD5, DES, RC5 e 3DES. (e). Die-Hellman, IDEA, Blowsh e RC4.

Solução: (A) ERRADA IDEA é um algoritmo de criptograa simétrica, mas DSA, MD5 e SHA-256 não são. O MD5 e o SHA-256 são algorítimos de hash criptográco, não sendo utilizados para segurança em comunicações. Uma das propriedades fundamentais das funções hash é a não reversibilidade. Ou seja, não é possível recuperar a informação original a partir do hash. Já o DSA (Digital Signature Algorithm) é um algorítimo de chave assimétrica, sobre o qual se baseia o padrão DSS (Digital Signature Standard), denido pelo governo americano. Padrões de assinatura digital exigem a utilização de criptograa assimétrica, para garantir a identidade e o não repúdio por parte do assinante que, por denição, deve ser o único portador da chave privada utilizada no processo de assinatura.

Página 15 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

(B) ERRADA SERPENT, DES e RC4 são algorítmos de chave simétrica, porém o RSA não é. O RSA leva esse nome devido aos nomes de seus inventores, a saber, Ron Rivest, Adi Shamir e Len Adleman. O RSA fundamenta-se na teoria clássica dos números e é considerado, atualmente, o algorítmo de criptograa mais seguro. (C) CORRETA A letra C é a única opção em que todos os algorítmos são simétricos e, portanto, é a resposta correta. O RIJNDAEL é, na verdade, o nome do vencedor do concursos que selecionou o algorítmo do AES (Advanced Encryption Standard), encomendado pelo governo americano para substituir o padrão DES (Data Encryption Standard), criado pela IBM. O IDEA (International Data Encryption Algorithm) é um algorítmo que, assim como o AES, foi projetado no intuito de substituir o DES. No entanto, a utilização do IDEA é licenciada por uma empresa chamada MediaCrypt. O IDEA tem sido aplicado no PGP (Pretty Good Privacy), um programa de computador que comumente é utilizado para assintaura e criptograa de mensagens de email. O Blowsh também é um exemplo de algorítmo simétrico, tendo sido desenvolvido em 1993 por Bruce Schneier como uma alternativa mais rápida aos algorítimos existentes. Além do fato de ser muito rápido, o Blowsh não é patenteado e sua utilização é livre. Esses dois fatores zeram com que o algorítimo se tornasse muito popular, sendo utilizado em inúmeros suítes criptogracas e produtos que requerem comunicação segura, notoriamente, o OpenSSH. O RC5 é um algorítimo de criptograa simétrica conhecido por sua simplicidade. Ele é contruído basicamente por módulos AND e XOR, e é capaz de operar com variados tamanhos de bloco e de chave. Alguns dizem que o RC leva esse nome por conta do nome de seu projetista, Ron Rivest. O RC signicaria "Ron's Code"ou então "Rivest Cipher". (D) ERRADA Os algorítmo MD5 é um hash criptográco, conforme explicado na alternativa A, o que torna a opção D incorreta. Assim como o RC5 e o DES, O 3DES (Triplo DES) também é simétrico. Tal algorítmo é baseado na utilização de 3 blocos DES em sequencia, e foi desenvolvido para tornar o DES mais seguro, quando detectou-se que a chave de 56 bits do DES não era mais forte o suciente para impedir ataques de força bruta. (E) ERRADA O Die Hellman não é um algorítimo de cifragem, mas sim um protocolo criptográco que permite que as duas partes comunicantes a estabelecer conjuntamente uma chave secreta de comunicação através de um canal inseguro. Um aspecto importante do DieHellman é que, para o estabelecimento da chave secreta entre A e B, A não precisa conhecer previamente informações de B, e vice versa.

O Die-Hellman provê a base

para vários protocolos de autenticação, como o TLS (Transport Layer Security) e SSL (Security Sockets Layer).

46.

Tags:

normalização, banco de dados,

Página 16 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

A relação Vendas, apresentada a seguir, foi montada para armazenar os dados de um sistema de vendas. Considere que atributo sublinhado representa o identicador da relação, e item marcado com * representa atributo multi-valorado. Vendas(NumeroNota, CodProduto, DescProduto, NomeCliente, CPFCliente, Data, QtdeVendida, ValorUnitVendido, Peso, Telefone*) Foram especicadas as seguintes dependências funcionais:

CodP roduto− > DescP roduto, P eso N umeroN otaF iscal− > Data, CP F Cliente N umeroN otaF iscal, CodP roduto− > QtdeV endida, V alorU nitV endido CP F Cliente− > N omeCliente Considerando-se que para um dado valor em CPFCliente podem existir vários telefones associados e vice-e-versa, qual o conjunto de tabelas que armazena as informações apresentadas, atende às dependências funcionais e se encontra na terceira forma normal? (a). Produtos(CodProduto, DescProduto, Peso) Vendas(NumeroNota, CodProduto, CPFCliente, QtdeVendida, ValorUnitVendido) Clientes(CPFCliente, NomeCliente, Data, Telefone*)

(b). Clientes(CPFCliente, NomeCliente) Telefone(CPFCliente, Telefone) NotasDeVenda(NumeroNota, CodProduto, CPFCliente, Data) Produtos(CodProduto, DescProduto, ValorUnitVendido, Peso) ProdutosVendas(NumeroNota, CodProduto, CPFCliente, QtdeVendida)

(c). Clientes(CPFCliente, NomeCliente) Telefone(CPFCliente, Telefone) Nota(NumeroNota, CPFCliente, Data) Produtos(CodProduto, DescProduto, Peso) NotasProdutos(NumeroNota, CodProduto, QtdeVendida, ValorUnitVendido) (d). Vendas(NumeroNota, CodProduto, QtdeVendida, ValorUnitVendido, CPFCliente, Data) Produtos(CodProduto, DescProduto, Peso) Cliente(CPFCliente, NomeCliente) Telefone(CPFCliente, Telefone) (e). Cliente(CPFCliente, Telefone, NomeCliente) Nota(CPFCliente, NumeroNota, CodProduto, QtdeVendida, ValorUnitVendido, Data) Produtos(CodProduto, DescProduto, Peso)

Solução: Uma dependência funcional da forma

A− > B

determina que cada valor do atributo A

determina exatamente um valor do atributo B. Por exemplo, na dependência funcional

CodP roduto− > DescP roduto, P eso,

supomos CodProduto = 1001, a esse CodPro-

duto estará associada exatamente uma dupla da forma

SaboemP M ix, 500g .

DescP roduto, P eso,

exemplo:

Nenhum outra dupla será permitida para ser representada pelo

CodProduto 1001.

Página 17 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

Um conjunto de tabelas está na terceira forma normal se todas as relações satisfazem as condições da terceira forma normal. Além disso, uma relação que está na terceira forma normal necessariamente satisfaz as condições previstas na primeira e na segunda forma normal. A primeira forma normal proíbe a existência de campos multi-valorados.

Logo, a al-

ternativa A já pode ser eliminada, já que "Telefone"da tabela Clientes é representado como um atributo multi-valorado. Uma relação estará satisfazendo as condições da segunda forma normal se atender as condições da primeira forma normal e, além disso, dada qualquer chave candidata, qualquer atributo que não faça parte da chave candidata deve depender funcionalmente de todos os campos da chave candidata e não somente de uma parte dela. Exemplo: Na tabela NotasDeVenda, os campos CPFCliente e Data dependem funcionalmente somente do campo NumeroNota e não de toda a chave primária (NumeroNota, CodProduto), que por denição é uma chave candidata. Logo, a alternativa B também pode ser eliminada, uma vez que não atende nem à segunda forma normal. Analisando a denição acima, podemos concluir que as relações da alternativa C satisfazem às condições da segunda forma normal, mas o que mais é necessário para que essas relações estejam na terceira forma normal? Para isso, é necessário conhecer mais algumas denições. A primeira delas é o de atributo não-primo, que, basicamente, é um atributo que não pertence a nenhuma chave candidata da relação. Outro conceito é o de dependência funcional transitiva, quando uma dependência funcional X->Z é determinada indiretamente da forma X->Y e Y->Z. Voltando à denição da terceira forma normal, ela exige que todo atributo não-primo da relação seja diretamente dependente (ou seja, não seja transitivamente dependente) de qualquer chave. Não existe nenhuma relação transitiva dos atributos não-primos nas relações descritas na alternativa C, logo é a resposta correta para a questão. Finalizando, a relação Vendas da alternativa D e as relações Cliente e Nota da alternativa E não satisfazem as condições da segunda forma normal. Portanto, também não estão na terceira forma normal.

47.

Tags:

ITIL, gerenciamento de incidentes,

O administrador de uma rede deseja reiniciar (reboot) um determinado servidor. Segundo a ITIL (v2), onde o administrador pode consultar que serviços serão impactados com essa manutenção? (a). Central de Serviços (b). Catálogo de Serviços

(c). BDGC (Banco de Dados do Gerenciamento da Conguração) (d). BSD (Biblioteca de Software Denitivo) (e). BRPM (Base de Respostas a Problemas de Manutenção)

Solução:

Página 18 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

(A) ERRADA A Central de Serviços, também conhecida em inglês como Service-Desk (nome-original), é uma função dentro da TI que tem como objetivo ser o ponto único de contato entre os usuários/clientes e o departamento de TI. A proposta sugerida é separar dentro das operações de TI quem faz parte do suporte aos usuários de quem vai realizar atividades de resolução de problemas e desenvolvimento. Ter uma área especíca para o suporte traz vantagens para os usuários, propiciando um suporte com maior agilidade e qualidade, e para a equipe de TI mais eciência, pois o técnico especialista acaba não sendo mais interrompido pelas chamadas diretas dos usuários. (B) ERRADA Trata-se de um documento que contém todos os Serviços que estão sendo fornecidos, uma descrição do serviço, níveis de serviço, custo do serviço, cliente e a pessoa/departamento responsável pela manutenção do serviço. O conteúdo do Catálogo de Serviço irá variar de acordos com os requisitos da organização de TI. (C) CORRETA O BDGC fornece informações sobre os IC's (Itens de Conguração, os quais estão conecetados a incidentes) e os relacionamentos de pai/lho entre eles. Isto ajuda determinar a causa, a solução, o roteamento e o possível impacto de um incidente rastreando as falhas anteriores ao mesmo IC relacionado. Por exemplo, se um usuário não puder acessar a Internet, vericando os relacionamentos de pai/lho daquele PC irá descobrir que um Hub utilizado pelo usuário para se conectar a rede (ligação pai com o PC), é um IC potencial que deve ser investigado. (D) ERRADA A Biblioteca de Software Denitiva (BSD), utilizada pelo Gerenciamento de Liberação, fornece um local de armazenamento físico de todos os itens de conguração de software.

Os softwares vêm de diversas formas tais como códigos-fonte, pacotes,

bibliotecas e executáveis.

As diferentes versões do mesmo software são mantidas na

BSD e, através de autorização e controles de qualidade, são usadas para construção e implementação das liberações. (E) ERRADA O assunto ITIL muitas vezes é tido como genérico demais por boa parte dos prossionais de TI. Em alguns momentos, o ITIL trata o gerenciamento de serviços em alto nível e, em certa medida, de forma subjetiva. Isso se traduz, às vezes, em nomes e siglas "bonitas"para coisas muito simples. Temos, por exemplo, a BSD (Biblioteca de Software Denitiva) e o BDGC (Banco de Dados de Gerenciamento de Conguiração). Embora, ao implementar o ITIL, uma organização tenha a liberdade de criar uma espécie de "Base de Respostas a Problemas de Manutenção", essa não é uma das bases mencionadas na literatura ocial do ITIL. Conclusão: para estudar ITIL, é importante conhecer a terminologia ocial, para que não se corra o risco de ser engando por mais uma sigla interessante!

48.

Tags:

segurança de informação, criptograa,

Uma determinada empresa implantou um sistema WEB para relacionamento com seus clientes e fornecedores pela Internet.

O diretor dessa empresa determinou que o nível de

segurança desse sistema fosse alto, e as seguintes medidas foram tomadas:



utilização do protocolo HTTPS em qualquer tipo de acesso;



antes de serem armazenadas no banco de dados, as senhas dos usuários passam por um algoritmo forte de hash;



autenticação do usuário é realizada por login, senha e 2 perguntas aleatórias de uma base de dados composta por dados pessoais do usuário, tais como data de nascimento, nome do pai, número de telefone celular, local de nascimento etc.

Página 19 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

Baseado nessa situação, tem-se que: (a). a autenticação implementada por esse sistema é caracterizada como forte, uma vez que existem 4 fatores questionados ao usuário. (b). um atacante pode obter as senhas originais dos usuários, uma vez que possua os hashes das senhas, o algoritmo e a chave simétrica utilizada no hashing.

(c). para maior segurança, esse sistema pode ser evoluído para permitir, adicionalmente, o uso de certicados digitais ICP-Brasil na autenticação de cliente via HTTPS. (d). embora a autenticidade e integridade das conexões HTTPS sejam garantidas, não existe condencialidade nesse tipo de tráfego. (e). RIJNDAEL e DSA são exemplos de algoritmos de hash que poderiam ser utilizados na geração do hash das senhas.

Solução: (A) ERRADA Autenticação fornece os meios de vericar a identidade de um sujeito para garantir que uma identidade é válida. Ela pode ser baseada em três fatores básicos: 1. O que você sabe (que é o caso das senhas, logins, PINS, frases de segurança, etc.) 2. O que você possui (que é o caso de crachás, smartcards, tokens, chave, etc.) 3. O que você é (mapeamento da retina, voz, impressão digital, etc.) Uma autenticação é considerada forte quando ela se baseia na combinação de pelo menos dois dos fatores mencionado acima. Desta forma, podemos concluir que o processo de autenticação adotado nesta empresa não é caracterizado como forte pois ele é construído a partir de um único fator ("o que você sabe"). (B) ERRADA Uma função hash é uma forma de que tem como entrada texto e como saída uma mensagem cifrada de comprimento xo.

A saída de tamanho xo é um

conjunto de bits que serve como uma única "impressão digital"para a mensagem original. As funções hash são ditas ser de "sentido único", o que signica que é fácil de calcular o hash da mensagem mas que é muito difícil reverter a hash para a mensagem original (no caso, desta questão, para a senha original). As características da função Hash são listadas aqui:



Em uma função hash deve ser impossível, para duas mensagens diferentes, produzir a mesma mensagem crifada. A alteração de um único caracter em uma mensagem irá produzir uma mensagem crifada completamente diferente (em Uma função de hash dita forte, a mudança de um bit na mensagem original resulta em um novo hash totalmente diferente);



Deverá ser impossível produzir uma mensagem que tenha alguma saída desejada ou predenidas;



Deverá ser impossível de recuperar a mensagem o orignal (no nosso caso, a semnha) a partir da mensagem cifrada. Isto, porque uma mensagem cifrada poderia ter sido produzida por um número quase innito de mensagens;

Página 20 de 46

Handbook de Questões de TI Comentadas para Concursos



Volume 01

O algoritmo hash não precisa ser mantido em segredo. Ele é disponibilizado ao público. Sua segurança vem da sua capacidade para produzir hashes;

(C) CORRETA ICP é a sigla no Brasil para PKI - Public Key Infrastructure. Trate-se de um conjunto de técnicas, práticas e procedimentos elaborado para suportar um sistema criptográco com base em certicados digitais, através do qual consegue-se assegurar a identidade de um usuário de mídia eletrônica ou assegurar a autenticidade de um documento suportado ou conservado em mídia eletronica. (D) ERRADA HTTPS (Hypertext Transfer Protocol Secure) é a utilização do protocolo HTTP em conjunto com o protocolo SSL (Secure Socket Layer), o qual foi desenvolvido e especicado para prover uma camada de segurança entre a camada de transporte (TCP) e os protocolos de aplicação de mais alto nível, tais como HTTP, TELNET, FTP, NNTP, SMTP, etc.

Este protocolo (o SSL) provê criptograa de dados (condencialidade),

autenticação de servidor, integridade de mensagem e, opcionalmente, autenticação de cliente para uma conexão TCP/IP, evitando, desta forma, que a informação transmitida entre o cliente e o servidor, tanto na Internet quanto na Intranet, seja visualizada por terceiros, como por exemplo no caso de compras online. (E) ERRADA O RIJNDAEL é um algoritmo simétrico que cifra blocos de tamanho variável, com chaves de tamanho também variável.

A natureza do algoritmo permite

que os tamanhos das chaves e dos blocos sejam múltiplos de 32 bits.

A estrutura do

algoritmo baseia-se em sucessivas rodadas, chamadas também de rounds, nas quais funções especícas são aplicadas sobre o bloco de bits de entrada. O número de rodadas depende do número de bits de entrada, bem como do tamanho da chave utilizada. O DSA (Digital Signature Algorithm) é um algorítimo de chave assimétrica, sobre o qual se baseia o padrão DSS (Digital Signature Standard), denido pelo governo americano. Padrões de assinatura digital exigem a utilização de criptograa assimétrica, para garantir a identidade e o não repúdio por parte do assinante que, por denição, deve ser o único portador da chave privada utilizada no processo de assinatura.

49.

Tags:

banco de dados, transação,

Considere o ambiente de uma aplicação multiusuário que acessa um sistema de gerência de banco de dados relacional. Os usuários acessam a aplicação em simultâneo, submetendo transações concorrentes ao banco de dados. Todas as transações realizadas na base de dados, pela referida aplicação, estão denidas com o nível de isoladamente READ COMMITTED (leitura com efetivação).

O usuário João está executando, através da aplicação, uma transação T1, composta por vários comandos SQL. Neste caso, é correto armar que

(a). o nível de isolamento adotado não irá impedir o aparecimento de linhas fantasmas (phantom) durante a execução de T1. (b). as atualizações de dados realizadas por João dentro de T1 podem ser lidas por outros usuários imediatamente, mesmo antes de João efetivar sua transação. (c). se João abortar a execução de T1 após ter executado, como parte da transação, comandos de atualização de dados, as referidas atualizações não poderão ser desfeitas.

Página 21 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

(d). no ambiente descrito, a execução intercalada de qualquer conjunto de transações será serializável. (e). devido à utilização do nível de isolamento especicado, enquanto João executar T1, nenhum outro usuário poderá executar comandos no banco de dados.

Solução: (A) É a alternativa correta. O nível de isolamento de uma determinada transação dene o tipo de bloqueio em relação às operações de leitura. No caso de um nível de isolamento READ UNCOMMITTED (leitura sem efetivação), a transação poderá ler dados que foram modicados por outras transações e que ainda não foram conrmadas.

Já o

nível de isolamento READ COMMITTED impede que isso ocorra, que são fenômenos conhecidos como dirty reads (leituras sujas). Ainda há dois tipos de anomalias que ainda não são resolvidos por esse nível de isolamento que são leitura não-repetível e leitura fantasma (phantom). Suponha que duas consultas sejam executadas uma após a outra dentro da mesma transação. No nível de isolamento READ COMMITTED nada impede que outra transação efetive suas alterações durante a execução da primeira consulta. O comando SELECT, nesse nível de isolamento, enxerga apenas os dados conrmados antes da consulta ser executada. Nesse caso, os resultados das duas consultas realizadas uma após a outra, mesmo pertencentes à mesma transação, podem ser diferentes. Já o fenômeno de leitura fantasma é semelhante à leitura não-repetível no sentido em que são necessárias duas consultas com os mesmos critérios para que o fenômeno possa ser observado.

Quando o retorno são as mesmas linhas, mas com dados diferentes, o

fenômeno é de leitura não-repetível.

Quando a diferença no resultado indica que as

linhas não são as mesmas, diz-se que ocorreu uma leitura fantasma. O padrão ISO dene mais dois níveis de isolamento que são o de leitura repetível e seriálizável. O fenômeno de leitura fantasma só eliminado na nível serializável, que é o nível mais restrito. (B) Para que o citado ocorra, o nível de isolamento deveria ser READ UNCOMMITTED. A alternativa é falsa. (C) Todo sistema gerenciador de banco de dados deve garantir que uma transação possa ser desfeita para manter a propriedade de atomicidade, que é essencial para a recuperação dos dados em casos de desastre ou na resolução de conitos entre transações. Logo, tal fato é impensável e alternativa C está incorreta. (D) A alternativa está errada, pois o nível de isolamento citado permite a não-serialização em relação às outras transações em favor da melhoria do desempenho do sistema. (E) Errada também, pois várias transações podem ser executadas simultaneamente, mas respeitando os bloqueios que garantem o modo de serialização adotado.

50.

Tags:

sistemas de arquivos, banco de dados,

Os dados de uma agenda contendo nome, telefone e endereço de pessoas estão organizados em um arquivo de dados com acesso somente de leitura. Um dispositivo eletromecânico

Página 22 de 46

D,

Handbook de Questões de TI Comentadas para Concursos

Volume 01

que possibilita acesso direto, contém, aproximadamente, 90 milhões de registros ordenados por nome.

Assumindo que o tamanho do campo endereço é variável e que D pode ter

arquivos (pré-existentes) de índices que se referenciam ao arquivo de dados, e supondo que não possui cache, qual é a estratégia que realizará, em média, menos operações de I/O para consultar todos os registro cujo nome começa por uma determinada letra? (a). Pesquisa binária diretamente sobre o arquivo de dados, uma vez que já existe ordenação por nome. (b). Pesquisa sobre o arquivo de índices indexados pelo nome, implementando um algoritmo de busca em uma árvore B-Tree balanceada.

(c). Pesquisa seqüencial sobre um arquivo de índices indexado pelas letras do alfabeto e posterior leitura seqüencial sobre o arquivo de dados, nos quais cada índice aponta para o endereço do início da respectiva letra na agenda. (d). Pesquisa binária sobre um arquivo de índices indexado pelo nome, para posterior acesso ao arquivo de dados. (e). Leitura seqüencial diretamente sobre o arquivo de dados, sem a utilização de arquivos auxiliares de índice.

Solução: (A) Para que uma pesquisa binária fosse possível diretamente sobre o arquivo de dados, dados que seus registros são de tamanho variável, seria necessário incluir informações que servissem como "ponteiros"em cada registro. O que não é possível já que o arquivo de dados é de somente leitura. Portanto, a alternativa A não é possível. (B) De maneira geral, a abordagem por B-Tree é uma boa opção.

Entretanto, é

necessário observar que para recuperar cada registro será necessária uma consulta à B-Tree e posteriormente ao arquivo de dados. Tal implementação utilizaria um número de operações da ordem (n/26).log(n), onde n é o número total de registros. Analisaremos as outras opções adiante. Note que a opção nem explicitou como seria o acesso ao arquivo de dados. (C) Essa é uma opção bem eciente para o caso, já que será necessário apenas encontrar a letra do alfabeto correspondente (mesmo que de maneira seqüencial) no arquivo de índices e depois percorrer seqüencialmente o arquivo de dados e seria da ordem 13+n/26, ou seja, mais rápido que o caso descrito na alternativa B. (D) O caso e o custo são muito parecidos com aqueles explicitados na alternativa B e não superam o desempenho descrito na alternativa C. (E) Nesse caso, a ordem seria percorrer o arquivo de dados até encontrar o primeiro registro em que o nome comece com a letra especicada e depois percorrer todos os elementos que atendam a condição. O custo seria algo da ordem n/2+n/26. Concluímos, pela análise, que alternativa mais eciente é a alternativa C.

51.

Tags:

organização de computadores, arquitetura, memória,

Página 23 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

O hardware de um sistema microprocessado foi projetado para funcionar com uma memória de 20 bits de endereçamento e palavra de 16 bits. Se neste sistema já estão instalados 1.024 KB de memória, qual a quantidade máxima de memória possível para expansão, em KB?

(a). 1.024 (b). 924 (c). 768 (d). 512 (e). 256

Solução: As memórias são constituídas de células que são identicadas por número, denominado endereço, pelo qual programas podem referenciá-la. Todas as células contêm o mesmo número de bits.

Se uma célula consisti de m bits, ela pode armazenar 2m bits de

informação. Os endereços de memória são expressos por números binários. Se um endereço tiver n bits, o número máximo de células endereçáveis é 2n. Para determinar a quantidade máxima de memória possível para expansão, primeiramente, devemos calcular a capacidade total de memória em bytes que o hardware em questão suporta.

A informação de que 20 bits são necessários para endereçar uma

memória, isso nos informa que o hardware possui 220 células. Uma palavra de 16 bits informa que cada célula de memória armazena até 24 bits de informação. A capacidade total de memória suportada é obtida pela multiplicação entre número de posições e a quantidade de cada posição, ou seja, 220*24, 224 bits. Esse resultado, expresso em KB é 2048 KB. Como no sistema já estão instalados 1024 KB, a quantidade máxima de memória possível é de 1024 KB.

52.

Tags:

organização de computadores, arquitetura, memória virtual,

O uso de memória secundária (de menor velocidade, comparada com a memória principal) como memória virtual acaba ocasionando perda de desempenho. Neste contexto, supondo que um computador da linha PC, monoprocessado, admita expansibilidade de seus componentes, a solução que atualmente oferece melhor relação custo-benefício para atenuar o problema é: (a). adicionar um disco rígido de maior capacidade.

(b). adicionar memória RAM. (c). aumentar o tamanho do arquivo de troca (swap) do sistema operacional. (d). substituir o processador por um mais veloz. (e). trocar o computador todo por um mais moderno, pois não há solução para o problema.

Solução: Assim como as memórias caches permitem acesso rápido a instruções e dados na memória, a técnica de memória virtual permite acesso rápido a dados e programas localizados em unidades de armazenamento secundário (disco rígido).

Página 24 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

Imagine uma coleção de programas executando em um computador ao mesmo tempo. A memória total para a execução desses programas pode ser maior do que a memória física do computador. Entretanto, pode acontecer que apenas uma fração da memória total seja necessária ser usada em qualquer ponto de execução dos programas. A memória principal precisa conter apenas a parte ativa dos programas, em execução. A técnica de memória virtual permite compartilhar de forma eciente o uso da memória principal entre vários programas, realizando a gerência automática entre os dois níveis de hierarquia de memória (memória principal e secundária). Essa gerência é feita realizando a transferência de dados e instruções de partes do programas entre a memória principal e secundária, e vice-versa. De acordo com o exposto, analisaremos cada alternativa: (A) Um disco com maior capacidade não resolveria o nosso problema, pois partes de dados e instruções dos programas precisariam, ainda, ser transferidos da memória secundária para a principal. Essa transferência é lenta, pois demando acesso a memória secundária. (B) Adicionar memória RAM, memória principal, ao computador seria uma solução com o melhor custo-benefício, pois a memória RAM é barata e permitiria que mais programas fossem alocados na memória principal, reduzindo o acesso a memória secundária, que é lento. Portanto, esta é a alternativa correta. (C) Essa solução apresenta um custo-benefício alto, pois para trocar o tamanho do arquivo de troca teríamos que alterar o kernel do sistema operacional. Isso não é nada fácil, e não traria benefícios. (D) A troca de um processador não atenuaria o problema.

Como explicado acima, a

memória virtual é dependente da memória principal, indiferente do processador utilizado. (E) A troca do computador por um mais moderno poderia atenuar a o problema, mas seria uma solução cara. E, existe solução para o problema em questão, conforme mostramos na alternativa B.

53.

Tags:

redes de computadores, modelo OSI, arquitetura de redes,

Que camada no modelo OSI é responsável por converter diferentes representações de números inteiros na comunicação entre dois sistemas distintos?

(a). Apresentação (b). Sessão (c). Transporte (d). Padronização (e). Aplicação

Solução: O modelo OSI (Open Systems Interconection) foi o primeiro passo para padronização internacional dos processos de comunicação de sistemas abertos. Em outras palavras, o modelo OSI foi desenvolvido com a nalidade de padronizar o desenvolvimento de produtos para redes de comunicação de dados. O modelo OSI é conhecido por ser um modelo em camadas, denidas à partir dos seguintes princípios:

Página 25 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01



Uma camada deve ser criada onde houver necessidade de abstração adicional;



Uma camada deve executar tarefas bem denidas;



O limite das camadas deve minimizar o uxo de informações sobre as interfaces.

As 7 camadas do modelo OSI e suas respectivas funções são: 1. Camada Física:

Responsável pela transmissão de bits brutos em um canal de

comunicação, envolvendo codicações, voltagens etc; 2. Camada de Enlace: Responsável por transformar o canal bruto em uma linha que pareça livre de erros para a camada de rede, tratando de erros na transmissão, controle de uxo, além da montagem e fragmentação dos frames de dados; 3. Camada de Rede:

Responsável por determinar como os dados são roteados da

origem ao destino; 4. Camada de Transporte: É a camada que realiza o chamado controle m-a-m, garantindo que os dados chegarão corretamente ao destino. Outras tarefas típicas da camada de transporte são a abertura e encerramento de conexões, além dos controles de uxo e de congestionamento; 5. Camada de Sessão: Realiza o controle de diálogo, gerenciamento de tokens (para controle de acesso a sessão crítica), sincronização (para interrupção e retomada de transmissões longas); 6. Camada de Apresentação:

Preocupa-se com a sintaxe e a semântica das infor-

mações transmitidas, com o objetivo de permitir que entidades com diferentes representações de dados se comuniquem. Para isso, a camada de apresentação se preocupa com aspectos de formatação, codicação e decodicação de dados; e 7. Camada de Aplicação: Oferece, por meio de protocolos de alto nível, os serviços que de fato são de interesse do usuário nal, como transferência de arquivos, envio de mensagens de email etc. É importante frisar que o modelo OSI não é uma arquitetura, visto que não são xados os protocolos das camadas, mas apenas especicado o que eles devem fazer. A arquitetura TCP/IP, mais famosa do mercado, tem o modelo OSI como referência, mesmo que não apresente o mesmo número de camadas. As camadas de sessão e apresentação do modelo OSI não aparecem explicitamente na especicação do TCP/IP, pois suas funções são desempenhadas pela camada de aplicação desta arquitetura. Muitos browsers e servidores HTTP suportam a compactação e descompactação de dados, de forma transparente para o usuário para aumento de desempenho. Essa tarefa é claramente uma atividade da camada de apresentação, muito embora os browsers e os servidores sejam típicos elementos da chamada camada de aplicação.

54.

Tags:

redes de computadores, protocolo TCP,

O algoritmo de slow start do TCP (a). obriga que a fonte retransmita segmentos sem que se espere pelo timeout, no caso de recebimento de três reconhecimentos (ACK) duplicados.

Página 26 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

(b). impede que segmentos cheguem fora de ordem devido a congestionamentos em links de baixa velocidade. (c). utiliza os bits URG e PSH para indicar retransmissões prioritárias, no caso de fontes com baixa velocidade de transmissão.

(d). eleva, gradativamente, a taxa de transmissão de tráfego na rede até que seja atingida uma situação de equilíbrio. (e). limita o tamanho da janela deslizante de recepção a 1 byte, durante o ciclo de vida de uma conexão TCP.

Figura 1: Algoritmo Slow-Start

Solução: O algoritmo Slow Start é uma das estratégias do protocolo TCP para realizar o controle de congestionamento da rede. O funcionamento do algoritmo pode ser explicado em termos do controle da janela de congestionamento, cujo tamanho visa representar a quantidade máxima de dados que pode ser enviada pela rede sem acarretar congestionamento. A implementação típica do Slow Start, é mostrada no gráco 1. No início da transmissão de dados, a janela de congestionamento é congurada para 1 MSS (Maximum Segment Size). Isso signica dizer que o transmissor só pode enviar pela rede, no máximo, 1 MSS de dados, antes da conrmação do recebimento dos mesmos pelo destinatário. Caso o recebimento seja conrmado, o transmissor aumenta o tamanho da janela em 2 vezes, fazendo ela valer 2 MSS. Agora o transmissor pode enviar até 2 MSS de dados não conrmados pela rede. À medida que os dados vão sendo conrmados, o transmissor vai aumentando a janela em duas vezes. Essa etapa do Slow Start é conhecida como Fase de Crescimento Exponencial, e essa dura até que uma seguintes situações ocorra:



Ocorre timeout na conrmação de recebimento dos dados. Nesse caso, o valor da janela de congestionamento é diminuído pela metade, como ilustrado na série 2 do gráco. Essa contenção, conhecida como fase de backo, tem por objetivo evitar que o congestionamento da rede se agrave.



O patamar máximo da fase de crescimento exponencial é alcançado. Nesse caso, o tamanho da janela começa a ser incrementado de forma linear, e não mais exponencial. A Fase de crescimento linear segue então até alcançar o valor máximo do tamanho da janela de congestionamento. Essa situação é ilustrada em ambas as séries do gráco.

Página 27 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

Muitos dos leitores já devem ter notado que ao iniciar um download de arquivo na Internet, as taxas de transferência crescem rapidamente e depois tendem a se estabilizar, ou até mesmo diminuir.

Em boa parte, o slow start é um dos responsáveis por esse

comportamento. É importante frisar que a implementação do algorítimo slow start pode variar entre os diversos sistemas operacionais.

Na verdade, poucos são os sistemas operacionais que

implementam o slow start de forma el às RFCs que denem o TCP. Algumas implementações podem ser, por exemplo, mais agressivas nas fases de crescimento exponencial ou de backo.

55.

Tags:

segurança de informação, criptograa,

A força do algoritmo RSA é baseada na: (a). impossibilidade de se quebrar o algoritmo SHA-1 em tempo computacionalmente viável.

(b). diculdade de implementação de um algoritmo eciente para fatoração de números grandes. (c). diculdade de implementação de um algoritmo eciente para determinar a primalidade de um número. (d). obscuridade do algoritmo de geração do par de chaves assimétricas, que varia de acordo com a implementação. (e). utilização de números complexos, fortemente aleatórios, na geração da chave simétrica.

Solução: O algoritmo RSA é usado para criptograa de chaves públicas (ou criptograas assimétricas) e assinaturas digitais. É o algoritmo de criptograa de chave pública mais largamente utilizado, e o seu nome provém das inciais dos professores criadores (Rivest, Shamir, Adleman). A sua segurança baseia-se no fato de que encontrar dois números primos de grandes dimensões (por exemplo, 100 dígitos) é computacionalmente fácil, no entanto, conseguir fator o produto de tais números é considerado computacionalmente complexo (em outras palavras, o tempo estimado de milhares de anos em um máquina comum) A sua força é geralmente quanticada com o número de bits utilizados para descrever tais números.

Para um número de 100 dígitos são necessários cerca de 350 bits, e as

implementações atuais superam os 512 e mesmo os 1024 bits. No RSA, a geração de chaves é realizada da seguinte forma: 1. Escolha de forma aleatória dois números primos grandes 2. Compute

p

e

q

n = pq

3. Compute a função totiente em n: 4. Escolha um inteiro

e

tal que

ϕ(n) = (p − 1)(q − 1)

1 < e < ϕ(n),

comum diferente de 1.

Página 28 de 46

de forma que

e

e

ϕ(n)

não têm fator

Handbook de Questões de TI Comentadas para Concursos

5. Compute

k

d

de forma a satisfazer a relação a igualdade

Volume 01

de = 1kϕ(n),

para algum

inteiro

n e do público (ou criptografado) do número n e do privado (ou descrip-

Por nal temos que a chave pública consiste do número expoente e, já a chave privada consiste, também, tografado) expoente

d

que deve ser mantido em segredo.

Dentre os possíveis usos do RSA, podemos citar:

56.



IPSEC/IKE: segurança nos dado dados IP;



TLS/SSL: segunrançã no transporte de dados (web).



PGP: segurança de e-mail;



SSH: segurança para conexão de terminal;



SILC: segurança no serviço de conferência.

Tags:

banco de dados, álgebra relacional, funções básicas dos SGBDs,

Sobre bancos de dados relacionais é INCORRETO armar que (a). fornecem outra tabela, como resultado de consulta a uma tabela. (b). possuem um otimizador que é responsável por implementar de forma eciente as consultas relacionais realizadas pelo usuário. (c). armazenam dados organizados logicamente em tabelas e sicamente em arquivos. (d). disponibilizam estruturas para manutenção de integridade dos dados.

(e). permitem a realização de operações de junção e união de conjuntos, mas não de projeção e restrição. Solução: Em bancos de dados relacionais, as tabelas são estruturas lógicas que tem por objetivo simplicar a modelagem e a visualização dos dados, que sicamente são armazenados como arquivos.

O diagrama de tabelas é um nível de abstração de dados também

conhecido como modelo lógico de dados. Independente do formato dos arquivos e dos métodos de acesso utilizados, o usuário nal sempre enxerga os dados como tabelas. Quando uma consulta é submetida ao SGBD relacional, pode ser necessário unir dados de vários arquivos para fornecer o resultado. No entanto, o usuário nal não precisa tomar parte dessa necessidade, pois o resultado da consulta será fornecido como uma tabela, essa montada dinamicamente de acordo com os critérios da operação. A otimização das consultas, assim como a manutenção da integridade dos dados, é papel do SGBD. Como atribuições dos SGBDs, podemos citar também a manutenção da segurança e o controle de concorrência, permitindo que vários usuários ou processos usem o banco de dados simultaneamente sem prejuízo aos dados. Em grande parte dos sistemas, os projetistas não precisam se preocupar com aspectos físicos do armazenamento de dados.

Geralmente, isso se faz necessário quando o

Página 29 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

otimizador de consultas do SGBD por si só não é suciente para responder aos requisitos de desempenho do sistema. Com base nos argumentos apresentados, podemos dizer que as alternativas A, B, C e D apresentam informações corretas sobre os SGBDs relacionais. Portanto, por eliminação chegamos a alternativa E. A resposta também pode ser alcançada de forma direta, sendo necessário para isso o conhecimento das operações básicas da Álgebra Relacional, base conceitual dos bancos da linguagem de SQL. As operações de junção nada mais são que as realizadas pelo operador JOIN, da linguagem SQL, enquanto as operações de união são realizadas pelo operador UNION. As restrições são denidas pela cláusula WHERE. Já as projeções referem-se seleção de um subconjunto N de colunas, onde N é menor que o número total de colunas da relação. Ou seja, se tabela ALUNOS possui 5 colunas, o comando SELECT NOME,IDADE FROM ALUNOS é uma projeção, pois só foram selecionadas duas das 5 colunas na consulta.

57.

Tags:

virtualização de computadores, máquinas virtuais,

No âmbito de monitores de máquinas virtuais, que propriedade garante que um software em execução em uma máquina virtual não acesse, nem modique, outro software em execução em outra máquina virtual? (a). Recompilação dinâmica (b). Paravirtualização de código (c). Virtualização de CPU (d). Interposição

(e). Isolamento Solução: Em computação, virtualização é um termo amplo que se refere à abstração dos recursos computacionais. Ainda dentro de uma visão conceitual, virtualizar é colocar uma camada de abstração entre o recurso e o usuário do recurso, desacoplando os limites da natureza física e os recursos dos usuários, permitindo o compartilhamento simultâneo. No âmbito de virtualização de computadores, virtualizar signica permitir que vários sistemas operacionais executem sobre um único computador físico simultaneamente. Cada sistema operacional em execução executa em uma máquina virtual própria. O monitor de máquina virtual é o responsável por arbitrar o acesso aos recursos (disco, processador, memória etc) da máquina hospedeira, de modo que esses possam ser compartilhados pelos sistemas clientes de forma eciente e segura. Nesse contexto, segurança signica garantir a correta execução das aplicações que estão rodando nas diversas máquinas virtuais. Para isso, é necessário que os monitores implementem mecanismos de controle para a utilização simultânea dos recursos físicos pelas diversas máquinas virtuais, como a proteção dos espaços de endereçamento, da alocação de espaço em disco, e do processamento das aplicações. A implementação desses mecanismos de controle é o que confere às máquinas virtuais a propriedade de Isolamento.

Isolar signica tornar o funcionamento das diversas

Página 30 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

máquinas virtuais independentes entre si, apesar do fato de elas compartilharem os mesmos recursos físicos.

58.

Tags:

Governança de TI, ITIL,

O processo ITIL (v2) responsável pela implementação das mudanças no ambiente de infraestrutura de TI é o Gerenciamento de (a). Mudança. (b). Implantação. (c). Redes

(d). Liberação (e). Conguração

Solução: O ITIL (Information Technology Infrastructure Library) é uma biblioteca de melhores práticas para gerenciamento de serviços de TI. Embora a questão fale do ITIL v2, os conceitos dos processos na versões 1, 2 e 3 são os mesmos. As mudanças da versão inicial até a versão mais atual apenas conduziram o ITIL de um foco mais operacional para um foco mais de processos, onde o gerenciamento do ciclo de vida dos serviços de TI é o centro das atenções. Portanto, o fato da questão falar na versão 2, isso não é relevante para resolvê-la. A questão tenta conduzir os que não conhecem os nomes dos processos ao erro. Primeiramente, os processos "Gerenciamento de Implantação"e de "Gerenciamento de Redes"não existem. Isso já elimina as alternativas B e C. Já o Gerenciamento de Conguração é o responsável por prover informações conáveis sobre as congurações e documentações relativas à infraestrutura de TI, de forma suportar os demais processos de gerenciamento de serviços. É o processo de gerenciamento de conguração o responsável pela construção e manutenção do BDGC (Banco de Dados de Gerenciamento de Conguração), considerado o coração do modelo de gerenciamento de serviços do ITIL. Lá está armazenado o estado atual da infraestrutura, com informações sobre os servidores, aplicações, responsáveis e também o inter-relacionamento entre todos os elementos do ambiente. Por sua vez, o Gerenciamento de Mudanças é o processo que garante a aplicação de procedimentos padronizados a m de lidar de forma eciente com todas as mudanças no ambiente operacional, minimizando os impactos na qualidade dos serviços e prevenindo a ocorrência de incidentes em decorrência das mudanças.

Em resumo, é o processo

responsável pelo planejamento das mudanças. Comumente, os iniciantes em ITIL tendem a achar que o Gerenciamento de Mudanças realiza todas as atividades relativas às mudanças, inclusive a implementação. No entanto, os trabalhos do Gerenciamento de Mudanças limitam-se ao planejamento e a validação das mudanças, que por sua vez são implementadas pelo processo de Gerenciamento de Liberação. Portanto, a resposta da questão é a letra D.

59.

Tags:

segurança de informação, segurança de redes, DDoS, TCP SYN Flood,

Página 31 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

Uma empresa possui um link com a Internet de 10 Mbps (full-duplex), por meio de um determinado provedor.

O site dessa empresa está hospedado em um servidor WEB na

seguinte topologia: Uma empresa possui um link com a Internet de 10 Mbps (full-duplex), por meio de um determinado provedor.

O site dessa empresa está hospedado em um servidor WEB na

seguinte topologia: Um ataque distribuído de negação de serviço (DDoS) externo está sendo disparado para essa empresa, tendo como alvo o servidor WEB. O link Internet apresenta, do ponto de vista da empresa, utilização máxima no tráfego de entrada e baixa utilização no tráfego de saída. Além disso, o servidor HTTP está sobrecarregado processando, em sua maioria, solicitações de conexão (SYN) oriundas de endereços pertencentes a uma determinada sub-rede com prexo /26. De acordo com a situação exposta, é correto armar que o(a) (a). desempenho no acesso de usuários externos ao site não está comprometido, já que o tráfego de saída está livre. (b). bloqueio de inundação UDP (UDP Flood) pode ser ativado no rewall para impedir a sobrecarga de conexões do servidor WEB. (c). roteador de borda deve ser congurado para bloquear todos os endereços que solicitam mais de uma conexão (SYN) por vez.

(d). redução do impacto desse ataque pode ser obtida junto ao provedor, com a conguração de bloqueios especícos de tráfego. (e). instalação de um IDS entre o roteador e o rewall para prevenção de ataques de buer overow impediria o DDoS.

Figura 2: Topologia da Rede

Solução: A alternativa A está incorreta pois, embora o link de saída não esteja sobrecarregado, o servidor está sobrecarregado devido ao grande número de solicitações de conexão que está tendo que responder. Desse modo, o tempo de processamento das requisições oriundas de conexões legítimas será comprometido. Já a grande quantidade de solicitações de conexão indica que o ataque é um SYN Flood e, portanto, explora uma vulnerabilidade da implementação do protocolo TCP no servidor atacado. Logo, a alternativa B, que fala de UDP Flood, pode ser eliminada. A alternativa C não é aplicável, pois a abertura de várias conexões simultâneas entre dois computadores é legítima e muito comum, principalmente em aplicações WEB. Tipicamente, os browsers abrem várias conexões TCP com o servidor HTTP em paralelo, para

Página 32 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

que a página e seus respectivos objetos (guras, vídeos, etc) possam ser "baixados"mais rapidamente. Como o ataque se trata de um TCP SYN Flood, e não de um buer overow, pode-se eliminar também a alternativa E, embora a instalação de um IDS (Intrusion Detection System) poderia ajudar na identicação mais rápida da anomalia no tráfego da rede. Eliminadas as alternativas A,B,C e E, chegamos a alternativa D como resposta. Como o link de entrada de Internet esta sobrecarregado e o link de saída apresenta baixa utilização, pode-se se concluir que o ataque está partindo da Internet para dentro da rede. No entanto, ao analisar o tráfego percebeu-se que a faixa de endereçamento dos pacotes que compõe o tráfego malicioso é da subrede interna de prexo /26. A partir desses dados, pode-se concluir também que o atacante utilizou alguma técnica de spoong com o objetivo de confundir ainda mais os administradores da rede e, possivelmente, comprometer outras máquinas da subrede /26. Anal, se uma máquina está dentro da rede, é impossível que os pacotes por ela enviados cheguem de fora da rede.

Tal situação conota um ataque de spoong e, por isso, os

provedores utilizam uma convenção básica de bloqueios nas bordas das redes, de modo que os pacotes entrantes não tenham endereços de origem da própria rede interna.

60.

Tags:

banco de dados, consulta SQL,

As relações abaixo compõem uma base de dados em que atributos sublinhados são identicadores e atributos em itálico são chaves estrangeiras. Autor (CPFAutor, Nome, DataNascimento) Obra (TituloObra, DataConclusao, CPFAutor, CodigoAssunto) Editora (CNPJEditora, Nome, Local) Publicacao (TituloObra, CNPJEditora, DataLancamento ) Assunto (CodigoAssunto, Descricao)

Que comando SQL apresenta como resultado a quantidade de publicações do assunto `Policial' por editora? (a). Select P.CNPJEditora, count(P.TituloObra) from Publicacao P inner join Obra O on P.TituloObra = Obra.TituloObra inner join Assunto A on O.CodigoAssunto = A.CodigoAssunto where A.Descricao = `Policial'

(b). Select P.CNPJEditora, count(P.TituloObra) from Publicacao P, Obra O, Assunto A where P.TituloObra = O.TituloObra and O.CodigoAssunto = A.CodigoAssunto and A.Descricao = `Policial' group by P.CNPJEditora (c). Select P.CNPJEditora, count(P.TituloObra) from Publicacao P, Obra O, Assunto A, Editora E group by P.CNPJEditora having A.Descricao = `Policial' (d). Select P.CNPJEditora, sum(P.TituloObra) from Publicacao P inner join Obra O

Página 33 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

on P.TituloObra = Obra.TituloObra inner join Assunto A on O.CodigoAssunto = A.CodigoAssunto where A.Descricao = `Policial' group by P.CNPJEditora (e). Select P.CNPJEditora, count(P.TituloObra) from Publicacao P left outer join Obra O on P.TituloObra = Obra.TituloObra left outer join Assunto A on O.CodigoAssunto = A.CodigoAssunto group by P.CNPJEditora

Solução: Para encontrarmos o resultado da quantidade de publicações do assunto "Policial"por editora, devemos ter em mente que precisamos utilizar a função de agrupamento groupby para agrupar as editoras com mesmo CNPJ, e a função agregada count para contabilizar o número de registros de um determinado CNPJ. (A) inner join é uma operação de composição de relações condicional e é usada na cláusula from. Sua sintaxe é relacao1 inner join relacao2 on condição. O select em questão explora as relações de chave estrangeira entre os relacionamentos, e a execução dos dois inner join produzem um relacionamento que é possível extrair os CNPJs cujo Descricao de Assunto é "Policial". O problema deste select é que não agrupa os registros para contabilizar a quantidade de um determinado CNPJ. Portanto, alternativa errada. (B) os predicados da cláusula where do select em questão produz a mesma relação obtida na alternativa (A) pelos inner joinr. Com uma diferença, ao obter os registros que contém a Descricao de Assunto igual a "Policial", agrupa-se as editoras de mesmo CNPJ para contabilizar a quantidade de editoras para cada CNPJ por meio da função count no select. Portanto, alternativa correta. Vale destacar que na cláusula where as operações de = exploram os relacionamentos entre as relações existentes.

Então, quando selecionamos os registros com Descricao

igual a "Policial", as operações de = garantem que estamos selecionando registros com mesmo TituloObra e CodigoAssunto. (C) o candidato desatento tende a marcar esta alternativa, pois se esquece dos relacionamentos existentes entre as relações. A forma como o select foi elaborado, agruparia atributos CNPJEditora da relação Publicacao diferentes do atributo CNPJEditora da relação Editora. O mesmo é válido para os atributos de TituloObra de Obra e Publicacao. Portanto, alternativa errada. (D) o select desta alternativa utiliza a função sum para contabilizar a quantidade de um determinado CNPJ. Primeiramente, a função correta para essa nalidade é a count, e segundo, a função sum aceita como entrada um conjunto de números. Neste select essa função recebe o parâmetro P.TituloObra, que não é um número. Portanto, alternativa errada. (E) oselect desta alternativa não consta na cláusula where que se deve procurar no atributo Descrição da relação Assunto a palavra "Policial". Portanto, alternativa errada.

61.

Tags:

padrões W3C, web services,

Página 34 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

A empresa de informática X pretende acessar o web service da empresa Y. Qual o padrão W3C que possibilitará ao desenvolvedor de software da empresa X implementar a parte cliente que acessará o web service da empresa Y?

(a). WSDL (b). HTML (c). XQuery (d). XPath (e). UDDI

Solução: Web Service é um componente de software identicado por uma URI (Uniform Resource Identier) que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado por meio de mensagens no padrão XML. Com web services, é possível realizar a integração entre sistemas desenvolvidos de diferentes linguagens e plataformas, além de disponibilizar serviços interativos na Web. É uma tecnologia de padrão aberto e padronizada pelo W3C. A arquitetura do Web Service é constituída por três componentes básicos: o servidor de registro (broker server ou service registry), o provedor de serviços (service provider) e o solicitante de serviços (service requestor). As interações entre esses componentes são de busca, publicação e integração. A interação entre os Web Services se dá sob vários protocolos abertos, em diferentes níveis de abstração. Os protocolos utilizados para realizar a comunicação são o: UDDI (Universal Description Discovery and Integration), WSDL (Web Services Description Language), XML (Extensible Markup Language), SOAP (Simple Object Access Protocol) e o HTTP. O XML é uma linguagem de marcação apropriada para representação de dados, documentos e demais entidades cuja essência fundamenta-se na capacidade de agregar informações. O SOAP é um protocolo de comunicação simples baseado em XML para troca de informações entre aplicações.

A especicação do SOAP provê maneiras para construir

mensagens que possam trafegar por meio de diversos protocolos de forma independente da linguagem de programação e do sistema operacional.

Normalmente, o protocolo

utilizado para troca de informações é o HTTP. Analisando as alternativas: (A) O WSDL é uma linguagem baseada em XML, utilizada para descrever um web service e como acessá-lo. A descrição de um serviço consiste de duas partes: denição de implementação do serviço e denição da interface do serviço. A primeira descreve como uma interface de serviço é implementada por um provedor: onde o serviço está instalado e como pode ser acessado.

E a segunda descreve o web service, incluindo

métodos que são invocados e parâmetros que são enviados. (B) O HTML (Hyper Text Markup Language) é uma linguagem de marcação de tags utilizada para produzir páginas na Web. (C) O XQuery (XML Query) é uma linguagem utilizada para executar consultas em dados XML.

Página 35 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

(D) O XPath (XML Path) é uma linguagem para encontrar informações em um documento XML. O XPath é utilizado para navegar através de atributos e elementos em um documento XML. É o principal elemento no padrão XSLT. (E) Para que um serviço seja utilizado é necessário que o cliente consiga localizá-lo, e essa localização pode ser feita por meio do UDDI, que é uma especicação técnica para descrever, descobrir e publicar web services. Portanto, a resposta da questão é a alternativa A.

62.

Tags:

sistemas operacionais, sistemas de arquivos, fragmentação,

Sobre a fragmentação de dados em um disco rígido, tem-se que (a). é desejável porque aumenta o desempenho de leitura dos arquivos, embora o diminua nos acessos de gravação. (b). não há relação com a quantidade de movimentações dos cabeçotes de leitura e gravação no acesso de um arquivo. (c). o nível de fragmentação dos sistemas de arquivos EXT3 e NTFS é zero, ou seja, não existem arquivos fragmentados. (d). discos menos fragmentados têm vida útil mais reduzida em comparação com discos mais fragmentados.

(e). comparando discos utilizados com o mesmo padrão de interleaving sobre os setores, o impacto negativo da fragmentação é atenuado pelo disco de maior densidade de dados e maior velocidade de rotação. Solução: Diz-se que um arquivo está fragmentado quando o espaço por ele alocado no disco rígido não é contíguo.

Ou seja, os dados que compõe o arquivo não estão unidos, mas sim

espalhados pelo disco. Isso signica dizer que para acessar um arquivo fragmentado será necessário um maior deslocamento do cabeçote de leitura do disco rígido. Por consequência, a fragmentação causa queda de desempenho do sistema, tanto para operações de leitura quanto para escrita.

Lembrando que o tempo de acesso a um

determinado dado em disco é dado pela fórmula:

Ta cesso = Ts eek + Tl atencia + Tt ranf erencia Em discos com altos níveis de fragmentação, o tempo de seek, que é o necessário para deslocar o cabeçote de leitura até o cilindro correto, tende a ser mais alto, já que os diversos setores do disco que compõe o arquivo estão espalhados. Na prática, a fragmentação ocorre quando nenhum dos espaços contíguos disponíveis no disco é suciente para comportar um arquivo, e isso independe do sistema de arquivos, seja ele FAT, NTFS, EXT3 etc.

É claro que alguns sistemas de arquivos são mais

ecientes na prevenção de altos índices de fragmentação. Notoriamente, os sistemas de arquivos do Linux, por meio de técnicas heurísticas de alocação de espaço, apresentam índices de fragmentação quase nulos. Porém, ela ainda se manifesta quando o disco está com alta utilização e existam arquivos grandes no sistema. O padrão de interleaving, do qual fala a alternativa E, está relacionado com a organização dos setores no disco. Discos com mesmo fator de interleaving e mesma velocidade de

Página 36 de 46

Handbook de Questões de TI Comentadas para Concursos

rotação, podem ser ditos equiparáveis em tempo médio de seek.

Volume 01

A alternativa E é a

correta pois quanto maior a velocidade de rotação, menor será o tempo de seek e, por consequência, menor o tempo de acesso.

63.

Tags:

redes de computadores, redes locais, IEEE 802, Ethernet,

Dois switches devem ser interligados, por meio de uma única interface, a uma velocidade mínima de 4 Gbps. Para isso, é necessário que os switches possuam uma interface compatível com o padrão IEEE (a). 802.1x (b). 802.3z (c). 802.3u

(d). 802.3ae (e). 802.6

Solução: IEEE 802 refere-se a um conjunto de padrões denidos pelo IEEE que tratam de redes locais (LANs) e redes metropolitanas (MANs). Os protocolos e serviços denidos pela família de padrões 802 está relacionada com as duas camadas mais baixas do modelo de referência OSI, à saber, a camada física e a camada de enlace. A família 802 apresenta uma subdivisão em grupos, cada um deles preocupado com um aspecto diferente. Alguns exemplos de grupos da família 802 são mostrados a seguir:



IEEE 802.1 Bridging and Network Management



IEEE 802.3 Ethernet



IEEE 802.6 Metropolitan Area Networks



IEEE 802.11 Wireless LAN & Mesh

Como podemos ver, o grupo 802.1 trata da parte de bridging e gerenciamento. Exemplos de tecnologias que usam os protocolos do grupo 802.1 são VLANs (802.1q), 802.1d (Spanning Tree) e também o controle de acesso a rede (802.1x), mencionado na alternativa A da questão. Já o grupo 802.6 trata dos padrões para redes metropolitanas. Portanto, as alternativas A e E podem ser eliminadas, visto que não tratam especicamente de velocidades de transmissão. O grupo 802.3 certamente é o mais notório da família 802, sendo conhecido também como Ethernet.

Na verdade, os termos Ethernet, Fast Ethernet, Gigabit Ethernet e

10 Gigabit Ethernet são muito mais utilizados do que seus respectivos nomes no grupo 802.3. A tabela a seguir relaciona o nome de cada um dos subgrupos do Ethernet com seu código na família 802. Entre as alternativas, o único padrão que pode proporcionar a interligação dos switches a uma velocidade mínima de 4 Gbits/s é o 802.3ae (10 Gibagit Ethernet). Portanto, a resposta da questão é a alternativa D.

Página 37 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

Vale ressaltar que além desses subgrupos do 802.3, existem inúmero outros, sendo que alguns deles tratam de aspectos diferentes de velocidade de transmissão e meios de transmissão. Um exemplo típico é o 802.3af (Power Over Ethernet), que permite transmitir energia em conjunto com os dados, sendo especialmente útil para elementos de rede como access points e pequenos switches.

Tabela 1:

Padrões IEEE 802.3

Padrão IEEE

Nome Popular

Características

802.3

Ethernet

Transmissão a 10 Mbits/s sobre cabo coaxial

802.3u

Fast Ethernet

Transmissão a 100 Mbits/s sobre cabo coaxial ou bra ótica

802.3z

Gigabit Ethernet

Transmissão a 1 Gbits/s sobre bra ótica

802.3ab

Gigabit Ethernet

Transmissão a 1 Gbits/s sobre cabo de par trançado

802.3ae

10 Gigabit Ethernet

Transmissão a 10 Gbits/s sobre sobre bra ótica

64.

Tags:

redes de computadores, qualidade de serviço,

No âmbito de Qualidade de Serviço (QoS) em redes de computadores, as aplicações de e-mail, transferência de arquivos e login remoto requerem, respectivamente, os níveis de conabilidade: (a). baixo, médio, alto. (b). baixo, alto, alto. (c). baixo, alto, médio. (d). médio, baixo, baixo.

(e). alto, alto, alto. Solução: No contexto de redes de computadores, um uxo é o envio de uma sequência de pacotes de uma origem até um determinado destino. A Qualidade de Serviço (QoS) pode ser denida em termos do conjunto de requisitos de um determinado uxo de pacotes. Os requisitos de QoS mais comuns são os seguintes:



Conabilidade: Garantia da entrega e integridade dos pacotes transmitidos;



Flutuação ou Jitter: É a variação do atraso entre os pacotes;



Largura de Banda: Taxa com a qual os dados são transmitidos;



Retardo: Atraso total na transmissão de um pacote.

No que diz respeito a conabilidade, o serviço de correio eletrônico tem alto requisito de conabilidade, já que o corrompimento de dados pode invalidar por completo a mensagem de correio. O mesmo é válido para a transmissão de arquivos e o login remoto. Portanto, a resposta da questão é a letra E. A título de exemplo, imagine como se comportaria uma aplicação de vídeo sob demanda diante da perda ou corrompimento de alguns pacotes. Essa situação é comum, e nem

Página 38 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

por isso invalida a transmissão como um todo. O impacto da perda de alguns pacotes para o usuário nal é uma imagem com algumas falhas, porém aceitável. Anal, de nada adiantaria retransmitir os pacotes perdidos de uma cena A e eles chegarem quando a cena B já estiver em exibição. Por esse motivo, nas redes TCP/IP muitas vezes o protocolo UDP é escolhido para suportar aplicações de vídeo. Obviamente, existem aplicações com altos requisitos de qualidade de imagem. Nesses casos, pode-se optar por uma estratégia de retransmissões de pacotes.

No entanto,

o destino deverá se encarregar também de tarefas como ordenação e buerização de pacotes.

65.

Tags:

segurança de informação,

NÃO é uma boa prática de uma política de segurança: (a). difundir o cuidado com a segurança. (b). denir responsabilidades claras de usuários e administradores. (c). ser de fácil leitura e compreensão.

(d). incluir os detalhes técnicos de implementação dos mecanismos de segurança. (e). explicitar conseqüências das violações da própria política.

Solução: (A) ERRADA Uma vez que a política de segurança tenha sido estabelecida, ela deve ser claramente comunicada aos usuários, funcionários e gestão. Tendo todo o pessoal que assinar uma declaração indicando que leu, entendeu e concordou com a política. (B) ERRADA As políticas de segurança devem ter implementação realista, e denir claramente as áreas de responsabilidade dos usuários, do pessoal de gestão de sistemas e redes e da administração. (C) ERRADA Deve ser também um documento de fácil leitura e compreensão, além de resumido.

Ela deve ser tão explícita quanto possível para evitar ambiguidades ou

equívocos. (D) CORRETA O documento que dene a política de segurança deve deixar de fora todos os aspectos técnicos de implementação dos mecanismos de segurança, pois essa implementação pode variar ao longo do tempo, em outras palavras, uma política de segurança deve ser (principalmente) independente de hardware e software. (E) ERRADA Em uma boa implementação de política de segurança, existirá O Relatório de Violação de Política que indica quais tipos de violação (por exemplo, a privacidade e segurança, interna e externa) devem ser denunciados e para os quais os relatórios são feitos. Faz parte de boa prática, também, a existência de uma atmosfera não-ameaçadora e a possibilidade de uma reportagem anônima, pois isto torna provável que uma violação será noticada, se for detectada.

66.

Tags:

segurança de informação, redes de computadores,

Há dois meses foi anunciada uma vulnerabilidade, que permite exploração remota com direitos administrativos, em um determinado produto que implementa o serviço de DNS. O

Página 39 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

servidor primário DNS de uma empresa que vende produtos pela Internet utiliza esse produto.

Os administradores, por descuido, não instalaram a atualização lançada na época

para corrigir essa vulnerabilidade e perceberam, hoje, a situação de risco. Após vericação detalhada dos mapas DNS, os administradores concluíram que estão corretos e guardaram uma cópia. Além disso, vericaram a existência de um processo nesse servidor escutando na porta 31337 (TCP). Sobre a situação exposta, observe as armativas abaixo. I O bloqueio no rewall externo do acesso à porta 31337 desse servidor impede que usuários maliciosos efetuem controle remoto nesse servidor. II A instalação de correções de segurança é um procedimento importante em servidores que atuam na Internet. III É recomendável que um novo servidor de DNS seja instalado e os mapas DNS restaurados a partir da cópia salva pelos administradores. Está(ão) correta(s) SOMENTE a(s) armativa(s) (a). II (b). III (c). I e II (d). I e III

(e). II e III Solução: Na armativa I, o bloqueio à porta 31337 apenas impedirá que os atacantes externos explorem a vulnerabilidade em questão. No entanto, essa medida pode não ser suciente para impedir ataques por parte de usuários maliciosos internos. A existência de um processo de instalação de correções de segurança, mencionada no item II, é fundamental para manutenção da segurança de servidores. No caso de servidores que atuam na Internet, isso é ainda mais válido, já que esses estão mais expostos a ataques. Quanto às atualizações de segurança, o documento "Práticas de Segurança para Administradores de Redes Internet", elaborado pelo CERT BR (Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança do Brasil), faz ainda as seguintes observações:

"A maioria dos fornecedores de software libera correções para problemas de segurança que sejam descobertos em um sistema, sem que se tenha de esperar pela sua próxima versão ... Nem sempre todas as correções disponíveis precisam ser instaladas. Restrinja-se àquelas que corrigem problemas em componentes que estejam efetivamente instalados no seu sistema. Em caso de dúvida, recorra ao suporte técnico do seu fornecedor. A instalação indiscriminada de atualizações pode enfraquecer a segurança do sistema ao invés de fortalecê-la." A medida III, por sua vez, é a mais efetiva para garantir que o servidor de DNS esteja livre da vulnerabilidade em questão. A presença de um processo desconhecido no servidor de DNS aponta para a possibilidade do servidor estar com a segurança comprometida.

Ou seja, assim como foi detectada a presença de um processo malicioso,

congurações de segurança podem ter sido alteradas. Como o serviço de DNS crítico, é recomendável que um novo servidor seja preparado "do zero", assegurando que todas as congurações de segurança estejam aplicadas.

Página 40 de 46

Handbook de Questões de TI Comentadas para Concursos

67.

Tags:

Volume 01

banco de dados, concorrência,

Em ambiente de Sistema Gerenciador de Banco de Dados (SGBD) multi-usuários, bloqueios e controles por timestamp (registro de tempo) são mecanismos utilizados para a manutenção da integridade das transações. Sobre tais mecanismos e sua utilização em SGBD relacionais, tem-se que (a). a utilização de intenções de bloqueio visa aumentar a capacidade de concorrência do sistema, no qual são permitidos somente bloqueios e intenções de bloqueio em linhas individuais.

(b). a utilização de bloqueios pode ocorrer tanto em linhas de dados quanto em estruturas de maior granularidade, como tabelas, podendo, também, ocorrer em estrutura de índices. (c). o protocolo de bloqueio em duas fases foi desenvolvido para utilização em banco de dados distribuídos, e nele um nó coordenador realiza uma eleição para que cada nó participante indique se pode ou não concluir uma transação. (d). o protocolo de ordenação por timestamp (registro de tempo) é baseado no momento em que um bloqueio foi obtido por uma transação, indicando que esse bloqueio somente pode ser mantido por determinado período de tempo. (e). o protocolo de ordenação por timestamp (registro de tempo) garante que não ocorrerão deadlocks, pois esse protocolo impede que transações mantenham o bloqueio de um objeto por tempo indenido.

Solução: Bloqueios permitem que apenas uma única transação manipule (altere) um item de dados em um dado momento. Também é possível o bloqueio multigranular, que permite a uma transação bloquear diferentes tipos de recursos como tabelas e estruturas de índices e, geralmente, esse bloqueio se dá de forma hieráquica onde o bloqueio explícito de um determinado objeto implica no bloqueio implícito dos seus sub-objetos. Concluímos que a alternativa B é a alternativa correta e excluímos a alternativa A. O protocolo de bloqueio de duas fases pode ser utilizado em qualquer SGBD e não foi especicamente desenvolvido para uso em bancos de dados distribuídos e, sim, para garantir a serialização de transações. Logo, a alternativa C está errada. O protocolo de ordenação por timestamp atribui um timestamp para cada transação antes que ela inicie e serve para garantir que quaisquer execuções de leitura e escrita sejam executadas por ordem de timestamp. No protocolo de ordenação por timestamp, não é possível que ocorram deadlocks, pois não é um método baseado em bloqueios de recursos. Entretanto, uma transação pode ser cancelada várias vezes. A alternativas D e E estão erradas, pois não há bloqueios no processo de ordenação por timestamp. O que existe são métodos que se baseiam em timeout para a manutenção do bloqueio por um tempo denido e são especicamente para manuseio de deadlocks e não um protocolo que garanta a serialização como o protocolo de timestamp.

68.

Tags:

banco de dados, bancos de dados distribuídos,

A fragmentação de dados utilizada em um banco de dados distribuído tem como objetivo dividir as informações de uma determinada relação R. Sobre essa fragmentação de dados, tem-se que

Página 41 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

(a). os dados estão sempre replicados pelos diversos nós existentes, no caso das fragmentações horizontal e vertical. (b). não é possível reconstruir a relação original R por meio dos diversos fragmentos existentes.

(c). na fragmentação vertical, ocorre a decomposição de atributos de R em um ou mais fragmentos. (d). na fragmentação vertical, ocorre a decomposição de R em subconjuntos de dados selecionados a partir de um critério comum de ltragem relativo a um atributo de R. (e). a reconstrução dos dados de uma fragmentação horizontal é possível através da interseção dos subconjuntos de dados fragmentados.

Figura 3: Fragmentação de Dados

Solução: Como mencionado no enunciado da questão, a fragmentação de dados é uma técnica utilizada em bancos de dados distribuídos, e tem como objetivo dividir as informações de uma determinada relação R por vários servidores (chamados nós) do banco de dados. A fragmentação permite o processamento paralelo proporcionando ganhos de desempenho, especialmente, nas operações de consulta. Os dois métodos de fragmentação mais comuns são a fragmentação horizontal e a fragmentação vertical, ilustrados na gura 3. As características da fragmentação horizontal são as seguintes:



Cada fragmento contém um subconjunto das tuplas da relação completa;



Cada tupla de uma relação precisa ser armazenada em pelo menos um servidor;



A relação completa pode ser obtida fazendo a união dos fragmentos;



Não há necessidade de replicação de dados entre os nós.

Já na fragmentação vertical:



Relações são decompostas em conjuntos de atributos mantidos em servidores diferentes;



Cada fragmento é uma projeção da relação completa;



A relação completa pode ser obtida fazendo a junção de todos os fragmentos;



Há necesidade de replicação da chave primária entre os nós, para que seja possível a operação de junção.

Página 42 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

Como podemos ver, para obter-se a relação completa é necessário realizar operações de união (no caso da fragmentação horizontal), ou de junção (no caso da fragmentação vertical). Tais operações são de responsabilidade do SGBD, de modo permitir aos usuários utilizar o banco de dados de forma transparente, como se estivessem utilizando um SGBD não distribuído.

69.

Tags:

técnicas de programação, estruturas de dados,

Seja P uma pilha que, inicialmente vazia, sofre, sequencialmente, as seguintes operações: PUSH(P,3) PUSH(P,5) POP(P) PUSH(P,7) PUSH(P,9) PUSH(P,6) PUSH(P,2) POP(P) POP(P) PUSH(P,8) PUSH(P,1) POP(P) POP(P) POP(P)

Qual a soma dos valores dos elementos restantes de P?

(a). 10 (b). 9 (c). 16 (d). 19 (e). 35

Solução: A pilha é um estrutura de dados que implementa uma la do tipo LIFO (Last In, First Out). As duas operações básicas para manipulação de pilhas são PUSH e POP. O PUSH é utilizado para adicionar um novo dado ao topo da pilha, enquanto o POP é utilizado para remover o último elemento inserido. A gura 4 mostra os estados da pilha P após serem aplicadas cada uma das operações da sequência. Portanto, após a sequência de operações, a soma dos elementos restantes é 7 + 3 = 10. As pilhas são largamente utilizadas em vários níveis dos sistemas computacionais modernos, sendo tipicamente úteis para manipulação de interrupções, tanto de hardware quanto de software.

Nesses casos, nas pilhas são armazenados os endereços das in-

struções a serem executadas pelo computador. São estruturas de dados do tipo pilha que permitem que o uxo de execução dos programas seja desviado por meio da chamada de funções. Os leitores que tiverem alguma

Página 43 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

experiência com programação recursiva, em especial e C, já devem ter se deparado com o erro Control Stack Overow. Isso acontece quando, por um erro de denição da condição de parada da recursão, novas chamadas da função recursiva vão sendo feitas até que o espaço alocado para a pilha de execução se esgote, abortando a execução do programa.

Figura 4: Sequência de estados da pilha

70.

Tags:

operação de infra-estrutura, backup,

Um determinado servidor de arquivos S realiza

backup:



completo (full) no 1o dia de cada mês;



diferencial nos dias 8, 15 e 22 de cada mês;



incremental no restante dos dias.

Existe uma mídia para cada backup, que ocorre diariamente às 19h e dura, no máximo, 4 horas. Em determinado mês, no dia 19, às 15h, houve uma pane em S, ocasionando a perda total de seus arquivos. Para restaurar a posição mais recente dos arquivos de S, o conjunto necessário e suciente é formado pelas mídias dos dias (a). 1 a 18 (b). 15 e 18 (c). 1, 8, 15 e 18

(d). 1, 15, 16, 17 e 18 (e). 8, 15, 16, 17 e 18

Solução: Para chegar à resposta, primeiramente é necessário compreender o funcionamento de cada um dos tipos de backup mencionados: completo, diferencial e incremental.



Backup Completo (BC): Nesse modo de backup, também conhecido como full, todos os dados são copiados, independente de suas datas de criação ou modicação.



Backup Diferencial (BD): No modo diferencial, somente são copiados os dados alterados desde a data de realização do último backup completo.



Backup Incremental (BI): Nesse modo, somente os dados modicados desde o último backup, independente do modo em que foi realizado, são copiados.

Página 44 de 46

Handbook de Questões de TI Comentadas para Concursos

Volume 01

Na maioria dos casos de pane, é necessário utilizar uma combinação de backups para que seja possível realizar a restauração dos dados minimizando as perdas. Na situação em questão, a sequência de restaurações de backup que minimiza os danos da pane do dia 19 é a seguinte: Backup Completo do dia 1 (BC1) Backup Diferencial do dia 15 (BD15) Backups Incrementais dos dias 16 (BI16), 17 (BI17) e 18 (BI18)

BC1: Restaura os dados até o dia 1 às 19 horas BC1 + BD15: Restaura os dados até o dia 15 às 19 horas BC1 + BD15 + BI16 + BI17 + BI18: Restaura os dados até o dia 18 às 19 horas

Com isso, chegamos a letra D. Vale observar que o último backup é o do dia 18, já que a pane do dia 19 ocorreu antes da realização do backup, planejado para rodar às 19 horas. Portanto, as modicações feitas a partir do dia 18 às 19 horas foram perdidas.

Página 45 de 46

Índice Remissivo padrões W3C, 34 passagem de parâmetros, 7 protocolo TCP, 26 álgebra relacional, 29 qualidade de serviço, 38 análise do valor agregado, 10 Apache, 11

RAID, 9

arquitetura, 23, 24

redes de computadores, 3, 13, 14, 25, 26, 3739

arquitetura de redes, 25

redes locais, 37

backup, 8, 44

segurança de informação, 11, 15, 19, 28, 31, 39

banco de dados, 5, 16, 21, 22, 29, 33, 41

segurança de redes, 31

bancos de dados distribuídos, 41

servidor de aplicação, 12 SGBD, 5

cache, 9

single sign-on, 4

comandos linux, 2

sistemas de arquivos, 22, 36

concorrência, 41

sistemas operacionais, 36

consulta SQL, 33

SNMP, 14

criptograa, 15, 19, 28

storage, 9

DDoS, 31

técnicas de programação, 6, 7, 43

EJB, 12 endereçamento IP, 3 estruturas de dados, 43

TCP SYN Flood, 31 TCP/IP, 3 transação, 21

Ethernet, 37

virtualização de computadores, 30

fragmentação, 36

web servers, 11

funções básicas dos SGBDs, 29

web services, 34

gerenciamento de custos, 10 gerenciamento de identidades, 4 gerenciamento de incidentes, 18 gerenciamento de projetos, 10 gerenciamento de redes, 14 Governança de TI, 31 IEEE 802, 37 ITIL, 18, 31 J2EE, 12 linux, 2 máquinas virtuais, 30 memória, 23 memória virtual, 24 modelo OSI, 25 modularização de algoritmos, 6 normalização, 16 operação de infra-estrutura, 8, 44 organização de computadores, 23, 24

46