You are on page 1of 5

Data Cempro Informtica.

AVALIAO P/ CANDIDATO VAGA DE PROGRAMADOR DELPHI Nome: E-Mail:


PERFIL

Data de Nascimento: Fone de Contato:

1. 2. 3. 4. 5.
6.

H quanto tempo voc trabalha com Delphi, qual o seu grau de intimidade com ele e qual a verso que usa atualmente? R.: Qual o seu nvel de conhecimento em Orientao a Objetos (OO)? Justifique. R.: J utilizou o Interbase/FireBird nos seus projetos? Qual a verso? R.: Voc possui disponibilidade imediata? Em caso negativo, qual o tempo necessrio? R.: Sua pretenso Salarial? R.: Quais tarefas voc desempenha atualmente como desenvolvedor? R.: Se voc trabalha atualmente, diga o que lhe motiva a trocar de emprego? R.: Voc tem experincia de trabalho em equipe? Qual o tamanho da equipe? R.: J utilizou ferramenta CVS? Se sim, cite o(s) nome(s). R.:

7.

8. 9.

10. Quais os sites preferidos por voc para coletar material informativo sobre Delphi e/ou Firebird (cite 3)? R.: CONHECIMENTO ESPECFICO

11. Ao se declarar localmente em uma rotina, uma varivel qualquer no Delphi, de tipo objeto (Ex: TObject, TComponent,
etc.), ela inicializada com que valor? R.:

12. O que voc entende por programao por camadas? R.:

13. Type Casting: 01] 02] 03] 04] 05] 06] 07] 08] 09] 10] 11] 12] 13] 14] 15] 16] TAnimal = class Procedure EmitirSom; virtual; abstract; End; TCachorro = class(TAnimal) Procedure EmitirSom; override; End; Procedure TestarSom; var Animal: TAnimal; var Cachorro: TCachorro; Begin Animal:= TAnimal.create; Cachorro:= TCachorro.create; Cachorro.EmitirSom; Cachorro:= Animal; Animal.Free; End;

1.0c

Data Cempro Informtica.


No cdigo acima onde est o erro? a) Linha 02 b) Linha 13 c) Linha 14 d) Linha 15

14. Como voc reaproveita cdigo em Delphi, na criao de mtodos (funes) com mesmo contedo? Demonstre a partir do seguinte exemplo: Necessito de dois mtodos que me retornem as informaes passadas em letras maisculas. Um mtodo deve receber o contedo do tipo string e o outro deve receber o contedo a partir do tipo TStrings. R.:

15. Qual a diferena da passagem de parmetros de variveis por valor e por referncia? E para objetos? R.:

16. Diga qual a finalidade de arquivos com extenso .dpk:


Arquivo de projeto do Delphi Arquivo de pacotes de componentes do Delphi c. Delphi d. Arquivo de inicializao de projeto do Arquivo de compilao do Delphi

17. Reescreva

o cdigo abaixo, aplicando todas as melhorias que voc conhece quanto codificao, documentao, legibilidade, falhas, metodologias, etc. TClasseData = class(TObject) public FDtOrigem: TDateTime; Function retdatastr(DATA: TDateTime): string; function retdataformatostr(Data: TDatetime; formato: string): string; function retornadata: TDateTime; Procedure RetDataPartes(var Dia: integer; var Mes: Integer; var Ano: Integer); function Ultimodia: integer; Function UltimoDiaStr: string; end; TClasseCompetencia = class(TClasseData) public FDtCompetencia: string[07]; Function RetornaData: TDateTime; end;

implementation function TClasseData.retornadata: TDateTime; begin Result := FDtOrigem; end; function TClasseData.Ultimodia: integer; var x, a: word; m: word; begin result:= 0; Decodedate(FDtOrigem, a, m, x); if (m in [1, 3, 5, 7, 8, 10, 12]) then Result:= 31 else if (m in [2]) and ((a mod 4 <> 0)) then Result:= 28 else if (m in [2]) and ((a mod 4 = 0)) then Result:= 29 else Result:= 30; end; function TClasseData.UltimoDiaStr: string; var x, a: word; m: word; R: integer; begin R:= 0; Decodedate(FDtOrigem, a, m, x); if (m in [1, 3, 5, 7, 8, 10, 12]) then R:= 31 else if (m in [2]) and ((a mod 4 <> 0)) then

1.0c

Data Cempro Informtica.


R:= 28 else if (m in [2]) and ((a mod 4 = 0)) then R:= 29 else R:= 30; Result:= IntToStr(R); end; function TClasseData.retdataformatostr(Data: TDatetime; formato: string): string; begin try DateTimeToString(Result, Formato, FdtOrigem); finally result:= ''; end; end; procedure TClasseData.RetDataPartes(var Dia, Mes, Ano: Integer); var vD: word; var vM, vA: word; begin DecodeDate(FDtOrigem, vA, vM, vD); end; Function TClasseData.retdatastr(DATA: TDateTime): string; var vData: TDateTime; begin Result:= DateTimeToStr(vData); end; function TClasseCompetencia.RetornaData: TDateTime; var m, a: integer; begin m:= StrToInt(Copy(FDtCompetencia, 01, 02)); a := StrToInt(Copy(FDtCompetencia, 04, 04)); result := StrToDate('31/' + IntToStr(m) + '/' + IntToStr(a)); end; CONHECIMENTOS EM OO Informao para soluo das questes abaixo: Classe definida para o questionrio: Ttempo= class(TComponent); Propriedades: Dia, Mes, Ano e Hora do tipo Integer.

18. Em que diretiva (Private, Protected, Public, Published) voc colocaria as propriedades da classe "Ttempo", considerando
que esta uma classe pai e que heranas poderiam ser necessrias? R.:

19. Declare o mtodo "create" da classe "Ttempo", permitindo que este possa ser reescrito em heranas futuras.
R.:

20. Declare o mtodo "create" descrito na questo acima para suas sub-classes:
R.:

21. Determine o que est certo ou errado, marcando no quadro correspondente: type Ttempo=class(TComponent); TData = class(TTempo) public DataStr: string; end; var Tempo: TTempo; Data: TData; begin

1.0c

Data Cempro Informtica.


Tempo:= Data; Data:= Tempo; end; [ [ ] Certo ] Certo [ [ ] Errado ] Errado

22. Considerando o cdigo abaixo, como ficaria escrito o mtodo "mes" da classe "Tdata" (Descreva seu contedo), fazendo
uso do mtodo da classe pai (reaproveitamento)? type Meses= array[1..12] of string = ['jan', 'fev', 'mar', abr', mai..]; Ttempo= class(TComponent) public function Mes(const Data: TDate): Integer; end; Tdata= class(Ttempo) public function Mes(const Data: TDate): string; end; R.:

23. A classe "Tdata" tem apenas as propriedades "Dia", "Mes", e "Ano" visveis. Publique-as em tempo de design. R.:

24. A partir de que classe se herda, na criao de componentes visuais? R.:

25. Defina "owner" e "parent". a. Owner a propriedade que controla o foco do componente e Parent o pai do componente b. Owner a propriedade que referencia o objeto proprietrio (pai) deste e Parent a propriedade que determina o componente visual de controle da origem deste. c. Owner a propriedade de controle de alocao de memria e Parent responsvel pela destruio do componente d. Owner a propriedade que controla o foco do componente e Parent controla a destruio do componente 26. Componentes: Qual a diferena entre um pacote de design-time e um de run-time? R.:

27. Descreva com suas palavras a funo da diretiva "protected" em uma classe. R.:

28. Qual a finalidade da diretiva "reintroduce". Cite um exemplo. R.:

29. Se houver a necessidade de, entre as classes "Ttempo" e "Tdata", criar a classe "TDoMeio", filho de "Tempo" e pai de "Tdata", explique os passos necessrios. R.:

30. Coloque em ordem de execuo, os seguintes eventos: Destroy, Activate, Show, Create e Close. R.:

31. Quais questes deste questionrio tratam encapsulamento? E quais os requisitos para que algo seja considerado encapsulado? R.:

1.0c

Data Cempro Informtica.


32. Uma classe que possua todos os mtodos "virtual" e "abstract", serve para? R.:

SQL 33. Determine qual das sentenas SQL abaixo est correta: a. Select codigo, nome from "cliente" group by codigo b. Select codigo, descricao, max(quantidade) from "produtos" c. insert into "estados" (codigo, descricao, sigla, cep) values (1, 'Rio Grande do Sul', 'RS') d. select uf.codigo as cdigo, uf.descricao, sum(cli.codigo) as clientes from "clientes" cli left join municipios uf on (cli.municipio_id = uf.codigo) group by uf.codigo, uf.descricao Crie os cdigos SQL pedidos, de acordo com a representao das tabelas abaixo: Tabela Clientes DESCRICAO CNPJ Fulano 123456789 1 Beltrano 325488799 6 Ciclano 979879797 7 Tabela Notas Fiscais NRNota CODCliente VALOR 1523 3 500,00 5464 9879 6566 6388 2 3 1 2 65,50 150,88 45,00 25,20

CODIGO 1 2 3

CODIGO 7 12 23 44 65

34. Escreva
R.:

o cdigo SQL necessrio para retornar qual o maior valor de Nota Fiscal existente na tabela de notas, pertencente ao cliente com CNPJ 3254887996.

35. Escreva o SQL que agrupe as Notas Fiscais por Clientes em ordem decrescente de valores.
R.:

36. D o SQL que retorne o produto cartesiano (combinao entre todos os registros de ambas as tabelas) entre a tabela de
clientes e NFs. R.: EXPRESSO PESSOAL 37. Descreva abaixo qual a sua opinio sobre o nvel de dificuldade da avaliao: R.:

38. Baseado na sua experincia e considerando esta avaliao, quais dificuldades voc imagina que enfrentaria nesta vaga?
R.:

1.0c

You might also like