SóProvas



Prova CESGRANRIO - 2013 - BNDES - Profissional Básico - Análise de Sistemas - Desenvolvimento


ID
898054
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Muitas vezes é necessário converter a representação de um número inteiro com n bits para sua representação com m bits, onde m > n.

Se a representação em complemento de dois com 8 bits do número inteiro positivo +19 é 00010011, a representação em complemento de dois com 16 bits do número inteiro negativo -19 é

Alternativas
Comentários
  • Decimal para complemento de 2 (-19)

    -1286432168421
    11101101

    Número negativo 16-bits adiciona 1s no início:

    1111 1111 

    Logo:

    1111 1111 1110 1101

    Letra D!


  • Uma outra forma de resolução usando um algoritmo conhecido, é que como ele já calculou o positivo, poderíamos pegar os bits: 

    Inteiro Positivo (+19) -> 00010011

    Inverter o sinal dos bits: -> 11101100

    Somar 1 ao bit acima -> 11101101

    Completar até somar 16 bits -> 1111111111101101







ID
898057
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

O Deadlock caracteriza uma situação na qual um processo aguarda por um recurso que nunca estará disponível ou um evento que não ocorrerá.

Uma das condições necessárias para que ocorra a situação de deadlock é a

Alternativas
Comentários
  • É uma questão capsciosa, pois o Deadlock é uma situação, também, conhecida como impasse e
    ocorre quando um processo aguarda por um recurso que nunca
    estará disponível ou por evento que nunca ocorrerá.
    Para que ocorra um impasse, é preciso que ocorram quatro
    condições simultâneas:

     1a) Exclusão mútua: o recurso só pode ser alocado a um único
    processo de cada vez.
     2a) Posse e espera por recurso: o processo retém um recurso e
    espera por outro.
     3a) Não-preempção: o processo retém um recurso e só ele
    pode liberá-lo. Exemplo: impressora. Antiexemplos: HD e RAM.
     4a) Espera circular: o processo A retém o recurso 1 e só vai
    liberá-lo ao obter o recurso 2, que está alocado ao processo B.
    O processo B retém o recurso 2 e só vai liberá-lo ao obter o
    recurso 1, que está alocado ao processo A. Cria-se, assim, uma
    situação que pode ser representada por um grafo cíclico.

    Neste caso, a alternativa que mais se aproxima é a letra C.

  • Não vi nada capcioso: pediu uma das condições do deadlock e na lista de alternativas está tal condição.

  • Gabarito C

    Condições para Deadlock ocorrer:

     

    Exclusão mútua: cada recurso só pode estar alocado a um único processo em um determinado instante;

    Posse e Espera: um processo, além dos recursos já alocado, pode estar esperando por outros recursos;

    Não-Preempção: un recurso nao pode ser liberado de um processo só porque outros processos desejam o mesmo rrecurso;

    Espera circular: um processo pode ter de esperar por um recurso alocado a outro processo e vice-versa.

     

     

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
898060
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Redes de Computadores
Assuntos

O HTTP (HyperText Transfer Protocol) permite que o cliente envie uma requisição condicional para o servidor para otimizar a recuperação de itens, evitando, assim, transferências desnecessárias.

O cabeçalho que deve ser incluído na mensagem HTTP para evitar a transferência de um item a menos que este tenha sido atualizado é

Alternativas
Comentários
  •  If-Modified-SinceThe

     If-Modified-Since request-header field is used with a method to make it conditional: if the requested variant has not been modified since the time specified in this field, an entity will not be returned from the server; instead, a 304 (not modified) response will be returned without any message-body.

           If-Modified-Since = "If-Modified-Since" ":" HTTP-date
    

    An example of the field is:

           If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
  • Referência da resposta http://tools.ietf.org/html/rfc2616#section-14.25

  • Last Modified - enviado pelo servidor demonstrando a última modificação do objeto.


    If-Modified-Since - enviado pelo cliente informando a última data de alteração do arquivo que possui.

    Se não houver modificação, o servidor retorna o código de status 304 (Not Modified).

     

    Gabarito: If-Modified-Since (B)


ID
898063
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Engenharia de Software
Assuntos

De um modo geral, o processo de desenvolvimento de um software pode ser organizado partindo de três fases importantes, que são as de definição, de desenvolvimento e de manutenção.

Na fase de manutenção, dentre outras atividades, são

Alternativas
Comentários
  • Alguém sabe explicar o erro da letra e?

  • Referência: http://inf.unisul.br/~vera/egs/cmm_pro.htm

    MANUTENÇÃO: concentra-se nas “mudanças” que ocorrerão depois que o software for liberado para uso operacional

    Correção: mesmo com as melhores atividades de garantia de qualidade de software, é provável que o cliente descubra defeitos no software. A manutenção corretiva muda o software para corrigir defeitos.

    Adaptação: com o passar do tempo, o ambiente original (por exemplo a CPU, o sistema operacional e periféricos) para o qual o software foi desenvolvido provavelmente mudará. A manutenção adaptativa muda o software para acomodar mudanças em seu ambiente.

    Melhoramento Funcional: a medida que o software é usado, o cliente/usuário reconhecerá funções adicionais que oferecerão benefícios.

    manutenção perfectiva estende o software para além de suas exigências funcionais originais.

    Atividades de Proteção: as fases e etapas correlatas descritas são complementadas por uma série de atividades de proteção.

    Revisões: efetuadas para garantir que a qualidade seja mantida à medida que cada etapa é concluída.

    Documentação: é desenvolvida e controlada para garantir que informações completas sobre o software estejam disponíveis para uso posterior.

    Controle das Mudanças: é instituído de forma que as mudanças possam ser aprovadas e acompanhadas


  • Acredito que o erro da E esteja na interpretação da palavra "fundamentais". Se fosse tão fundamental o sistema deveria ter sido implementado já com essa funcionalidade.


ID
898066
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Engenharia de Software
Assuntos

Um desenvolvedor de software atua com um usuário ouvindo suas idéias e pedidos e criando, imediatamente, um esboço do produto desejado por esse usuário. O usuário, então, utiliza esse esboço e fornece novas informações ao desenvolvedor para que este possa atualizar, adaptar e implementar, nesse mesmo produto e em tempo de projeto e desenvolvimento, os dados obtidos.

A situação descrita constitui uma prototipação, modelo de ciclo de vida do software que deve

Alternativas
Comentários
  • Letra E

    Destacar, de forma especial, as diversas fontes de demanda por software, os pontos de decisão durante o processo de desenvolvimento e incorporar características do produto real.

  • a. Incremental

    b. Cascata

    c. Cascata

    d. Prototipação (Correta)

    e. Métodos Formais


ID
898069
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Engenharia de Software
Assuntos

Uma equipe de desenvolvimento de software dispõe de computadores de última geração para realizar um projeto. Ter esse hardware, porém, não significa garantir a qualidade do produto final do projeto.

A qualidade do software a ser desenvolvido pode ser atingida com o uso, por exemplo, de

Alternativas
Comentários
  • Alguém poderia explicar o que seria parametrização linear?

     

    "a) parametrização linear do processo de desenvolvimento como padrão"

     

    Obrigado!

     

    Go ahead!!!!


ID
898072
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Engenharia de Software
Assuntos

Em projetos de desenvolvimento de sistemas de software como, por exemplo, sistemas multimídia, um requisito de tempo não atendido pode significar o fracasso das funções desses sistemas.

Para se evitar esse fato, deve ser realizado, por meio do uso de instrumentos de software e hardware, um tipo específico de teste no qual seja(m)

Alternativas

ID
898075
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Considere as tabelas a seguir para responder às questões. Essas tabelas pertencem ao esquema de um banco de dados de uma locadora de veículos.

CREATE TABLE VEICULO (
     PLACA CHAR(7) NOT NULL,
    MODELO VARCHAR2(50) NOT NULL,
    COD_CAT CHAR(2) NOT NULL,
    CONSTRAINT VEICULO_PK PRIMARY KEY (PLACA),
    CONSTRAINT VEICULO_FK FOREIGN KEY (COD_CAT) REFERENCES
    CATEGORIA (COD_CAT))


CREATE TABLE CATEGORIA (
    COD_CAT CHAR(2) NOT NULL,
    DESCR VARCHAR2(80) NOT NULL,
    VAL_DIARIA NUMBER(7,2),
    CONSTRAINT CATEGORIA_PK PRIMARY KEY (COD_CAT))


CREATE TABLE ALUGUEL (
        PLACA CHAR(7) NOT NULL,
        DATA_DEV NUMBER(6),
        DATA_ALG NUMBER(6) NOT NULL,
        CONSTRAINT ALUGUEL_PK PRIMARY KEY (PLACA, DATA_ALG),
        CONSTRAINT ALUGUEL_FK FOREIGN KEY (PLACA) REFERENCES
        VEICULO (PLACA))


Observações:
• A tabela VEICULO contém as informações sobre os veículos que a locadora dispõe para aluguel. Ela possui uma coluna chamada COD_CAT, que contém a categoria à qual um veículo pertence.
• A tabela CATEGORIA representa a tabela de preços da locadora. Ela registra o valor que será cobrado por um dia de aluguel de um veículo de uma determinada categoria.
• A tabela ALUGUEL é usada para registrar todas as operações de aluguel. A coluna DATA_ALG guarda a data na qual um veículo foi alugado, enquanto a coluna DATA_DEV guarda a data na qual o veículo foi devolvido. Ela é informada ao sistema quando o cliente devolve o veículo à locadora. Ambas as datas estão no formato AAMMDD. Dessa forma, a data 05/02/2011 será armazenada como 110205.

Qual comando SQL será executado com sucesso, independente do estado das tabelas que compõem a base de dados da locadora de veículos?

Alternativas
Comentários
  • Eu não tenho certeza absoluta da minha explicação mas vou tentar ajudar.


    A letra A e letra C, você pode matar imaginando que essas chaves primárias já estão cadastradas previamente no banco de dados.


    A letra B e D, caso apaguem uma linha da tabela deixarão a base inconsistente porque a FK ficará com a referência perdida. 

    Por exemplo, caso eu delete a placa do veículo na tabela VEÍCULO, a tabela ALUGUEL que possui uma FK referenciando a tabela VEÍCULO será perdida. 

  • Comentado em : http://www.itnerante.com.br/group/bancodedados/forum/topics/bndes-2013-sql?xg_source=activity

  • O item não é tão fácil quanto parece. Veja que o examinador pede para identificarmos o comando que será executado com sucesso, de forma independente do estado das tabelas - ou seja, o comando que nunca produzirá erro, seja qual for o dado que esteja armazenado nas tabelas.

    Nesse caso, podemos eliminar os itens A e C, pois embora sintaticamente corretos, fazem inserções que teoricamente podem produzir erro, se o valor da chave primária inserido por eles já estiver presente nas tabelas.

    A letra B está errada porque o comando EXISTS só confere se não existe algum veículo atualmente alugado (A.data_dev IS NOT NULL) que pertence à categoria. No entanto, o comando abre margem para que se remova uma categoria que é referenciada por algum veículo existente na frota da locadora (tabela Veículo, chave estrangeira COD_CAT). Nesse caso, se eliminarmos a categoria antes de eliminarmos os veículos associados a essa categoria, teremos um erro de integridade referencial.

    A letra D está incorreta por um motivo parecido. Nesse caso, o EXISTS confere se existe um veículo atualmente alugado (A.data_dev IS NOT NULL). Se existe, a remoção do veículo não poderia acontecer, pois o registro de aluguel faz referência ao veículo.

    Por fim, a letra E é a nossa resposta, pois simplesmente altera o valor do campo COD_CAT, e o comando só é executado caso exista algum veículo pertencente à categoria xs atualmente alugado. Nenhuma restrição de integridade relativa aos valores armazenados na tabela irá impedir esse comando de rodar!

  • O item não é tão fácil quanto parece. Veja que o examinador pede para identificarmos o comando que será executado com sucesso, de forma independente do estado das tabelas - ou seja, o comando que nunca produzirá erro, seja qual for o dado que esteja armazenado nas tabelas.

    Nesse caso, podemos eliminar os itens A e C, pois embora sintaticamente corretos, fazem inserções que teoricamente podem produzir erro, se o valor da chave primária inserido por eles já estiver presente nas tabelas.

    A letra B está errada porque o comando EXISTS só confere se não existe algum veículo atualmente alugado (A.data_dev IS NOT NULL) que pertence à categoria. No entanto, o comando abre margem para que se remova uma categoria que é referenciada por algum veículo existente na frota da locadora (tabela Veículo, chave estrangeira COD_CAT). Nesse caso, se eliminarmos a categoria antes de eliminarmos os veículos associados a essa categoria, teremos um erro de integridade referencial.

    A letra D está incorreta por um motivo parecido. Nesse caso, o EXISTS confere se existe um veículo atualmente alugado (A.data_dev IS NOT NULL). Se existe, a remoção do veículo não poderia acontecer, pois o registro de aluguel faz referência ao veículo.

    Por fim, a letra E é a nossa resposta, pois simplesmente altera o valor do campo COD_CAT, e o comando só é executado caso exista algum veículo pertencente à categoria xs atualmente alugado. Nenhuma restrição de integridade relativa aos valores armazenados na tabela irá impedir esse comando de rodar!

    Gabarito: E

    Professor Arthur Mendonça


ID
898078
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Considere as tabelas a seguir para responder às questões. Essas tabelas pertencem ao esquema de um banco de dados de uma locadora de veículos.

CREATE TABLE VEICULO (
     PLACA CHAR(7) NOT NULL,
    MODELO VARCHAR2(50) NOT NULL,
    COD_CAT CHAR(2) NOT NULL,
    CONSTRAINT VEICULO_PK PRIMARY KEY (PLACA),
    CONSTRAINT VEICULO_FK FOREIGN KEY (COD_CAT) REFERENCES
    CATEGORIA (COD_CAT))


CREATE TABLE CATEGORIA (
    COD_CAT CHAR(2) NOT NULL,
    DESCR VARCHAR2(80) NOT NULL,
    VAL_DIARIA NUMBER(7,2),
    CONSTRAINT CATEGORIA_PK PRIMARY KEY (COD_CAT))


CREATE TABLE ALUGUEL (
        PLACA CHAR(7) NOT NULL,
        DATA_DEV NUMBER(6),
        DATA_ALG NUMBER(6) NOT NULL,
        CONSTRAINT ALUGUEL_PK PRIMARY KEY (PLACA, DATA_ALG),
        CONSTRAINT ALUGUEL_FK FOREIGN KEY (PLACA) REFERENCES
        VEICULO (PLACA))


Observações:
• A tabela VEICULO contém as informações sobre os veículos que a locadora dispõe para aluguel. Ela possui uma coluna chamada COD_CAT, que contém a categoria à qual um veículo pertence.
• A tabela CATEGORIA representa a tabela de preços da locadora. Ela registra o valor que será cobrado por um dia de aluguel de um veículo de uma determinada categoria.
• A tabela ALUGUEL é usada para registrar todas as operações de aluguel. A coluna DATA_ALG guarda a data na qual um veículo foi alugado, enquanto a coluna DATA_DEV guarda a data na qual o veículo foi devolvido. Ela é informada ao sistema quando o cliente devolve o veículo à locadora. Ambas as datas estão no formato AAMMDD. Dessa forma, a data 05/02/2011 será armazenada como 110205.

Qual consulta permite exibir a placa e o modelo dos veículos que NÃO foram alugados no mês de junho de 2012?

Alternativas
Comentários
  • Eu descartei a letra D por causa do OR entre as datas. 

    Eu fiquei entra a letra B e letra E porque são as mais complexas e está cobrando o conceito do MINUS.

    O MINUS é a subtração de dois conjuntos. Que nesse caso é o conjunto do todo menos o conjunto dos carros que foram alugados em todos os meses menos o mês de junho. Fazendo a subtração, dá exatamente os carros que foram alugados no mês de junho.

    Resposta certa letra B.


  • http://sqlfiddle.com/#!4/b8577/2/0

  • Gabarito letra B. 
    Acredito que a grande dúvida fica entre B e D. Pois de fato as duas retornam como resultado de sua seleção os veículos que não foram alugados no mês de junho de 2012. Porém com uma sútil diferença.  
    A letra D retornar: "dos carros que já foram alugados um dia, quais não foram alugados em junho de 2012" e simplesmente ignora os carros que nunca foram alugados, porque o carros que nunca foram alugados não estão tabela ALUGUEL.    Já a letra B retorna: "todos os carros existentes na tabela veiculo [MENOS] os carros que foram alugados em junho de 2012, ou seja no conjunto todos os carros existentes estão os que já foram alugados um dia (ou seja, estão presentes na ta tabela ALUGUEL) e ainda os carros que nunca foram alugados(não estão presentes na tabela ALUGUEL). A letra D não está de todo errada, porém a B está mais correta.   Deu para entender ou ficou confuso ?

ID
898081
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

O esquema de um banco de dados relacional é descrito segundo a seguinte notação:

• uma tabela possui um nome e um conjunto de colunas, separadas por vírgulas. Por exemplo, TX(col1,col2,col3,col4) representa uma tabela cujo nome é TX.
• os tipos de dados das colunas são irrelevantes para a questão, logo não são apresentados.
• as colunas que compõem a chave primária de uma tabela estão sublinhadas.
• as dependências funcionais entre colunas de uma tabela são exibidas logo abaixo da sua definição.

Sabendo-se que todas as relações atendem à primeira forma normal, TODAS as relações atendem também à terceira forma normal em

Alternativas
Comentários
  • Alguem sabe p q a letra D esta errada?


  • Na letra D tem uma dependencia transitiva entre 2 atributos não chave ( b1➜b2 ) o que invalida a 3FN.


ID
898087
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Algoritmos e Estrutura de Dados

Uma árvore rubro-negra possui 18 valores inteiros distintos armazenados em seus 18 nós.

Uma função recursiva, cujo cabeçalho é boolean busca (int val), foi escrita com o objetivo de visitar os nós desse tipo de árvore à procura de um determinado valor (val). O algoritmo utilizado tira partido das características de uma árvore rubro-negra, com o objetivo de ser o mais eficiente possível.

Qual é o número máximo de chamadas à função busca( ) que será necessário para informar se um determinado valor está, ou não, armazenado na árvore?

Alternativas
Comentários
  • Por que não é a letra D?

  • Vamos contar as chamadas recursivas, e ver quantos valores a recursão já percorreu

    1°     |    1 valor

     2°  |      |   3 valores

    3º  | |    | |   7 valores

    4º  || ||  || ||  15 valores

    5°   |||||||||||...  31 valores

    Logo a função tem que ser chamada 5 vezes pra com certeza ter passado pelos 18 valores

  • 18 nos + balanceamento nulo= 32 nós.....x=32

    RUBRO NEGRA PIOR CASO, OlogN= X   ---- 2^x=32   ----   x= 5


  • Uma árvore rubro-negra é uma árvore de busca binária onde cada nó tem um atributo decorvermelho ou preto


    Fonte: http://pt.wikipedia.org/wiki/%C3%81rvore_rubro-negra

  • acertei usando a profundidade/nível da árvore.

    para a CESGRANRIO a raiz começa no nível 1.

    se temos 18 nós , então teremos 5 passos ( chamadas ).

  • Força Guerreiro!!!!!!


ID
898090
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Programação
Assuntos

Qual método pertencente à biblioteca nativa de Java NÃO é capaz de bloquear a execução de uma thread?

Alternativas
Comentários
  • "Quando a thread executa o thread yield, a execução da thread é suspensa e a CPU passa para uma outra thread em execução. Essa thread aguardará até a CPU tornar-se disponível novamente." - wikipedia



  • yield()- torna o estado de uma thread executável para que thread com prioridades equivalentes possam ser processadas;

    Executável- estado em que a thread fica disponível para ser executada e no aguardo do escalonador de thread, esperando a sua vez de se executar;


    Ou seja não bloqueia, apenas joga para o fim da fila do escalonador.



ID
898093
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Programação
Assuntos

Sejam as seguintes classes Java, que ocupam arquivos distintos:

-------------------- arquivo CA01.java --------------------
package M1;
public class CA01 {
      protected void mt01(int a) { }
}

-------------------- arquivo CA02.java --------------------
package M2;
import M1.*;
public class CA02 extends CA01{
    public void mt01(int a,int b){ }
    public void mt01(int a){ }
}


-------------------- arquivo CA03.java --------------------
package M1.M2;
public class CA03 {
    public double mt03(double b) { return 0.0;}
}


-------------------- arquivo CA04.java --------------------
public class CA04 {
    protected String mt04(String a,String b) { return a+ʹʹ-ʹʹ+b;}
}
A classe Q03 contém o método main(). Ela é mostrada a seguir:
import M2.*;
import M1.*;
    public class Q03 {
        public static void main(String[] args) {
              CA02 p=new CA02();
              CA01 q=new CA01();
              M1.M2.CA03 r=new CA03();
              String n=(new CA04()).mt04(ʹʹBrasilʹʹ,ʹʹBrasíliaʹʹ);
              p.mt01(2,2);
              p.mt01(7);
        }
}

Qual comando de main() produz um erro de compilação?

Alternativas
Comentários
  • Para referência dos modificadores de acesso

    http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

  • Interessante destacar a documentação do Java:


    Apparent Hierarchies of Packages

    At first, packages appear to be hierarchical, but they are not. For example, the Java API includes a java.awt package, a java.awt.color package, a java.awt.font package, and many others that begin with java.awt. However, the java.awt.color package, the java.awt.font package, and other java.awt.xxxx packages are not included in the java.awt package. The prefix java.awt (the Java Abstract Window Toolkit) is used for a number of related packages to make the relationship evident, but not to show inclusion.

    Importing java.awt.* imports all of the types in the java.awt package, but it does not import java.awt.color, java.awt.font, or any other java.awt.xxxx packages. If you plan to use the classes and other types in java.awt.color as well as those in java.awt, you must import both packages with all their files:



ID
898096
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Programação
Assuntos

Qual elemento deve ser a raiz (root element) de um documento XML para que este seja identificado como uma mensagem SOAP?

Alternativas
Comentários
  • O protocolo utilizado para comunicacao em um WebService é o SOAP, que é composto pelas tags (SOAP:ENVELOPE - que é obrigatória, SOAP:HEADER - que é opcional e o SOAP:BODY que é Obrigatória)


  • O esqueleto da mensagem SOAP é assim (substituir os parênteses por sinal de maior ou menor)

     

    (?xml version="1.0"?)

    (soap:Envelope
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
    soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding")

    (soap:Header)
    ...
    (/soap:Header)

    (soap:Body)
    ...
      (soap:Fault)
      ...
      (/soap:Fault)
    (/soap:Body)

    FONTE: http://www.w3schools.com/xml/xml_soap.asp


ID
898099
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Programação
Assuntos

Cada tipo de enterprise bean passa por diferentes fases durante seu ciclo de vida. Um desses tipos possui um estado denominado Passivo. Quando um bean entra nesse estado, o container EJB o desloca da memória principal para a memória secundária.

Qual tipo de bean se comporta dessa maneira?

Alternativas
Comentários
  • A ideia fundamental por trás do Stateful Session Bean é a necessidade de manter estado conversacional.

  • b-

    Todas as instâncias criadas pelo EJB Container têm seu ciclo de vida administrado transparente para o desenvolvedor. Um statefull session bean possui 3 estados: NÃO EXISTE, PRONTO, PASSIVADO.

    instância passivar porque ficou ociosa no estado PRONTO quando um cliente não realiza chamada durante um tempo. Quando uma instância passivada não é mais útil, o EJB Container a ativa e depois a destrói


ID
898102
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Arquitetura de Software
Assuntos

Uma empresa precisa de uma aplicação para processar ordens de compra na forma de mensagens de texto. As mensagens chegam criptografadas, além de conterem informações que permitem garantir que elas foram enviadas por clientes confiáveis.

A aplicação deve ainda levar em conta os seguintes requisitos arquiteturais:

• Melhorias futuras no sistema deverão ser possíveis através da troca ou recombinação dos componentes responsáveis pelas diversas etapas do processamento.
• Cada componente deve ser o mais especializado possível, para que possa ser empregado em diferentes contextos.
• Componentes responsáveis por etapas de processamento não adjacentes não devem trocar informações.
• As fontes de dados podem variar, podendo ser uma conexão socket, uma conexão http ou um arquivo.
• Os resultados do processamento podem ser apresentados ou armazenados de diversas formas.

Qual padrão arquitetural é o indicado para essa aplicação, por atender a todos os requisitos arquiteturais listados acima?

Alternativas

ID
898105
Banca
CESGRANRIO
Órgão
BNDES
Ano
2013
Provas
Disciplina
Segurança da Informação
Assuntos

A comunidade aberta da OWASP (Open Web Application Security Project) é dedicada a prover recursos para que as organizações possam conceber, desenvolver, adquirir, operar e manter aplicações que possam ser confiáveis.

Dentre os 10 mais críticos riscos de segurança apontados pela OWASP para aplicações Web está o ataque conhecido como XSS que visa ao(à)

Alternativas
Comentários
  • letra D.

    Segundo OWASP(2013),"A3-Cross-Site Scripting(XSS):Falhas XSS ocorrem sempre que uma aplicação recebe dados não confiáveis e os envia ao navegador sem validação ou filtro adequados. XSS permite aos atacantes executarem scripts no navegador da vítima que podem “sequestrar” sessões do usuário, desfigurar sites, ou redirecionar o usuário para sites maliciosos."

    Bibliografia:

    Guia OWASP->

    https://www.owasp.org/images/9/9c/OWASP_Top_10_2013_PT-BR.pdf

  • Gabarito D

    Cross-site scripting (XSS) é um tipo de vulnerabilidade do sistema de segurança de um computador, encontrado normalmente em aplicações web que activam ataques maliciosos ao injectarem client-side script dentro das páginas web vistas por outros usuários. Um script de exploração de vulnerabilidade cross-site pode ser usado pelos atacantes para escapar aos controles de acesso que usam a política de mesma origem.

    Através de um XSS, o cracker injeta códigos JavaScript em um campo texto de uma página já existente e este JavaScript é apresentado para outros usuários, porque persiste na página.

    Exemplo de ataque: Imaginem que o cracker insira, em um fórum de um website alvo de ataque, um texto que contenha um trecho de JavaScript. Este JavaScript poderia, por exemplo, simular a página de login do site, capturar os valores digitados e enviá-los a um siteque os armazene.

    Quando o texto do fórum for apresentado a outros usuários, um site atacado pelo XSS exibirá o trecho de JavaScript digitado anteriormente nos browsers de todos os outros usuários, provocando a brecha de ataque.

    O invasor envia um script para o servidor: