Você está na página 1de 5

AVALIAÇÃO TÉCNICA – DESENVOLVEDOR

Departamento de Desenvolvimento

É muito bom tê-lo como participante do nosso processo seletivo. Na seleção da qual está
participando, buscaremos conhecer melhor o seu perfil técnico e comportamental.
Gostaríamos de ressaltar que a seleção que realizamos busca identificar os candidatos
que mais se aproximam do perfil exigido ao cargo em questão. Caso você não seja
escolhido nessa ocasião, gostaríamos de deixar as portas abertas para que você possa
se candidatar em futuras oportunidades. Você será informado sobre o resultado de todo o
processo seletivo, sendo favorável ou não.
Pedimos a gentileza de desligar o celular ou colocá-lo em modo silencioso durante a
avaliação.

Departamento de RH
LG lugar de gente

Nome:__________________________________________________________________

Data: ___/___/_____
1. Pensando em um sistema de cadastro de clientes, considere os seguintes requisitos:
Cada cliente no sistema deve possuir, além das suas informações cadastrais (limitadas
em 4 informações), uma lista de contatos associados. Cada contato é representado pelas
informações de código, nome, número de telefone e tipo de relacionamento com o cliente,
aqui definido por Pai, Mãe, Irmão(ã), Amigo, Outros. Além disso, a lista de contatos
sempre deve ser ordenada pelo seu código.

Os contatos de um mesmo cliente podem possuir o mesmo número de telefone ou um


mesmo tipo de relacionamento, porém nunca podem possuir as duas informações iguais
entre si (Número de telefone e tipo de relacionamentos iguais).

Diante das informações acima, faça uma representação de objeto/classe que represente
os requisitos do cliente e do contato e um algoritmo que cubra a ordenação dos contatos
e a restrição de não poder existir mais de um contato com mesmo número de telefone e
tipo de relacionamentos iguais.
Dica: pode ser representado em mais de um objeto/classe, se necessário.
2. Considerando que a orientação a objetos tem como um dos objetivos a reutilização de
código e analisando o código abaixo, quais seriam as alterações necessárias para se
alcançar o máximo de reutilização de código? Faça um diagrama de classes ou
recodifique as classes.

public enum EnumTipo


{
CARRO=1,
CAMINHAO
}

public class Veiculo


{
public int Codigo {get;set;}

public string Descricao {get;set;}

public EnumTipo Tipo {get;set;}

public string Placa {get;set;}


}

public class Carro: Veiculo public class Caminhao: Veiculo


{ {
public int OcupacaoMaxima {get;set;} public string Chassi {get;set;}
}
public int PesoEmToneladas {get;set;}
}

public class ServicoDeCaminhao public class ServicoDeCarro


{ {
public void InsiraCaminhao (Veiculo carro) public void InsiraCarro (Veiculo carro)
{ {
... ...
} }

public Veiculo ObtenhaCaminhao (intcodigo) public Veiculo ObtenhaCarro (intcodigo)


{ {
... ...
} }

public List<Veiculo> ObtenhaListaDeCaminhao () public List<Veiculo> ObtenhaListaDeCarros ()


{ {
... ...
} }
}
public int ObtenhaQuantidadeDeCaminhoes ()
{
...
}
}
3. Em relação ao seguinte esquema de banco de dados:

A) Faça uma consulta SQL que retorne a soma dos salários dos funcionários agrupados por
empresa.

B) Faça uma consulta SQL que retorne o nome das empresas que possuem mais de 30 funcionários.
C) Faça uma consulta SQL que retorne o nome do funcionário, o código e a descrição do centro de
custos e o código e a descrição do seu cargo.

D) Faça uma consulta SQL que retorne todos os funcionários que não possuem dependentes.

Você também pode gostar