Avanade ASE Assessment

Sobre os conceitos de orientação a objetos, considere: 

  1. Uma classe é uma estrutura que abstrai um conjunto de objetos com características similares.
  2. Objetos são instâncias de uma classe que herdam os atributos e as operações da classe.
  3. Superclasse é uma especialização de um conjunto de classes relacionadas a ela.
  4. Operações, métodos ou serviços fornecem representações dos comportamentos de uma classe. 
 
Está completo e correto o que consta em: 
​I, II e IV, apenas.
I e II, apenas​
II e IV, apenas
​I , III e IV, apenas
Todas as alternativas estão corretas
Os conceitos de generalização e especialização da orientação a objetos estão diretamente relacionados ao conceito de:
Herança
Associação
Polimorfismo
Encapsulamento
​Nenhuma das alternativas

Considere:

  1. A classe Veículo possui as subclasses Carro e Trem.
  2. Os objetos das subclasses Carro e Trem herdam a operação acelerar. 
  3. A aceleração do Carro é no pedal e, do Trem, é na manivela. 
As definições acima mostram um conceito OO aplicável à implementação da aceleração, que é:
Polimorfismo​​
Derivação​
Encapsulamento​
​herança múltipla
Sobrecarga
Funções de agregação em SQL tomam uma coleção de valores como entrada, retornando um valor simples. São funções de agregação em SQL:
​AVG, RETURN, MIN
​SUM , COUNT, WHERE
​GROUP, COUNT, MIN
​MAX, AVG, SUM
INSERT, SELECT, DELETE E UPDATE
Com base na declaração apresentada abaixo pode-se afirmar que:

CREATE TABLE LECIONA_DISCIPLINA
(matProfessor INTEGER NOT NULL,
codDisciplina INTEGER NOT NULL,
 
PRIMARY KEY (matProfessor, codDisciplina),
UNIQUE (matProfessor),
 
FOREIGN KEY (codDisciplina) REFERENCES DISCIPLINA(codDisciplina),
FOREIGN KEY (matProfessor) REFERENCES PROFESSOR(matProfessor)
)
um mesmo professor pode lecionar mais de uma disciplina
pode haver mais de um professor lecionando a mesma disciplina​
​ao ser removida uma linha relativa a um professor da tabela LECIONA_DISCIPLINA, será automaticamente, removido o correspondente professor na tabela PROFESSOR.
​a chave primária da tabela criada poderia ser apenas codDisciplina
​A instrução está com a sintaxe errada

Você está desenvolvendo uma aplicação que possui uma classe chamada Order. A aplicação deverá armazenar uma coleção de objetos Order. A coleção deverá possuir os seguintes requisitos:​

• Usar tipagem forte
• Os objetos devem seguir a ordem first-in-first-out.
• Armazenar valores para cada objeto Order.
• Usar índices baseados em zero.

Você precisa utilizar o tipo de coleção que preencha os requisitos acima.

Que tipo de coleção você utilizaria?

​Queue
​SortedList
​LinkedList
HashTable
​Array
O que está errado no algoritmo abaixo?
var
    N, PAR, X: inteiro;
início
    leia (N);
    X = N mod 2;
    se (X = 0) então
        PAR = 'V';
    senão
        PAR = 'F';
    fimse;
fim.
Nada
Resultado da operação com a variável 'X' retornará erro de conversão
​Variável 'V' não existe
​Variável 'F' não existe
Erro na atribuição da variável PAR
​Um Tipo de Entidade-Fraca é:
​Um Tipo de Entidade que possui chave
​Um Tipo de Entidade que possui chave primária.
​Um Tipo de Entidade que possui chave-parcial
​Um Tipo de Entidade que não possui chave
​Um Tipo de Entidade que não possui chave primária
​No âmbito de padrões de arquitetura de aplicações corporativas, que padrão permite que objetos sejam carregados uma única vez em memória?
Command
Factory​
Singleton​
MVC​
Nenhuma das respostas​
Sobre arrays e coleções em C#, avalie as afirmações a seguir e marque as verdadeiras:
Ao declarar um array, você não precisa determinar o seu tamanho.
Um array pode ser redimensionado dinamicamente.
Uma coleção pode ser redimensionada dinamicamente, pois não tem tamanho fixo.
Todos os membros de um array possuem o mesmo tipo.
Coleções podem possuir membros de diferentes tipos.

Considere o seguinte código C#:

class Bird

{

    public void Legs() { Console.WriteLine("legs:2"); }  

    public void Wings(){                     Console.WriteLine("colour:unknown"); 

     }

}

 

class Parrot : Bird

{

    public void Wings() { Console.WriteLine("colour:Green"); }

}

 

class Program

{

    static void Main(string[] args)

    {            

        Bird b = new Parrot();

        b.Wings();

    }

}

 

Avalie as afirmações a seguir e marque a verdadeira:

​O console irá imprimir "colour:unknown".
​O console irá imprimir "colour:Green".
​O código não compila.
​O código lançará uma exceção em tempo de execução.
​Nenhuma das afirmações é verdadeira.​
​Considere o seguinte código:
class Program
    {
 
       static void Main(string[] args)
        {
            Console.Write("{0}", Soma(3, 5) );
        }
 
        private static int Soma(int a, int b){
            
            if (a == b)
            {
                return b;
            }
 
            return b+Soma(a, b - 1);
        }
    }
 
 
o resultado da execução do método Main seria:
8
5
12
9
Ficará em loop infinito

Considerando o conceito de pilha, qual seria o resultado da execução do método Main abaixo?

static void Main(string[] args)
{
            Stack<int> pilha = new Stack<int>();
 
            int inicial = 8;
            int final = 12;
 
            while (inicial < final)
            {
                pilha.Push(inicial++);
            }
 
            while (pilha.Any())
            {
                Console.Write("{0}  ", pilha.Pop());
                pilha.Pop();
            }
            
}
8 - 10
8 - 10 - 12
12 - 10 - 8
11 - 9
11 - 10 - 9 - 8
Na lógica para programação de computadores, quando uma sequência de comandos deve ser executada várias vezes, tem-se uma estrutura de repetição. Sobre o algoritmo mostrado abaixo, é correto afirmar:

 

declara: Soma, Valor 

início       

     Soma <- 0          

     Valor   <- 25

enquanto Valor   ≥    20 faça             

           Valor  <- Ler teclado             

           Soma  <- Soma + Valor        

fim        

Mostrar Soma 

Fim

O algoritmo mostra uma estrutura de repetição com validação ao final do laço de repetição
Caso os valores digitados sejam 30, 20 e 0, a variável Soma será mostrada com o valor 70.
Os valores serão acumulados em Soma até um limite de 5 valores digitados
O algoritmo mostra uma estrutura em laço que efetua a soma de diversos valores até que o valor digitado seja menor do que 20.
​Caso o valor digitado seja 0 o algoritimo irá mostrar encerrar e mostrar o valor da Variável Soma igual a 25.
 

Dado o código abaixo, assinale a alternativa que contém uma afirmativa correta em relação a esse código:

função f (X,Y)

Início           

         Se Y = 0 Então Retorna 1           

         Senão Retorna X * f(X, M)      

Fim 

​Código totalmente correto de uma função recursiva utilizada para calcular o valor de X elevado a Y.
​Código correto de uma função exponencial que calcula o valor de X elevado a Y.
​Trata-se de uma função recursiva para calcular o valor de X elevado ao expoente Y, mas que precisa ser corrigida, substituindo-se o “M” por “Y-1”
​Trata-se de uma função que calcula o valor de X multiplicado N vezes pela função f, mas que precisa ser corrigida, substituindo-se o “X * f(X, M)” por “X * f(X-1, Y)”.
Nenhuma das anteriores.

Considere o algoritmo a seguir:


val valor: inteiro

val status: literal

inicio

    status <- "sim"

    enquanto (status == "sim") faça

          imprima ("Digite um inteiro:")

          leia(valor)

          se (valor < 5) entao

                 imprima("Situação 1")

          senao

                 se (valor < 10)

                         imprima("Situação 2")

                senao

                        imprima("Situação 3")

                fim_se

         fim_se

         imprima("Deseja continuar[sim/não]?")

         leia(status)

    fim_enquanto

fim

 

sobre o algoritmo acima, é correto afirmar:

Qualquer valor digitado e armazenado na variável valor menor do que 10 desencadeará a impressão da mensagem "Situação 2".
A mensagem "Situação 3" será exibida apenas se o valor digitado e armazenado na variável valor for maior do que 10.
O algoritmo será finalizado apenas quando a resposta da pergunta “Deseja continuar[sim/não]?” for "não".
A mensagem “Situação 2” será exibida se o valor digitado e armazenado na variável valor for maior ou igual a 5 e menor do que 10.
​A mensagem "Situação 1" será exibida apenas de o valor lido para a variável valor for maior ou igual a zero e menor do que 5.

Você está desenvolvendo uma aplicação que possui um banco de dados SQL Server. Você criou uma view com as tabelas Order e OrderDetails utilizando a definição abaixo.

Você precisa melhorar a performance da view persistindo os dados no disco. O que você faria?

CREATE VIEW vOrders
WITH SCHEMABINDING
AS

SELECT o.ProductID, o.OrderDate, SUM(od.UnitPrice * od.OrderQty) as Amount
FROM OrderDetails od
INNER JOIN Orders o ON od.OrderID = o.OrderID
WHERE od.SalesOrderID = o.SAlesOrderID
GROUP BY o.OrderDate, o.ProductID

GO

​Criar uma trigger INSTEAD OF na view
Criar uma trigger AFTER na view​
Modificar a view para utilizar a cláusula WITH VIEW_METADATA​
​Criar um CLUSTERED INDEX na view
Criar um NONCLUSTERED INDEX na view
Selecione a opção que melhor preenche a lacuna:
Esconder dados internos do "mundo exterior" e acessá-los apenas através de métodos públicos é conhecido por ______.
Abstração
Encapsulamento​
Furtividade​
Privatização​
Modularização​
Selecione a opção que melhor preencha a lacuna:
Uma coleção de métodos sem implementação é chamada de ______.
Enum
Classe​
Collection​
Interface​
classe virtual​
Sobre delegates, avalie as afirmações a seguir:
 
I. Um delegate é um tipo de referência que pode ser usada para encapsular um método.
II. Delegates são semelhantes aos ponteiros de função em C++.
III. Delegates não são tipados.
 
Marque a resposta correta:
​Apenas I é verdadeira.
​Apenas I e II são verdadeiras.
​Apenas I e III são verdadeiras.
​Apenas II e III são verdadeiras.
​Todas são verdadeiras.​
Sobre TDD, avalie as afirmações a seguir:
 
I. Seguindo o TDD, o primeiro passo é escrever um teste que falha
II. O TDD não se preocupa com a refatoração do código
III. Testes unitários levam bastante tempo para serem executados e só devem ser executados ao término da implementação da unidade a ser testada.
 
Marque a resposta correta:
​Apenas I é verdadeira
​Apenas I e II são verdadeiras
​Apenas II é verdadeira
​Apenas II e III são verdadeiras
​Nenhuma delas é verdadeira​
Sobre MVC, avalie as afirmações a seguir:
 
I. MVC é um padrão de projeto
II. MVC busca isolar responsabilidades 
III. MVC facilita a implementação de testes unitários
 
Marque a resposta correta:
​Apenas I é verdadeira
​Apenas II é verdadeira
​Apenas I e II são verdadeiras
​Apenas II e III são verdadeiras
€�Todas são verdadeiras​

Sobre o código a seguir, avalie as afirmações:

public class Customer
{
    [Required(ErrorMessage=
"Customer code is required")]
   
public string CustomerCode { set; get; }

 

<% using (Html.BeginForm("PostCustomer", "Home", FormMethod.Post))
{ %>
<%=Html.TextBoxFor(m => m.CustomerCode)%>
<%=Html.ValidationMessageFor(m => m.CustomerCode)%>
<input type="submit" value="Submit customer data" />
<%}%>

 

public ActionResult PostCustomer(Customer obj)
{
   
if (ModelState.IsValid)
    {
        obj.Save();
       
return View("Thanks");
    }
   
else
    {
       
return View("Customer");
    }
}

 

  1. A anotação "Required" acima da propriedade CustomerCode, auxilia na validação de um objeto Customer.
  2. Outras anotações podem ser adicionadas a uma única propriedade (e.g. [StringLength(160)]).
  3. O Html Helper ValidationMessageFor exibe todos os problemas de validação de uma única vez.

Marque a resposta correta:

​Apenas I é verdadeira
​Apenas I e II são verdadeiras
​Apenas II é verdadeira
​Apenas II e III são verdadeiras
​Todas são verdadeiras​

​Marque a opção INCORRETA:

​Single Responsibility Principle (SRP - Princípio da Responsabilidade Única) define que uma classe deve possuir apenas uma razão para mudar.
​Coesão está relacionada ao princípio da responsabilidade única, ou seja, quanto menos uma classe souber da outra, melhor.
​Duas classes estão acopladas quando ao menos uma utiliza (referencia) a outra.
​Normalmente, ao construir um software, nós adicionamentos ou modificamos features. No entanto, remover elementos é importante para manter o design o mais simples possível.
​Ao ter que alterar um software, manter as modificações localizadas ajuda a reduzir custos e riscos​.
​Sobre jQuery, assinale a alternativa correta:
​O seletor $('div') retorna apenas a primeira div do escopo
$('p').css('background-color', 'red') altera o background dos elementos selecionados
​Não é possível utilizar jQuery e AJAX ao mesmo tempo
​$(document).load() evita que o código seja executado antes que a página seja carregada.
​$(":disabled") é um seletor inválido e não retorna nada.​
Sobre exceções, avalie as afirmações a seguir:
 
I. 'throw ex' preserva a pilha de informações de erro original, mas 'throw' substitui a pilha recomeçando daquele ponto.
II. 'throw' preserva a pilha de informações de erro original, mas 'throw ex' substitui a pilha recomeçando daquele ponto.
III. Tratamento de exceções é um mecanismo que captura e trata erros em tempo de execução.
IV. Tratamento de exceções é um mecanismo que captura e trata erros em tempo de compilação.
 
Marque a opção correta:
​Apenas I e III são verdadeiras
​Apenas I e IV são verdadeiras
​Apenas II e III são verdadeiras
​Apenas II e IV são verdadeiras
​Nenhuma das opções é verdadeira​

Avalie o código a seguir e marque a INCORRETA:

1: <button type="button" onclick="alert('Hello World!')">Click Me!</button>

2: <h1>This is a heading</h1>

​A linha 1 renderiza um botão que quando clicado abrirá um alerta.

​A linha 1 não funciona corretamenta, pois a tag <button> não existe. Para funcionar, deveria ser <input type='button'>.

​A linha 2 representa um título.

​As tags de título <h1> , ..., <h6> não deveriam ser utilizadas para tornar o texto maior.

​A tag <head> nada tem a ver com as tags de título <h1>, ..., <h6>​

Sobre CSS, avalie o código abaixo e marque a alternativa verdadeira:

div {

    width: 320px;

    padding: 10px;

    border: 5px solid gray;

    margin: 0;

}

​A cor da borda não está definida corretamente, pois gray não é uma cor válida
A largura total da div é de 350px
​A largura total da div é de 320px
​A margem não é válida pois não possui unidade
​Nenhuma das alternativas é verdadeira
​Sobre CSS, avalie os seletores a seguir e marque aqueles que NÃO são possíveis:
​h1.title
​input[type="checkbox"]
​div#foo
​h1 < span
​ul > li:first-child​
Sobre testes unitários, avalie as afirmações a seguir e marque as verdadeiras:
​A "unidade" a ser testada por um teste unitário é sempre um método.
​Um bom teste unitário demora a ser executado porque avalia diversas condições.
​Os testes unitários tem uma sequência lógica para serem executados, caso contrário correm o risco de não funcionarem como deveriam.
​Bons testes unitários são executados em memória, dispensando o uso de banco de dados.
​Códigos complexos exigem testes unitários complexos.​
{"name":"Avanade ASE Assessment", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"a","img":"https://www.quiz-maker.com/3012/images/ogquiz.png"}
Powered by: Quiz Maker