Teste prático para processo seletivo de C#

6,942 views
Skip to first unread message

Rodrigo Nascimento

unread,
Jul 2, 2013, 11:38:10 AM7/2/13
to Grupo DotNetArchitects
Boa tarde pessoal,

Estamos inicando aqui na empresa um processo seletivo para desenvolvedor junior/pleno de C# e pensamos em criar um exame prático para ajudar a filtrar os candidatos.

O teste consiste em ler um arquivo (uma linha), ordenar uma sequencia de números e escrever os números ordenados em um outro arquivo.

O que tenho observador é que alguns desenvolvedores me parecem bons candidatos mas quando vão para a prova prática esbarram no fato de não estarem acostumados em trabalhar com arquivos.

Para não parecer injusto gostaria passar uma prova com três problemas práticos, então o candidado realizaria o que lhe parecer dominar melhor.

Gostaria de saber o que vocês utilizam para avaliar canditados e, se utilizam algum prova prática, quais problemas/questões são passados para os canditados?

Obrigado pela ajuda.

--
Rodrigo

João Bateloche

unread,
Jul 2, 2013, 11:48:50 AM7/2/13
to dotnetar...@googlegroups.com
Rodrigo, acho até importante dar ao candidato algo que ele não esteja habituado.

Eu apenas daria informações que ajudassem o entrevistado a "se virar", por exemplo indicar que existe a classe estática File e que os streams estão no namespace System.IO...

Afinal, um programador Jr não precisa conhecer todo o framework, mas tem que saber andar com alguns pedaços de informação.



--
Você recebeu esta mensagem porque faz parte do grupo .Net Architects hospedado no Google Groups.
Para postar envie uma mensagem para dotnetar...@googlegroups.com
Para sair do grupo envie uma mensagem para dotnetarchitec...@googlegroups.com
Para mais opções visite o grupo em http://groups.google.com/group/dotnetarchitects?hl=pt-br
---
Você está recebendo esta mensagem porque se inscreveu no grupo ".Net Architects" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para dotnetarchitec...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

daniel carli

unread,
Jul 2, 2013, 11:51:16 AM7/2/13
to dotnetar...@googlegroups.com
Concordo com o João!

Outra opção seria tirar a parte de ler o arquivo e pedir pra ele criar esse dados em memória e reordenar. Acho que a questão de ler o arquivo e criar outro não é a mais importante para testar um candidato, e sim, o modo que ele resolve o problema.
--
Daniel Carli

Bemjamin Quintino

unread,
Jul 2, 2013, 12:00:28 PM7/2/13
to dotnetar...@googlegroups.com
Faz um teste bom de logica. Framework a gente procura no google.

--
Você recebeu esta mensagem porque faz parte do grupo .Net Architects hospedado no Google Groups.
Para postar envie uma mensagem para dotnetar...@googlegroups.com
Para sair do grupo envie uma mensagem para dotnetarchitec...@googlegroups.com
Para mais opções visite o grupo em http://groups.google.com/group/dotnetarchitects?hl=pt-br
---
Você está recebendo esta mensagem porque se inscreveu no grupo ".Net Architects" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para dotnetarchitec...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 



--
Atenciosamente,

Bemjamin Quintino

Acaz Souza Pereira

unread,
Jul 2, 2013, 12:10:00 PM7/2/13
to .Net Architects
Acho que o que válida um candidato se ele passa ou não no teste, não é se ele conseguiu ou não realizar a tarefa, mas a criatividade que ele teve e assim os caminhos pensados pra tentar resolver a tarefa.

Concordo com o João também, um programador tem que saber estudar algo e conseguir usar tal algo.

As 2 tarefas da empresa onde estou atualmente me foi pedido pra melhorar um "vazamento de memória" em um programa em C# e conseguir melhorar a abstração de um programa, dado um problema do tipo: "Cada cliente tem uma configuração diferente, que abstração você faria pra que cada cliente tenha suas configurações sem precisar reescrever o programa para cada cliente e que também não precise compilar o programa novamente pra que esse cliente obtenha sua configuração."
[Acaz Souza Pereira]

MSN/GTalk: acaz...@gmail.com
Skype: acazsouza
Cel:  (31) 8706-4103

twitter.com/acazsouza

acazsouza.com.br

Renato Cantarino

unread,
Jul 2, 2013, 12:27:16 PM7/2/13
to dotnetar...@googlegroups.com
lógica é mais importante do que frameworks!

Att,
Renato Cantarino

Marcelo Acioli Bastos

unread,
Jul 2, 2013, 12:35:54 PM7/2/13
to dotnetarchitects
Caras,

Concordo com o Renato...a lógica é a base para tudo. Assim sendo um teste de lógica seria bem mais interessante. A opção do Acaz também é muito interessante, mas gosto mais de teste de lógica.

Marcelo
Marcelo Bastos
Analista de sistemas
85-9997-3280
http://www.marceloaccioly.blogspot.com/

Renato Cantarino

unread,
Jul 2, 2013, 12:37:33 PM7/2/13
to dotnetar...@googlegroups.com
Isso pro Junior.
Ja pro pleno... Arquitetura, Framework, logica, banco de dados, segurança....

Winston Pacheco Junior

unread,
Jul 2, 2013, 12:44:33 PM7/2/13
to dotnetar...@googlegroups.com
Cara, tem livros escritos sobre isso! Nada que tenha livros escritos sobre deve ser tão simples de se explicar, eu conheço ao menos três:

- Programming Interview Exposed;
- Tech Job Hunt Handbook;
- Cracking the Code Interview.

Procura eles aí, vai que ajuda também.

Marcelo Acioli Bastos

unread,
Jul 2, 2013, 12:44:50 PM7/2/13
to dotnetarchitects
No caso do Pleno voce pode expor uma situação e pedir que ele proponha uma solução utilizando tudo isso...dai ele tem que se virar e implementar...


Em 2 de julho de 2013 13:37, Renato Cantarino <renato.c...@gmail.com> escreveu:

André Körbes

unread,
Jul 2, 2013, 12:44:56 PM7/2/13
to dotnetar...@googlegroups.com
Pra selecionar estagiário aqui na empresa fiz uma prova prática com duas partes:
- Escrever uma tabuada de um número X
- Ler um arquivo com números, somar e mostrar o total

Tirei a ideia de um post onde um ex-funcionário da Amazon falava como era o processo, ainda na entrevista por telefone.


André


Em 2 de julho de 2013 13:37, Renato Cantarino <renato.c...@gmail.com> escreveu:

David Anderson Lino de Sousa

unread,
Jul 2, 2013, 12:51:07 PM7/2/13
to dotnetar...@googlegroups.com
Um dos mais interessantes que já participei e que acho que dá pra avaliar muita coisa em pouco tempo.

Separe 1h pra a entrevista
Escolha um problema aqui: http://dojopuzzles.com/
Peça pra ele compartilhar a tela e responder o problema pra você no ambiente dele com o q ele quiser usar.



Att,
David 




2013/7/2 André Körbes <andre....@gmail.com>

edmilson hora

unread,
Jul 2, 2013, 1:04:05 PM7/2/13
to dotnetar...@googlegroups.com
Minha opinião, é que os testes sejam mais próximos do dia-a-dia do que o cara vai trabalhar, se ele vai, trabalhar com projetos que utilizam bancos de dados, manda o cara montar um CRUD, com umas 2 ou 3 entidades, aplicando  conceitos de OOP,  ORM  ou mesmo ADO.NET, dependendo do que a empresa utiliza mais,  a mesma coisa é para Bancos de Dados, se a empresa  utiliza mais Oracle o cara tem que mostrar que conheçe o DB que a empresa usa mais.

Esse negócio da lógica é furada,  o cara pode ser  muito bom em raciocinio logico, dai você manda ele fazer um cadastro simples ele leva 3 dias para te entregar, pois vai ter que  procurar no google com é que se faz.



De: Rodrigo Nascimento <rodri...@gmail.com>
Para: Grupo DotNetArchitects <dotnetar...@googlegroups.com>
Enviadas: Terça-feira, 2 de Julho de 2013 12:38
Assunto: [dotnetarchitects] Teste prático para processo seletivo de C#

Mário Meyrelles

unread,
Jul 2, 2013, 1:05:12 PM7/2/13
to dotnetar...@googlegroups.com
Manda ele fazer um modelinho de dados com vendas, clientes e produtos. Faz o produto guardar uma imagem. Coloca um fluxo de aprovação de pedido. Deixa ele bolar a solução como desejar. Tire todas as restrições de tecnologia. Dê o tempo que ele quiser. Ele vai te apresentar o melhor possível dele caso ele tenha paciência de ir até o fim. Deixe ele fazer em casa. Você conseguirá avaliar várias coisas, sem a restrição de tempo e nervosismo de prova.

Depois que ele trouxer a prova pronta, aí você vai complicando o problema na entrevista. Por exemplo, manda ele explicar como faria para colocar o projeto pra rodar em várias plataformas, como ele faria uma trilha de auditoria, como seria a criptografia de dados críticos, como ele faria pra suportar 1000 usuários por segundo, manda explicar os porquês das decisões de projeto e por aí vai. 






2013/7/2 Bemjamin Quintino <ben.qu...@gmail.com>

Eric Lemes

unread,
Jul 2, 2013, 1:07:39 PM7/2/13
to dotnetar...@googlegroups.com

Durante o processo que eu montei, fazia em duas etapas. Na primeira, uma prova com duas questões de lógica e duas queries. No meu cenário era muito importante o conhecimento em sql.

Uma pergunta resolvia com loop dentro de loop, outra com recursividade para o topo. As queries eram uma star e uma com agregação.

Eu cobrava 50% do teste. Nao avaliava sintaxe e era bem tolerante com erros bobos.

Mesmo assim, mais ou menos 1/3 dos candidatos passavam. Depois dessa fase, fazia uma entrevista pra discutir  conceitos de design, oop, processo de desenvolvimento, maturidade com build, controle de versão, etc.

No processo que abrimos, foram 60 candidatos pra achar 2 plenos. Isso foi a uns 4 anis atrás.

Abraços

Eric

edmilson hora

unread,
Jul 2, 2013, 1:14:28 PM7/2/13
to dotnetar...@googlegroups.com
@Mario,  esse seu  teste é para Jr /Pleno  ou para Arquiteto/Engenheiro?
Muitos vão me criticar, mas a realidade do mercado pelo menos aqui em SP não é essa.
Um cara para fezer tudo isso que vc esta sugerindo é pelo menos Senior pela média de mercado.



De: Mário Meyrelles <mariome...@gmail.com>
Para: dotnetar...@googlegroups.com
Enviadas: Terça-feira, 2 de Julho de 2013 14:05
Assunto: Re: [dotnetarchitects] Teste prático para processo seletivo de C#

Ricardson Albuquerque

unread,
Jul 2, 2013, 1:19:42 PM7/2/13
to dotnetar...@googlegroups.com
Acho interessante a pessoa escolher ambiente/ferramenta para resolver uma questão, porém, o fato de ter alguém de olho durante a implementação pode ser algo que trave a pessoa.

Como já dito, preparar uma prova que selecione um excelente profissional é um trabalho muito difícil.
 
Ninguém vai contratar um pleno que não conhece a linguagem/framework que a empresa trabalha, para estagiário, uma prova somente de lógica funciona, nos outros casos, acho que ter uma app demo com alguns bugs conhecidos e a prova prática seria corrigir estes bugs que estão listados ( como na vida real, cliente reporta bugs e o desenvolvedor corrige ) a diferença, é que o candidato não tem intimidade com o código, e isto é um ponto positivo para a avaliação, ele pegar algo que nunca viu na vida, conseguir identificar o ponto e corrigir. Quem passar, já vai produzir no primeiro dia de trabalho.
 
Pode-se usar variantes, além de bugs, uma funcionalidade nova, etc...
 
Acredito que o pleno/sênior vai se empolgar bem mais em botar a mão na massa do que ficar queimando a cuca com algorítimos que na maioria das vezes, somente usou na graduação.


2013/7/2 David Anderson Lino de Sousa <david.and...@gmail.com>



--
Ricardson Albuquerque

edmilson hora

unread,
Jul 2, 2013, 1:24:30 PM7/2/13
to dotnetar...@googlegroups.com
Concordo com essa abordagem.



De: Ricardson Albuquerque <greadc...@gmail.com>
Para: dotnetar...@googlegroups.com
Enviadas: Terça-feira, 2 de Julho de 2013 14:19

Assunto: Re: [dotnetarchitects] Teste prático para processo seletivo de C#

Mário Meyrelles

unread,
Jul 2, 2013, 1:23:57 PM7/2/13
to dotnetar...@googlegroups.com
Então, na hora que fiz o e-mail eu tava respondendo ao amigo que começou a thread. Acho serve até pleno essa prova que propus.

Mas pra arquiteto acho que dá pra usar a mesma filosofia. Mas precisaria aumentar o nível do teste e aí, como disseram acima, depende muito do produto/projeto que o cara vai trabalhar. No caso padrão, que é fazer telinha pra sistema lixo de RH, Financeiro e etc, não precisaria, ao meu modo de ver, de tanto conhecimento no T-SQL. 

O que o edmilson falou tá bem correto - tem que avaliar o cara de acordo com o que ele vai fazer. Não adianta contratar um senior em web se ele vai fazer só manutenção em Windows Forms.

E convenhamos, ao entrevistar pessoalmente um candidato, com o tempo, você consegue saber quem é quem só pela conversa. Pra contratar um arquiteto ou cara top também tem a questão da experiência, dos projetos, do nome do cara na internet e comunidades e blogs. Quando vc vai entrevistar *o cara*, geralmente vc já sabe quem ele é antes de começar a entrevista.


2013/7/2 edmilson hora <edmils...@yahoo.com.br>

Marcelo Acioli Bastos

unread,
Jul 2, 2013, 1:24:56 PM7/2/13
to dotnetarchitects
Bom, já vimos que diversas são as opiniões e situações para se aplicar. Para um cara Jr. Defendo a do Renato, uma prova de lógica ja da pra avaliar...afinal um Jr. ele vai ser feito na empresa ou não, mas quando vc contrata um cara verde é pra voce preparar e fazer o cara.

No caso do Pleno é que pega, pois as coisas são mais afundo e concordo que algumas o nivel ta muito pesado, mas pra um cara pleno a gente tem que apertar mesmo...pois lá na frente se não tivermos produtividade vai complicar.

Marcelo

Tomamais

unread,
Jul 2, 2013, 1:50:21 PM7/2/13
to dotnetar...@googlegroups.com
Faça um teste ou um processo de entrevista que foque em encontrar um bom programador. Se ele for bom, o resto dos problemas praticamente se resolve. Tem funcionado com muita gente que conheço.

Claro, se ele souber C#, melhor, mas não adianta ele saber C# e ser um programador ruim.

Abraços
Tomás

Renato Cantarino

unread,
Jul 2, 2013, 2:12:25 PM7/2/13
to dotnetar...@googlegroups.com
eu aprovo a ideia do mario... é bem hardCore. kkk
Ou sabe ou vaza brother!


--
Você recebeu esta mensagem porque faz parte do grupo .Net Architects hospedado no Google Groups.
Para postar envie uma mensagem para dotnetar...@googlegroups.com
Para sair do grupo envie uma mensagem para dotnetarchitec...@googlegroups.com
Para mais opções visite o grupo em http://groups.google.com/group/dotnetarchitects?hl=pt-br
---
Você está recebendo esta mensagem porque se inscreveu no grupo ".Net Architects" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para dotnetarchitec...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 



--

Att,
Renato Cantarino

Marcelo Acioli Bastos

unread,
Jul 2, 2013, 2:24:46 PM7/2/13
to dotnetarchitects
pois eh, não da pra ser mais ou menos....Pleno é perto de senior, apesar do caminho longo.....mas ou vai ou racha. Não da pra voce entregar uma tarefa na mão de um cara que vai arregar....

Mário Meyrelles

unread,
Jul 2, 2013, 2:51:12 PM7/2/13
to dotnetar...@googlegroups.com
E tem outra vantagem: muitas entrevistas pedem um monte de coisas, mas nunca se mostra o código real do projeto em que o candidato trabalhará. Acredito que se os candidatos tivessem contato com o projeto antes de entrar, muitas contratações não aconteceriam. Mas as que realmente acontecessem durariam muito mais rs


2013/7/2 Marcelo Acioli Bastos <bast...@gmail.com>

Diogo

unread,
Jul 2, 2013, 2:55:43 PM7/2/13
to dotnetar...@googlegroups.com
Concordo com o Mário, já vi algumas vezes a empresa não passar no período de experiencia do profissional rsss


2013/7/2 Mário Meyrelles <mariome...@gmail.com>

Mário Meyrelles

unread,
Jul 2, 2013, 2:57:42 PM7/2/13
to dotnetar...@googlegroups.com
Tenho um enorme vontade de fazer uma blacklist de empresas, projetos e profissionais rs. Isso ajudaria a todos do mercado rs


2013/7/2 Diogo <diogojo...@gmail.com>

Marcelo Acioli Bastos

unread,
Jul 2, 2013, 3:01:05 PM7/2/13
to dotnetarchitects
Mário, é complicado se fazer uma blacklist, mas a gente sabe que algumas empresas fazem... kkkk mas é uma forma de se proteger rs.

Diogo

unread,
Jul 2, 2013, 3:01:34 PM7/2/13
to dotnetar...@googlegroups.com
Se tiver uma forma de criar esta lista sem ser processado por todo mundo, eu apoio e muito a idéia.


2013/7/2 Mário Meyrelles <mariome...@gmail.com>

Marcelo Acioli Bastos

unread,
Jul 2, 2013, 3:02:49 PM7/2/13
to dotnetarchitects
heheheheh sem ser processado é boa....bem, é bom ver um excelente advogado.....

Rafael Marques

unread,
Jul 2, 2013, 3:04:11 PM7/2/13
to dotnetar...@googlegroups.com
minha humilde opinião sobre uma blacklist

melhor do que fazer uma blacklist de profissionais ruins é tentar ajuda-los a melhorar
melhor do que fazer uma blacklist de empresas ruins é exaltar as boas




2013/7/2 Diogo <diogojo...@gmail.com>

daniel carli

unread,
Jul 2, 2013, 3:13:26 PM7/2/13
to dotnetar...@googlegroups.com
e outra, uma empresa pode ser ruim na percepção de uma pessoa e boa na de outra pessoa. Já reclamei de empresas onde as pessoas amavam trabalhar.
Daniel Carli

Guilherme Medeiros

unread,
Jul 2, 2013, 3:12:44 PM7/2/13
to dotnetar...@googlegroups.com
hospeda na ~deep web~

edmilson hora

unread,
Jul 2, 2013, 3:25:08 PM7/2/13
to dotnetar...@googlegroups.com
Penso que tanto nós, que sómos técnicos, quanto as empresas que entregam à recrutadores que não tem nem noção de que tipo de profissonal esta recrutando, deveriamos ter alguns parametros para servir de guia, pois no geral é muito subjetivo.

É natural encontrarmos aqueles anuncios de vagas que pedem que o candidato tenha uma montanha de conhecimentos em linguagens, plataformas, bancos, frameworks, metodologias, etc, etc, para vaga de junior.

A classificação por níveis é: Junior, Pleno e Senior qual range de conhecimentos cada classificação deveria ter,  e deve-se levar em consideração a remuneração de cada nível.

Em minha humilde reflexão:

Estabelecidas algumas linhas de trabalho, como: Plataforma, Liguagem, Ferramentas, Metotodologia, etc.

Junior seria o profissional, com dóminio mínimo do estabelecido nas linhas de trabalho, esperaria-se que esse
cara tivesse aproximadamente 20 % de conhecimento em cada um dos itens nas linhas de trabalho.

Plano seria o profissional, com dominio médio do estabelecido nas linhas de trabalho, esperaria-se que esse
cara tivesse aproximadamente 50 % de conhecimento em cada um dos itens nas linhas de trabalho.

Senior seria o profissional, com dominio acima da média  ou algo me torno de 80% de conhecimnetos.

em outros termos:  Junior  passa 80% do tempo aprendendo ou vendo coisas que ele ainda não domina.
                               Pleno passa 50% do tempo aprendendo ou vendo coisas que ele ainda não domina.
                               Senior passa 20 % do tempo aperfeiçoando conhecimento e vendo novidades.

Bom, isso é o que eu penso!

Edmilson

Rafael Marques

unread,
Jul 2, 2013, 3:31:41 PM7/2/13
to dotnetar...@googlegroups.com
eu acho muito relativo esse esquema de jr, pl, e sr.

Pra mim, a ideia é mais ou menos:

Precisa de alguém para ajudar a equipe, aprender com o tempo, etc? Contrata um Jr
Precisa de alguém para resolver os problemas? Contrate um Sr.
O pleno que fica mais dificil de encaixar na minha opinião... 

E essa definição de jr, pl e sr não tem absolutamente nada a ver com tempo de experiência na minha opinião...
Assim como eu, acho que muita gente já viu Jr colaborando muito mais que Sr em projetos, Sr's que não passam de bons Jr com bastante tempo de experiência, e por ai vai...


2013/7/2 edmilson hora <edmils...@yahoo.com.br>



--
Reply all
Reply to author
Forward
0 new messages