Avanade SSE Assessment

O Cliente deseja que seja desenvolvido um gerador de jogos de tabuleiro, para tanto, o sistema deve ser capaz de gerar jogos diferentes ao mesmo tempo, como xadrez e dama, por exemplo. Que padrão de projeto poderia ser utilizado para parametrizar a definição do tipo de tabuleiro a ser criado?
​Abstract Factory
Singleton
Iterator
Proxy
Interpreter

Uma aplicação recebe um dado JSON no seguinte formato:

{
    "FirstName" : "David",
    "LastName": "Jones",
    "Values" : [0,1,2]
}

A aplicação possui o seguinte segmento de código:

public class Name
{
     public int[] Values { get; set; }
     public string FirstName { get; set; }
     public string LastName { get; set; }

     public static Name ConvertToName(string json)
     {
          var ser = new JavaScriptSerializer();

     }
}

Você precisa ter certeza que o método ConvertToName() retorne o input JSON citado no início da questão. Que segmento de código você inseriria após a declaração da variável "ser"?

Return ser.ConvertToType(json);
Return ser.DeserializeObject(json);
Return ser.Deserialize (json);
​Return (Name)ser.Serialize(json);
Nenhuma das anteriores
​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​
​O que é "Refactoring"?
​Remover a duplicação do código sem modificar seu comportamento
​Melhorar a qualidade do código
​Reescrever o código para aumentar sua flexibilidade
​Parametrizar o código para flexibilizar a arquitetura
Nenhuma das alternativas
Avalie as afirmações a seguir:
  1. O padrão Abstract Factory proporciona uma interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes.
  2. O padrão Singleton garante que uma classe tenha apenas uma instância e proporciona um único ponto de acesso a ele.
  3. O padrão Factory Method define uma interface para um objeto, mas permite que as subclasses decidam qual classe instanciar.

Marque a afirmação correta:

​Todas as afirmações são verdadeiras.
​Apenas as afirmações I e III são verdadeiras.
​Apenas as afirmações I e II são verdadeiras.
€‹Apenas as afirmações II e III são verdadeiras.​
​Nenhuma das afirmações é verdadeira​.

Os 23 padrões de projeto propostos pelo Gang of Four são distribuídos em 3 categorias: de criação, estruturais e comportamentais.

Adapter e Composite são exemplos de padrão de projeto ______.

Template Method e Iterator são exemplos de padrão de projeto ______.

Qual opção abaixo melhor preenche as lacunas (na ordem):

​de criação; estruturais;
​estruturais; comportamentais;
​comportamentais; de criação;
​estruturais; de criação;
​comportamentais; estruturais.​
​Qual é o padrão de projeto mais adequado para obter o resultado abaixo?
-root
---File A
---File B
---Folder X
-----File XA
-----File XB
---File C​
​Template Method
Composite
​Iterator
​Chain of Responsability
​Nenhum deles​
​Você precisa desenvolver uma aplicação que gera documentos de vários tipos. Inicialmente, considere que existirão Report e Resume, que são subclasses de Document, e que cada documento é formado por uma coleção de Pages, que podem ser de vários tipos. Lembre-se que você precisa flexibilizar a criação de diversos tipos diferentes de documentos. Qual é o padrão de projeto mais adequado?
Singleton
​Factory Method
​Abstract Factory
Facade
Builder​
Você precisa garantir que novos clientes entrem apenas com e-mais válidos. Que código você utilizaria?
​[RegularExpression (emailPattern, ErrorMessage = EmailErrorMessage)]

[DataType(DataType.EmailAddress)]

public string Email {get; set; }

​​[RegularExpression (EmailRegex, ErrorMessage = EmailErrorMessage, ErrorMessageResourceType = DataType.EmailAddress)]

[ComplexType]

public string Email {get; set; }

​<%: Html.Raw(m => m.Email) %>
​<%: Html.TextBoxFor(m => m.Email) %>
Nenhuma das alternativas
​Avaliando as sentenças seguintes a respeito de estrutura de dados, 


I. A diferença entre árvore binária simples e árvores AVL é o fato de que a segunda pode se reconfigurar dinamicamente, com o intuito de manter um bom nível de balanceamento. 

II. Uma pilha garante que o último elemento inserido seja localizado no seu topo. Porém, do ponto de vista conceitual, qualquer elemento da pilha pode ser removido, ainda que não esteja no seu topo. 

III. Do ponto de vista conceitual, não há diferença alguma entre uma estrutura de array e uma lista encadeada. 

IV. Tabelas hash são estruturas de dados indicadas para armazenar grande volume de dados. Apesar dessas estruturas permitirem acesso indexado, mais de um elemento pode ter o mesmo índice. Elementos com o mesmo índice podem ser armazenados em uma mesma lista encadeada. 

verifica-se que:

Apenas I e IV são verdadeiras.
Apenas I é verdadeira.
€‹apenas III e IV são verdadeiras
€‹apenas II e III são verdadeiras.
€‹apenas I, II e IV são verdadeiras.
​Em relação às estruturas de dados, considere: 


I. Um tipo abstrato de dados está desvinculado de sua implementação, ou seja, a sua definição visa a preocupação com o que ele faz e não como ele faz. 

II. A lista duplamente encadeada além de saber o próximo nó, cada elemento também conhece o nó anterior a ele na lista, o que facilita a remoção de um elemento e a exibição dos elementos na ordem inversa. 

III. A implementação dinâmica de pilhas possui as mesmas vantagens que as listas dinâmicas, ou seja, não é necessário saber a quantidade máxima de elementos que serão armazenados. 

IV. Lista, pilha, fila e array são casos típicos de estruturas lineares, enquanto árvore, grafo e heap são casos típicos de estruturas não lineares. 

É correto o que se afirma em:

€‹I e IV, apenas.
​I, II e III, apenas
II, III e IV, apenas​
I, II, III, IV​
II e III, apenas​
​Qual desses algoritmos tem a menor complexidade no pior caso (notação big O)?
void sort(int vet[], int esq, int dir){
    int pivo = esq,i,ch,j;
   
for(i=esq+1;i<=dir;i++){
       j = I;
       
if(vet[j] < vet[pivo]){
       ch = vet[j];
       
while(j > pivo){    
       vet[j] = vet[j-1];
       j--;
       }
       
vet[j] = ch;
       pivo++;        
         }  
    }
 
    if(pivo-1 > esq){
        quick(vet,esq,pivo-1);
    }
 
    if(pivo+1 < dir){
        quick(vet,pivo+1,dir);
    }
 
 }​
​​void sort(int vetor[], int tamanho){

    int aux;

    for(int i=tamanho-1; I >= 1; i--) 
    {  
        for( int j=0; j < I ; j++) 
        {
            if(vetor[j]>vetor[j+1]) 
            {
                aux = vetor[j];
                vetor[j] = vetor[j+1];
                vetor[j+1] = aux;
            }
        }
    }

}

void sort(int a[], int n) {
   int I = n / 2, pai, filho, t;
   for (;;) {
      if (i > 0) {
          i--;
          t = a[i];
      } else {
          n--;
          if (n == 0) return;
          t = a[n];
          a[n] = a[0];
      }
      pai = I;
      filho = I * 2 + 1;
      while (filho < n) {
          if ((filho + 1 < n)  &&  (a[filho + 1] > a[filho]))
              filho++;
          if (a[filho] > t) {
             a[pai] = a[filho];
             pai = filho;
             filho = pai * 2 + 1;
          } else {
             break;
          }
      }
      a[pai] = t;
   }
}
int *Sort(int original[], int length)
{
int I, j, atual;
 
for (i = 1; I < length​; i++)
{
atual = original[i];
j = I - 1;
 
while ((j >= 0) && (atual < original[j]))
{
original[j + 1] = original[j];
        j = j - 1;
}
    
original[j + 1] = atual;
}
 
return (int*)original;
}
​Todos possuem a mesma complexidade no pior caso.
​Você está desenvolvendo uma aplicação que possui um banco de dados SQL Server associado e existe uma tabela com a seguinte definição:

CREATE TABLE Inventory
(ItemID int NOT NULL PRIMARY KEY,
ItemsInStore int NOT NULL,
ItemsInWarehouse int NOT NULL)

Você precisa criar uma coluna computada que retorna o total da soma da coluna ItemsInStore e ItemsInWarehouse para cada linha.

Qual comando você utilizaria?

​ALTER TABLE Inventory ADD ItemsInStore - ItemsInWarehouse = TotalItems
​ALTER TABLE Inventory ADD TotalItems AS ItemsInStore + ItemsInWarehouse
​ALTER TABLE Inventory ADD TotalItems = ItemsInStore + ItemsInWarehouse
ALTER TABLE Inventory ADD TotalItems AS SUM(ItemsInStore, ItemslnWarehouse)​
Nenhuma das alternativas

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

Você precisa criar um processo que siga os seguintes requisitos:

- Retorne o resultado baseado em parâmetros informados

- Retorne valores que possam ser utilizados dentro de um join ou select

Escolha a opção correta

Inline user-defined function​
Stored Procedure​
Table-valued user-defined function
Scalar user-defined function​
View​
​Quais são os Conceitos Básicos da Programação Orientada a Objetos?
Sobrecarga, Especialização, Generalização e Relacionamento múltiplo entre classes
€‹â€‹Abstração, Encapsulamento, Herança e Polimorfismo
​Abstração, Modularização, Classes e Atributos
​Sobrecarga, Sobrescrita, Classes e Interfaces
​Classes, Classes Abstratas, Interfaces e Métodos​
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​
​Assinale a alternativa correta com relação às técnicas de teste de software.
​O teste do tipo caixa branca exige conhecimento da estrutura interna do programa em análise.
​O teste do tipo caixa preta não exercita as interfaces externas do programa em análise.
Os testes dos tipos caixa preta e caixa branca diferem apenas quanto ao número de testes a serem realizados.
​O teste denominado de caminho básico é do tipo caixa preta.
​O teste denominado de particionamento de equivalência é do tipo caixa branca.​
Sobre ASP.NET MVC, avalie as afirmações a seguir:
 
I. Uma Action de um Controller não pode ser acessado por mais do que uma URL
II. É possível manter dados em sessão utilizando TempData, ViewData ou ViewBag
III. Ao utilizar ViewBag, o cast é obrigatório.
 
Marque a resposta correta:
​Apenas I é verdadeira
​Apenas II é verdadeira
​Apenas III é verdadeira
​Apenas I e II 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​
Sobre ASP.NET MVC, avalie as afirmações:
 
I. Não é possível retornar um objeto JSON a partir de uma Action.
II. ActionFilters são úteis para adicionar lógica pós-processamento de Actions
III. ActionResult é uma classe abstrata e pode ser utilizada para explorar suas propriedades polimórficas.
 
Marque a resposta correta:
​Apenas I e II são verdadeiras
​Apenas I e III são verdadeiras
​Apenas II e III são verdadeiras
​Apenas II é verdadeira
​Apenas III é verdadeira​
Sobre Cross Site Request Forgery (CSRF), avalie as afirmações:
 
I. CSRF é um tipo de ataque quando o ofensor se passa por uma fonte confiável e envia dados para o site.
II. Nada pode ser feito para evitar CSRF utilizando ASP.NET MVC.
III. Uma possível solução para CSRF é a utilização de uma verificação de tokens que são gerados e checados no servidor.
 
Marque a resposta correta:
​Apenas I e II são verdadeiras
​Apenas I e III são verdadeiras
​Apenas II e III são verdadeiras
​Apenas II é verdadeira
​Apenas III é verdadeira​

​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.​
​Marque os tipos de herança permitidos pelo C#:
​Single Inheritance : contém uma classe base e uma classe derivada
​Hierarchical Inheritance : contém uma classe base e múltiplas classes derivadas da mesma classe base
​Multilevel Inheritance : contém uma classe derivada de outra classe derivada
​Multiple Inheritance : uma classe derivada pode possui mais de uma classe base
​Nenhuma da opções acima são permitidas em C#​
​Você possui um banco de dados que gera um relatório diário com a seguinte consulta:

SELECT c.CustomerName
FROM Customer c
WHERE ufnGetLastOrderDate(c.CustomerID) < DATEADD(DAY, -90, GETDATE())

A função 'ufnGetLastOrderDate' tem o seguinte corpo:

CREATE FUNCTION ufnGetLastOrderDate(@CustomerID int)
RETURNS datetime
AS
BEGIN

DECLARE @lastOrderDate datetime
SELECT @lastOrderDate = MAX(OrderDate)
FROM SalesOrder
WHERE CustomerID = @CustomerID

RETURN @lastOrderDate

END

O que você faria para melhorar a performance do seu relatório?

DELETAR a função e reescrever a consulta para a seguinte:

WITH cte (CustomerID, LastOrderDate) AS (

SELECT CustomerID, MAX(OrderDate) as LastOrderDate
FROM SalesOrder
GROUP BY CustomerID

)

SELECT c.CustomerName
FROM cte
INNER JOIN Customer c ON cte.CustomerID = c.CustomerID
WHERE cte.LastOrderDate < DATEADD(DAY, -90, GETDATE())

​​DELETAR a função e reescrever a consulta para a seguinte:

SELECT c.CustomerName
FROM Customer c
WHERE NOT EXISTS (

SELECT OrderDate
FROM SalesOrder s
WHERE s.OrderDate > DATEADD(DAY, -90, GETDATE())
AND s.CustomerID = c.CustomerID

)
ON cte.CustomerID = c.CustomerID
WHERE cte.LastOrderDate < DATEADD(DAY, -90, GETDATE())

DELETAR a função e reescrever a consulta para a seguinte:

SELECT DISTINCT c.CustomerName
FROM Customer c
INNER JOIN SalesOrder s ON c.CustomerID = s.CustomerID
WHERE s.OrderDate < DATEADD(DAY, -90, GETDATE())

Reescrever o report da seguinte forma:

SELECT DISTINCT c.CustomerName
FROM Customer c
WHERE NOT EXISTS (

SELECT OrderDate FROM ufnGetLastOrderDate(c.CustomerID, 90))

)

Alterar a função 'ufnGetLastOrderDate' para o seguinte corpo:

CREATE FUNCTION ufnGetLastOrderDate(@CustomerID in, @MaxAge datetime)
RETURNS TABLE AS RETURN (

SELECT OrderDate
FROM SalesOrder
WHERE s.CustomerID = @CustomerID
AND s.OrderDate > DATEADD(DAY, -@MaxAge, GETDATE())

)

​Nenhuma das anteriores

Você está adicionando um método público chamado UpdateScore() em uma classe pública chamada ScoreCard

O código de região que atualiza o score precisa seguir os seguintes requisitos:

- Tem que ser acessada por apenas uma thread por vez

- Ela não pode ser vulnerável a situações de deadlock

Como você implementaria o método UpdateScore()?

Colocar o código dentro do seguinte comando lock:

lock (this) {

...

}

Criar um método privado chamado 'travaObj()' na classe ScoreCard. Coloque dentro do código do método público o seguinte comando:

lock (travaObj) {

...

}

​Coloque o seguinte atributo na assinatura do método público:

[MethodImpl(MethodImplOptions.Synchronized)]

​Coloque um objeto público estático chamado 'travaObj' na classe ScoreCard e utilize dentro do método público da seguinte forma:

lock(typeof(ScoreCard)) {

...

}

​Nenhuma das alternativas

​Quais os encapsulamentos existentes no C# e qual a ordem do mais restrito para o mais aberto?

​private, internal, protected, protected internal, public
​private, protected internal, protected, internal, public
​private, protected internal, internal, protected, public
​private, internal, protected internal, protected, public
​private, protected, internal, protected internal, public
Sobre Javascript, avalie as afirmações a seguir:
 
I. Se o valor de uma variável retorna undefined significa que ela foi declarada mas ainda não lhe foi atribuída um valor.
II. Se o valor de uma variável retorna null significa que ela foi declarada e lhe foi atribuído um valor.
III. (null === undefined) retorna false
IV. (null == undefined) retorna true
 
Marque a resposta correta:
​Apenas I é verdadeira
​Apenas II é verdadeira
​Apenas I e II são verdadeiras
​Apenas I e III são verdadeiras
​Todas são verdadeiras​
Sobre javascript, avalie as afirmações a seguir:
 
I. O operador typeof não diferencia arrays de qualquer outro objeto
II. Dado que você tem um elemento cujo id é 'foo', se você executar o código a seguir, a fonte terá seu tamanho alterado para 25px.
document.getElementById("demo").style.fontSize = "25px";
III. Em HTML, o código javascript precisa estar entre tags <script></script> para funcionar.
 
Marque a resposta correta:
​Apenas II é verdadeira
​Apenas III é verdadeira
​Apenas I e III são verdadeiras
​Apenas II e III são verdadeiras
​Todas são verdadeiras​
{"name":"Avanade SSE Assessment", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"O Cliente deseja que seja desenvolvido um gerador de jogos de tabuleiro, para tanto, o sistema deve ser capaz de gerar jogos diferentes ao mesmo tempo, como xadrez e dama, por exemplo. Que padrão de projeto poderia ser utilizado para parametrizar a definição do tipo de tabuleiro a ser criado?, Uma aplicação recebe um dado JSON no seguinte formato: {    \"FirstName\" : \"David\",    \"LastName\": \"Jones\",    \"Values\" : [0,1,2]} A aplicação possui o seguinte segmento de código: public class Name{     public int[] Values { get; set; }     public string FirstName { get; set; }     public string LastName { get; set; }      public static Name ConvertToName(string json)     {          var ser = new JavaScriptSerializer();      }} Você precisa ter certeza que o método ConvertToName() retorne o input JSON citado no início da questão. Que segmento de código você inseriria após a declaração da variável \"ser\"?, ​O que é \"Refactoring\"?","img":"https://www.quiz-maker.com/3012/images/ogquiz.png"}

More Quizzes

Si tu regalo quieres, debes acertar unas preguntas!
11611
Dados obrigatórios para o FMA 2016:
210
JT and Tyrekes Quiz
420
Jeu-questionnaire sur la mobilité durable Le Service de la santé organisationnelle (SSO) et le Bureau du développement durable (B3D) vous propose un jeu-questionnaire pour développer vos connaissances sur la mobilité durable.  
740
Ô»Õ½Õ¯ Õ¤Õ¸Ö‚ Õ½Õ¥Ö„Õ½Õ«ÕžÕ½Õ¿ Õ¥Õ½: Ô±Ö€Õ«Õ› ÕºÕ¡Ö€Õ¦Õ¥Õ¶Ö„
940
Meteo 3
392039
Pediatrie DCEM2 NC
210105126
Jamie's Easter Quiz Spectacular
16834
DA ELEANOR QUIZ!!!
1267
URDU
100
Van Cleave Construction Trivia Week 1
10510
YOUR FAVORITE COLOR REVEALS YOUR PERSONALITY   We should be glad about the fact that only humans are the species on earth that are able to see the full spectrum rainbow. We share a deep relationship with colors. Each colour has its own energy. Colours of nature, are the truest colour. We absorb the hues of nature into the body. Science tells us that physical body is colour receptive; every cell of the body is made up of contracted light. As I told above, every colour has its own vibration. These vibrations drastically effect the functioning of pineal gland. When a coloured object is placed near body or the colour of the clothes we wear, the colour vibrations are channeled through the aura and into the tissues and organ of the body. Colour has the ability to affect us on emotional level. Studies have revealed that colour therapy is an important tool in promoting health & wellness. Colors have a huge significance in our lives.
100
Powered by: Quiz Maker