Modelo de prova para seleção de programador

54 respostas
I

Pessoal tão precisando de gente aqui na empresa e eu vou fazer um provinha pra testar os conhecimentos dos candidatos.
Gostaria de saber se alguém tem alguma prova com questões sobre J2EE, para que eu posso pegar algumas questões e desenvolver uma para o perfil que agente tá precisando.

Valeu!

54 Respostas

M

Meu faz que nem faz a IBM, dá um test psicotécnico e pede pra o canditado fazer uma redação. O resto não passa de investimento e afinidade a tecnologia.

A

Caro amigo selecionador, hoje houve uma “dicussao” aqui neste forum sobre candidatos e selecionadores ( gerentes ).

Acredito poder ajudar na sua empreitada.

O assunto é "Sacanagem nas entrevistas "

Segue o link

http://www.guj.com.br/posts/list/121106.java#655399

Marco Aurélio

P

Uma prova não significa nada.

Veja como ele reage sob pressão: coloque toda a equipe a fazer perguntas que vcs achem pertinentes e peça pra ele falar de si.

C

peczenyj:
Uma prova não significa nada.

Veja como ele reage sob pressão: coloque toda a equipe a fazer perguntas que vcs achem pertinentes e peça pra ele falar de si.

rsrsrs…caramba, essa situação é embaçado msm…

P

É mas não mata. Perfeito para descobrir se o cara vai surtar no primeiro probleminha que ele encontrar pela frente.

C

é verdade…concordo com vc…

J

Discordo que seja pela pressão a melhor forma de avaliar um funcionário. Desculpe, mas acho que a coisa anda ficando muito distorcida por aí.

Desenvolvedor lida com criatividade e conhecimento específico da linguagem. Sob Pressão, os dois estão em baixa. As vezes perde-se um ótimo profissional por pensar dessa forma.

D

juliobrrj:
Discordo que seja pela pressão a melhor forma de avaliar um funcionário. Desculpe, mas acho que a coisa anda ficando muito distorcida por aí.

Desenvolvedor lida com criatividade e conhecimento específico da linguagem. Sob Pressão, os dois estão em baixa. As vezes perde-se um ótimo profissional por pensar dessa forma.

Exato , até pq vc tem que medir o cara pelo que ele deve suportar diariamente, ou seja, a rotina normal do cara, e não por situações esporádicas como pressão em eventuais momentos.

Se uma empresa tem um ambiente de pressão todos os dias, eu é que vou efetuar a recusa.

F

Isso testa o conhecimento também.

O que ele esta dizendo é para perceber certos aspectos de comportamento do candidato… já fizeram isso comigo… fizeram varias perguntas seguidas e relacionadas, antes que eu responder uma pergunta, outro, já fazia uma nova… no final o entrevistador me achou um cara calmo… mas eu não tinha conhecimento suficiente para preencher a vaga. Entre esses métodos: atacar diretamente o currículo do candidato e dizer alguma besteira para ver se o candidato corrigirá de forma adequada o entrevistador.

Mas acho que só passa ai, quem já sacou esse tipo de abordagem, pois qualquer ficará intimidado. Durante essa entrevista, eu esqueci uma pancada de coisas; tive que dizer que não sabia explicar. :lol:

Mas acho que o método não é ruim, porque a equipe sofre quando encontra um membro que quer ser o sabichão e perde as estribeiras em uma discussão; do contrário: se o cara passar, terá todas as condições de evoluir com/a equipe.

Isso é diferente das sacanagens que citei, pois ali, estou abordando o feedback falso do cliente para o RH.

Mas uma coisa: o entrevistado pode ficar em evidência quanto a equipe, se a equipe não concordar com alguma coisa, não quer dizer que ele esteja errado.

:roll: :lol:

J

Isso testa o conhecimento também.

O que ele esta dizendo é para perceber certos aspectos de comportamento do candidato… já fizeram isso comigo… fizeram varias perguntas seguidas e relacionadas, antes que eu responde-se uma pergunta, outro, já fazia uma nova… no final o entrevistador me achou um cara calmo… mas eu não tinha conhecimento suficiente para preecher a vaga… entre esses métodos, atacar diretamente o currículo do candidato… e dizer alguma besteira para ver se o candidato vai corrigir de forma adequada o entrevistador…

Mas acho que só passa ai, quem já sacou esse tipo de abordagem… pois qualquer ficará intimidado… eu esqueci uma pancada de coisas durante essa entrevista… ai tive que dizer que não sabia explicar… :lol:

Mas acho que o método não é ruim, porque a equipe sofre quando encontra um membro que quer ser o sabichão e perde as estribeiras em uma discussão… do contrário… se o cara passar ai, terá todas as condições de evoluir com/a equipe…

Isso é diferente das sacanagens que citei, pois ali, estou abordando o feedback falso do cliente para o RH.

Discordo. Não acho que nossa profissão seja algo em que o foco é o quanto você está robotizado, e sim no que você é capaz de fazer, e de forma otimizada. É por causa desse raciocínio que a maioria dos projetos ficam uma droga. As vezes por causa de 2, 3 meses, se faz uma bacalhoada.

Nossa profissão é raciocínio+conhecimento+criatividade, e não produção em escala.

F

Ninguem disse que isso não é altamente estimado.

Acontece, que todos pensam que têm: conhecimento, criatividade, raciocínio. Mas quando você vira para o colega e diz, não faz assim não, ele surta e perde todos esses atributos e ai o projeto, vai pro saco… um bom profissional, deve ter também um orelhão. Igual ao meu hihihi… só não me jogue água que o bicho pega… In my humble opinion
:lol: :roll:

F

Então essa questão de prova é totalmente relativa e as vezes furada OBS: Isso não eh uma regra.

Aqui na empresa já tivemos a metodologia de prova, contudo em muitas vezes as provas filtravam muito a galera, porem
quando este pessoal era contrato viamos que eles apenas tinham estudado para uma prova ou seja decorado, assim na
hora de pensar na solução de problemas a maioria não aguentava o trampo. Claro isso não é uma regra apenas um observação que obtivemos apartir de medias.

Até que um dia um dos diretores resolveu dar chances ao pessoal que não iam bem nas provas, claro após uma boa filtragem dos candidatos.
Observamos que muitos que iam mal nas provas estavam se destacando entre os demais.
Então chegamos a conclusão que a metodologia de prova em muitos casos estam furando, assim abolimos provas de seleção.

J

fabiel:
Então essa questão de prova é totalmente relativa e as vezes furada OBS: Isso não eh uma regra.

Aqui na empresa já tivemos a metodologia de prova, contudo em muitas vezes as provas filtravam muito a galera, porem
quando este pessoal era contrato viamos que eles apenas tinham estudado para uma prova ou seja decorado, assim na
hora de pensar na solução de problemas a maioria não aguentava o trampo. Claro isso não é uma regra apenas um observação que obtivemos apartir de medias.

Até que um dia um dos diretores resolveu dar chances ao pessoal que não iam bem nas provas, claro após uma boa filtragem dos candidatos.
Observamos que muitos que iam mal nas provas estavam se destacando entre os demais.
Então chegamos a conclusão que a metodologia de prova em muitos casos estam furando, assim abolimos provas de seleção.

Pois é, também tem esse detalhe. Eu mesmo já passei por situação parecida. Não sou expert, mas me viro muito bem, participei de um processo seletivo junto com um amigo que estava ainda engatinhando na linguagem. Ele passou, e eu fui reprovado. Detalhe: Eu que ensinei a maioria das coisas que ele sabe.

A verdade é que é preciso muito tato na hora de avaliar uma pessoa. Além do conhecimento específico, quem está avaliando precisa ter muita empatia para poder tentar analisar o potencial de uso do profissional. O problema é que a maioria dos contratantes não tem ninguém preparado para isso. :?

J

F?io Henrique:
…Mas quando você vira para o colega e diz, não faz assim não, ele surta e perde todos esses atributos e ai o projeto, vai pro saco… um bom profissional, deve ter também um orelhão… In my humble opinion
:lol: :roll:

Concordo, mas isso agradeça ao terror psicológico que o mercado coloca na cabeça das pessoas. Todos tem que ser super profissionais. Escutar um colega do lado dizer como você deve fazer algo, alfineta o pavor de ser considerado “menos” e seu colega ser exaltado por isso, mesmo que ninguém escute…

V

Aqui aplicamos prova + entrevista.

Porém, fazemos uma prova beeem diferente da encontrada na certificação. Ela é dividida em três tipos de pergunta, em ordem aleatória:
1. Perguntas que testam conhecimento da sintaxe, nos principais elementos da sintaxe que usamos: "Crie um tipo enumerado, para representar as operações de SOMA, SUBTRAÇÃO E DIVISÃO, e faça um método/função aplicar() que, dado um enum, realize a operação".

2. Perguntas conceituais, relacionados ao projeto de classes, ou a problemas comuns de programação:
"Qual é o erro do código abaixo? Podemos dizer que ele viola o encapsulamento?"

public class ClasseComMatriz {
    private int[] matriz; 

    public ClasseComMatriz(int[] matriz) {
         this.matriz = matriz;
    }

    public int[] getMatriz() {
         return matriz;
}

3. Perguntas de conhecimento específico que nos interessam: collections, threads e sockets, por exemplo.

O que não tem na prova: Pegadinhas de sintaxe, análise de códigos rebuscados (se tiver análise de código, seria de um que escreveríamos na prática), etc. A idéia é que a prova não faça o candidato se sentir um palhaço. Aliás, alguns que vão mal até elogiam o conteúdo da prova e pedem dicas de onde se pode estudar o seu conteúdo!

A correção também não se resume em certo/errado. Analisamos o código produzido, as observações do candidato e os cuidados que eles tomam na prova. Por exemplo, há candidatos que validam a entrada lançando exceções, outros mostram claramente que não sabem qual collection usar em cada situação (embora as vezes gerem um código funcional, mas pouco eficiente).

Na última prova, também deixamos a documentação de uma classe mais "exótica" e pedimos para o candidato fazer algo com ela. Só um conseguiu responder a questão e ganhou pontos na entrevista ao dizer que também não conhecia a classe, só soube ler o javadoc e o trail da Sun.

A prova faz a filtragem "básica". É impressionante o número de pessoas que simplesmente abandonam a prova, ou erram todas as questões, inclusive as fáceis, ou que mostram desconhecer a sintaxe do Java 5+.

Depois disso, fazemos uma entrevista com os mais bem colocados para ver o perfil da pessoa, sociabilidade, interesses, planos, etc.

O processo tem funcionado muito bem, até hoje. Curiosamente, profissionais certificados tem ido tão mal quanto os não certificados. Eles dificilmente erram as questões de sintaxe, mas não raro produzem códigos tão rebuscados quanto o das provas que eles estudaram tanto para passar. Não temos um espaço amostral grande o suficiente para dizer que isso é uma regra, mas já é um indício que ter um certificado pode não ser garantia de sucesso na contratação, caso estejam sabendo alguém que saiba programar.

I

Eu pareço aquelas crianças que abrem o tópico e depois vão embora.

Bom, sobre a prova eu acho certo, até porque eu não vou colocar perguntas dificeis e escorregadias, o objetivo dessa prova seria separar aos programadores dos pedreiros. Queria fazer uma prova com alguma coisa de padrao de projeto e ALGORITMO, pq tem muita gente que sabe de varias coisas de varias teorias e de varios planetas no sistema solar mas não consegue fazer um algoritmo que ache o fatorial de um número.

Por exemplo, quando eu entrei aqui tinha um cara que cuidava de um projeto de um grande cliente. Nesse projeto tinha uma página com log de acessos, para tirar o relatório de log de acessos demorava mais ou menos 20 min!!
Tava tão mal feito que o site ficava lento quando o sql estava sendo executado, o banco sentava e demorava pra entregar outras queries.
O cara foi demitido e eu refiz o log de acessos. Hoje demora uns 5 segundos.

Talvez eu deixe a prova pra lá e peça pro cara escreve uns dois algoritmos no quadro, com a galera olhando pra ele. Até pq estou sem tempo de digitá-la.

flw!

J

Marcio Duran:

Meu faz que nem faz a IBM, dá um test psicotécnico e pede pra o canditado fazer uma redação. O resto não passa de investimento e afinidade a tecnologia.

Concordo com o duran. O que precisa ser testado é a capacidade do profissional de resolver o que lhe é imposto. Se ele possui bom raciocínio.

M

O conceito de desenvolvimento é o que é entendido do negócio para a implementação , e não ao contrário, poderia lhe questionar uma prova aplicando algo tão simples e um ambiente extremamente desconhecido, e isso não me iria somar em nada.

V

Marcio Duran:
O conceito de desenvolvimento é o que é entendido do negócio para a implementação , e não ao contrário, poderia lhe questionar uma prova aplicando algo tão simples e um ambiente extremamente desconhecido, e isso não me iria somar em nada.

Ok, mas do que adianta você contratar um programador se nem a sintaxe básica da linguagem ele sabe?

V

O conceito de desenvolvimento é o que é entendido do negócio para a implementação

Aliás, o que o meu comentário tem a ver com o conceito de desenvolvimento???

Seria dificil numa prova, ou mesmo numa entrevista, dizer se a pessoa consegue “entender regras de negócio”. Isso, infelizmente, você só verá com o tempo. A prova e a entrevista, embora imperfeitas, podem ajudar a selecionar baseados no que pelo menos podemos mensurar de maneira mais objetiva.

Mas, desenvolver é, no final das contas, transformar essas regras de negócio em um programa de computador. Preferencialmente, num que possa ser mantido depois, por pessoas diferentes. Por isso digo que, no final das contas, o cara tem que saber sentar e escrever algumas linhas de código. E nisso, a prova realmente ajuda a selecionar.

Aqui onde trabalho, nosso código também é muito focado em implementação, por isso talvez esse modelo funcione tão bem.
Faz parte do perfil de aplicações que temos.

J

ViniGodoy:
Marcio Duran:
O conceito de desenvolvimento é o que é entendido do negócio para a implementação , e não ao contrário, poderia lhe questionar uma prova aplicando algo tão simples e um ambiente extremamente desconhecido, e isso não me iria somar em nada.

Ok, mas do que adianta você contratar um programador se nem a sintaxe básica da linguagem ele sabe?

]

Você aplica um problema, e pede para resolvê-lo com a tecnologia que sua empresa emprega ae(No caso java, não sei). Aqui aplicamos problemas de análise de imagens digitais, e deixamos os candidatos resolverem em qualquer linguagem que utilizamos em nossos projetos(c/c++, java ou pascal). Se o candidato resolve, ele tem gabarito para trabalhar.

T

peczenyj:
Uma prova não significa nada.

Veja como ele reage sob pressão: coloque toda a equipe a fazer perguntas que vcs achem pertinentes e peça pra ele falar de si.

Steve Jobs style!

M
ViniGodoy:
Aqui aplicamos prova + entrevista.

Porém, fazemos uma prova beeem diferente da encontrada na certificação. Ela é dividida em três tipos de pergunta, em ordem aleatória:
1. Perguntas que testam conhecimento da sintaxe, nos principais elementos da sintaxe que usamos: "Crie um tipo enumerado, para representar as operações de SOMA, SUBTRAÇÃO E DIVISÃO, e faça um método/função aplicar() que, dado um enum, realize a operação".

2. Perguntas conceituais, relacionados ao projeto de classes, ou a problemas comuns de programação:
"Qual é o erro do código abaixo? Podemos dizer que ele viola o encapsulamento?"

public class ClasseComMatriz {
    private int[] matriz; 

    public ClasseComMatriz(int[] matriz) {
         this.matriz = matriz;
    }

    public int[] getMatriz() {
         return matriz;
}

3. Perguntas de conhecimento específico que nos interessam: collections, threads e sockets, por exemplo.

O que não tem na prova: Pegadinhas de sintaxe, análise de códigos rebuscados (se tiver análise de código, seria de um que escreveríamos na prática), etc. A idéia é que a prova não faça o candidato se sentir um palhaço. Aliás, alguns que vão mal até elogiam o conteúdo da prova e pedem dicas de onde se pode estudar o seu conteúdo!

A correção também não se resume em certo/errado. Analisamos o código produzido, as observações do candidato e os cuidados que eles tomam na prova. Por exemplo, há candidatos que validam a entrada lançando exceções, outros mostram claramente que não sabem qual collection usar em cada situação (embora as vezes gerem um código funcional, mas pouco eficiente).

Na última prova, também deixamos a documentação de uma classe mais "exótica" e pedimos para o candidato fazer algo com ela. Só um conseguiu responder a questão e ganhou pontos na entrevista ao dizer que também não conhecia a classe, só soube ler o javadoc e o trail da Sun.

A prova faz a filtragem "básica". É impressionante o número de pessoas que simplesmente abandonam a prova, ou erram todas as questões, inclusive as fáceis, ou que mostram desconhecer a sintaxe do Java 5+.

Depois disso, fazemos uma entrevista com os mais bem colocados para ver o perfil da pessoa, sociabilidade, interesses, planos, etc.

O processo tem funcionado muito bem, até hoje. Curiosamente, profissionais certificados tem ido tão mal quanto os não certificados. Eles dificilmente erram as questões de sintaxe, mas não raro produzem códigos tão rebuscados quanto o das provas que eles estudaram tanto para passar. Não temos um espaço amostral grande o suficiente para dizer que isso é uma regra, mas já é um indício que ter um certificado pode não ser garantia de sucesso na contratação, caso estejam sabendo alguém que saiba programar.

Só por curiosidade..

A 1)
public enum Operador{
ADICAO{
public double aplicar(double fator1, double fator2){
return fator1 + fator2;
}
},SUBTRACAO{
public double aplicar(double fator1, double fator2){
return fator1 - fator2;
}
},DIVISAO{
public double aplicar(double fator1, double fator2){
return fator1 / fator2;
}
}

public abstract double aplicar(double fator1, double fator2);
public double aplica(Operador operador, double fator1, fator2){
return operador.aplicar(fator1, fator2);
}
}
Pelo que entendi da pergunta seria isso.

2)
Sim.. pois ao guardar a referencia a matriz ao inves de copiar seu valor para o atributo, qualquer alteração na matriz original modificara também a matriz na classe.

Passei perto?

B

E perguntaria algo do tipo:

Estamos montando com sets e gets vários objetos de tipo Pessoa ao mesmo tempo que os adicionamos a uma lista, porém todos as pessoas dessa lista acabam sendo a mesma pessoa do último adicionado. O que pode estar acontecendo?

[size=7]Dica: É um problema de mutabilidade.[/size]

V

Eu acho essencial testar o conhecimento do candidato. Pois gente pagando de bonzão que não sabe programar e só faz lero-lero tem aos montes.

Na prova, seria interessante colocar, além de perguntas que testam os conhecimentos, algumas perguntas que pedem coisas sem sentido ou sobre alguma coisa que não existe, para avaliar que tipo de resposta o candidato dá.

F

ViniGodoy:
Aqui aplicamos prova + entrevista.

Tô careca de ver Certificado que não sabe nada sobre Arquitetura de Sistemas… Persistência… tratamento de interface Web…

Não ajuda muito fica esmiuçando se o cara lembra o comando tal ou sintaxe tal…

Para resolver problemas… o candidato tem que ter discernimento, inteligência…

Por exemplo: esse problema com o Enum… alguns gostam de utilizar o padrão: Polimorfismo:

Justamente para não encher o programa de ifs (procedural)…

Como tratar condicionais com base no tipo: Polimorfismo… dai o cara pode nem usar enum exaustamente… mesmo sendo um profissional que poderia acrescentar a equipe… não vai passar no teste…

De um aspecto comum, não há apenas uma forma de resolver o problema…

Acho que uma boa conversa, indo em detalhes, ajuda.

O problema ai, é que tem gente que não gosta de “argumentar”, principamente com um candidato.

:cry:

M

victorwss:
Eu acho essencial testar o conhecimento do candidato. Pois gente pagando de bonzão que não sabe programar e só faz lero-lero tem aos montes.

Na prova, seria interessante colocar, além de perguntas que testam os conhecimentos, algumas perguntas que pedem coisas sem sentido ou sobre alguma coisa que não existe, para avaliar que tipo de resposta o candidato dá.

- Quem é apto a dar qualquer prova ?

I

victorwss:
Eu acho essencial testar o conhecimento do candidato. Pois gente pagando de bonzão que não sabe programar e só faz lero-lero tem aos montes.

Na prova, seria interessante colocar, além de perguntas que testam os conhecimentos, algumas perguntas que pedem coisas sem sentido ou sobre alguma coisa que não existe, para avaliar que tipo de resposta o candidato dá.

Reposta:
Isso non ecziste!

M

Maracuja:
Só fazendo um comentário aqui, nada melhor para selecionar um desenvolvedor, ver se ele realmente sabe desenvolver algo… como? Acho interessante pedir que ele desenvolva um projeto, ai dependendo do perfil que vc procura, peça um projeto específico, por exemplo:

  • Fazer um projeto WEB utilizando JSF que faça uma Pesquisa utilizando os Serviços estilos REST providos pelo yahoo, mostrar os resultado na tela, disponibilizar um botão que exporte os resultados para um arquivo texto. De uns dois dias para que ele desenvolva o projetinho em casa.

Bom ai vai da sua imaginação.

Peça para te entregarem o projeto, talvez com um arquivo de buid do ANT para o projeto, todo o Javadoc e assim em diante. Depois vc ainda pode qustionar o desenvolvedor a respeito das escolhas feitas para o projeto, por que fez em camadas ou não e outras coisas deste tipo.

Espero que ajude.

[]'s

O profissional precisa só de treinamento, e ter afinidade sobre tecnologia, o resto é resto.

V

Você já fez ensino fundamental, ensino médio, vestibular, faculdade, alguns treinamentos por aí e talvez mais que isso. Então você já sabe a resposta.

V

O resto é caro, demorado e nem sempre é garantido.

D

Faça como a HashRocket do Obie Fernandez, e a primeira empresa que trabalhei, selecione os candidatos com entrevistas com RH, equipe técnica, e depois coloque-o para ficar um tempo produzindo, e veja como ele se vira ( é um modelo bastante difícil de aplicar, porém muito objetivo), pode ter certeza que manter um cara 1 mês produzindo para avalia-lo é menos custoso que fazer enormes processos seletivos, e contratar um “CHARADA”.

A sugestão do pac-man é muito interessante também e se encaixa. É fácil notar a capacidade do profissional em uma boa conversa.

Agora não adianta colocar uma prova com fatorial, questões de Thread, e assuntos dos blue prints, se a realidade que o cara vai ter para trabalhar é um ambiente distribuído com alta regras de negócio e dados seguros(banco de seguro), e o cara se desespera quando tiver que fazer a primeira troca de mensagens com jms; :wink:

Um exemplo simples é a “dúvida cretina”, a galera nem procurou nos docs do framework, fóruns, mailslist, no google, e dizem que simplesmente tem uma dúvida, esses podem muito bem passar em uma prova de emprego.

Já vi pessoas sem experência nenhuma dar conta de problemas realmente grandes.

Eu costumo falar que você tem que ser visto(leia-se PAGO) não pelo que faz, mas pelo que tem capacidade de fazer.

Abraços

M

Fazer uma prova é coisa de nerd.

Só pergunta se ele toma cerveja… Caso sim, pode contratar!

Regra: Todo programador toma cerveja.

I

Maracuja:
Só fazendo um comentário aqui, nada melhor para selecionar um desenvolvedor, ver se ele realmente sabe desenvolver algo… como? Acho interessante pedir que ele desenvolva um projeto, ai dependendo do perfil que vc procura, peça um projeto específico, por exemplo:

  • Fazer um projeto WEB utilizando JSF que faça uma Pesquisa utilizando os Serviços estilos REST providos pelo yahoo, mostrar os resultado na tela, disponibilizar um botão que exporte os resultados para um arquivo texto. De uns dois dias para que ele desenvolva o projetinho em casa.

Bom ai vai da sua imaginação.

Peça para te entregarem o projeto, talvez com um arquivo de buid do ANT para o projeto, todo o Javadoc e assim em diante. Depois vc ainda pode qustionar o desenvolvedor a respeito das escolhas feitas para o projeto, por que fez em camadas ou não e outras coisas deste tipo.

Espero que ajude.

[]'s

Eu acho que pegaria muito tempo do cara.
Dependendo da empresa eu não perderia tempo com fazendo um projeto desses só pra ve se ela ia gostar de mim. Acho que tem que ser mais objetivo.

T

Eu particularmente acho que uma prova pode filtrar alguns dentre muitos candidatos, se for o caso, mas ainda acho que depende do perfil de profissional que voce quer contratar. Eu faria uma entrevista apenas conversando com o profissional, pediria para que ele falasse dos projetos que trabalhou, tecnologias empregadas, etc. Dentre essas tecnologias, escolheria umas duas ou tres e pediria a ele que fizesse algum pequeno projeto, aproveitando a ideia do maracuja, de uns dois dias e entao peca a ele que apresente o projeto e explique tudo que fez, veja os codigos, etc. mas como disse, depende do tipo de profissional q voce quer, fazer isso para contratar um programador jr. nao seria nada facil… ja para um pleno ou senior, poderia funcionar.

M

Maracuja:
ivo costa:
Maracuja:
Só fazendo um comentário aqui, nada melhor para selecionar um desenvolvedor, ver se ele realmente sabe desenvolver algo… como? Acho interessante pedir que ele desenvolva um projeto, ai dependendo do perfil que vc procura, peça um projeto específico, por exemplo:

  • Fazer um projeto WEB utilizando JSF que faça uma Pesquisa utilizando os Serviços estilos REST providos pelo yahoo, mostrar os resultado na tela, disponibilizar um botão que exporte os resultados para um arquivo texto. De uns dois dias para que ele desenvolva o projetinho em casa.

Bom ai vai da sua imaginação.

Peça para te entregarem o projeto, talvez com um arquivo de buid do ANT para o projeto, todo o Javadoc e assim em diante. Depois vc ainda pode qustionar o desenvolvedor a respeito das escolhas feitas para o projeto, por que fez em camadas ou não e outras coisas deste tipo.

Espero que ajude.

[]'s

Eu acho que pegaria muito tempo do cara.
Dependendo da empresa eu não perderia tempo com fazendo um projeto desses só pra ve se ela ia gostar de mim. Acho que tem que ser mais objetivo.

Bom, ai são outros 500. Mas que dessa forma é possível filtrar os code monkeys e fakes dos profissionais bons, isso é.

ps: pra fazer o projetinho acima, um profissional não gastaria mais que 4 horas.

[]'s

?uma andorinha só não faz verão?

M

Maracuja:
Marcio Duran:
Maracuja:
Só fazendo um comentário aqui, nada melhor para selecionar um desenvolvedor, ver se ele realmente sabe desenvolver algo… como? Acho interessante pedir que ele desenvolva um projeto, ai dependendo do perfil que vc procura, peça um projeto específico, por exemplo:

  • Fazer um projeto WEB utilizando JSF que faça uma Pesquisa utilizando os Serviços estilos REST providos pelo yahoo, mostrar os resultado na tela, disponibilizar um botão que exporte os resultados para um arquivo texto. De uns dois dias para que ele desenvolva o projetinho em casa.

Bom ai vai da sua imaginação.

Peça para te entregarem o projeto, talvez com um arquivo de buid do ANT para o projeto, todo o Javadoc e assim em diante. Depois vc ainda pode qustionar o desenvolvedor a respeito das escolhas feitas para o projeto, por que fez em camadas ou não e outras coisas deste tipo.

Espero que ajude.

[]'s

O profissional precisa só de treinamento, e ter afinidade sobre tecnologia, o resto é resto.

Se eu quisesse alguém com este pefil contrataria um estagiário, e não um profissional.

Profissional não faz prova, resolve.

J

Se for mulher faça o teste do sofa, caso tronario acho que a da cerveja já resolve.

Bom agora falando sério, acho que as provas são importantes pra o profissional ao menos saber o que ele vai ter que enfrentar na empresa (as vezes os anuncios enganam), e para empresa saber se o profissional tem alguma noção do serviço (as vezes os curriculos enganam).

Eu por exemplo fiz uma provinha basica de HTML, Javascript e lógica em java , daquelas valor X entra no método quanto é o valor de X ao sair dele.
Até hoje não sei se fui muito bem na prova, mas estou aqui empregado e fazendo meu serviço.

M

Maracuja:
Pensei que o tópio era sobre:

Modelo de prova para seleção de programador.

Ja desvirtuou, só espero que tenha ajudado o autor em alguma coisa.

[]'s


Não desvirtuou, o problema é o que estamos discutindo, onde nisso temos opiniões baseados em contradições do que se julga e como de proceder avaliação de um profissional(candidato), sempre foi um paradigma, pior no setor de Tecnologia da informação.

A

Acho que o mundo vai acabar hoje, pois tenho que concordar com o Marcio Duran.

Prova sequer testa o conhecimento de um candidato, pois o mesmo pode não estar familiarizado com certos comandos ou até mesmo sintaxe de algumas tecnologias e no cotidiano se vira muito bem com ajuda do google.

Dizer que o cara é bom pq ele decorou a sintaxe de uma linguagem é totalmente errado, pois na maioria dos casos os que decoraram são aqueles que estudaram para provas de certificação ou utilizaram exaustivamente certos comandos ou apis.

Escrever algoritmo no quadro? Muito mais pratico vc explicar um problema para o candidato e perguntar como ele resolveria isso, independente da linguagem, com isso vc tem uma ideia da experiencia do mesmo e sua capacidade de agir sobre pressao.

Se o profissional tem afinidade com tecnologia e não é apenas um carinha que caiu de para-quedas na área, não importa se ele sabe sintaxe, api ou qualquer coisa técnica, pois no final ele vai se adaptar a empresa e irá aprender o necessário.

Muito carinha teorico que adora falar merda de como o comando x ou y é mais rapido ou a maneira x,y,z é mais “orientada a objetos” decepciona e não tem o minimo de bom senso e conceito de usabilidade e manutencao.

Eu sinceramente acredito que o nivel de afinidade com a profissao indica sua capacidade de aprender e adapta-se a diversos ambientes e desencorajo qualquer tipo de avaliação totalmente técnica.

Alias, quem dera que meu cerebro conseguisse decorar a sintaxe da maioria das linguagens que conheço e apis/frameworks que ja utilizei e olha que me considero muito acima da média em nossa profissão.

M

aleck:
Acho que o mundo vai acabar hoje, pois tenho que concordar com o Marcio Duran.

Prova sequer testa o conhecimento de um candidato, pois o mesmo pode não estar familiarizado com certos comandos ou até mesmo sintaxe de algumas tecnologias e no cotidiano se vira muito bem com ajuda do google.

Dizer que o cara é bom pq ele decorou a sintaxe de uma linguagem é totalmente errado, pois na maioria dos casos os que decoraram são aqueles que estudaram para provas de certificação ou utilizaram exaustivamente certos comandos ou apis.

Escrever algoritmo no quadro? Muito mais pratico vc explicar um problema para o candidato e perguntar como ele resolveria isso, independente da linguagem, com isso vc tem uma ideia da experiencia do mesmo e sua capacidade de agir sobre pressao.

Se o profissional tem afinidade com tecnologia e não é apenas um carinha que caiu de para-quedas na área, não importa se ele sabe sintaxe, api ou qualquer coisa técnica, pois no final ele vai se adaptar a empresa e irá aprender o necessário.

Muito carinha teorico que adora falar merda de como o comando x ou y é mais rapido ou a maneira x,y,z é mais “orientada a objetos” decepciona e não tem o minimo de bom senso e conceito de usabilidade e manutencao.

Eu sinceramente acredito que o nivel de afinidade com a profissao indica sua capacidade de aprender e adapta-se a diversos ambientes e desencorajo qualquer tipo de avaliação totalmente técnica.

Alias, quem dera que meu cerebro conseguisse decorar a sintaxe da maioria das linguagens que conheço e apis/frameworks que ja utilizei e olha que me considero muito acima da média em nossa profissão.

po mais saber a sintaxe da linguagem é o minimo, além de lógica é claro que um programador deve saber, claro que eu não to falando de metodos de uma API pouco utilizada ou pouco util, mais sim da linguagem utilizada, coisas mais utilizadas, testes envolvendo lógica e listas/conjuntos por exemplo, algo que ja manteria um nivel um pouco melhor seria testa o conhecimento do cara com equals e hashCode isso ja filtraria muita gente ruim ja… no que li ai em cima nos outros comentarios, na maioria dos casos o que esta falandoao menos a maioria é de que isso ao menos da uma filtrada, não que só vai passa por isso os que forem bons programadores…

penso que essa prova não deve ser tão exigente com API ou conceitos mais obscuros, porém ja da uma filtrada, explica o problema e pergunta como a pessoa resolveria seria um ótimo “passo 2” pra ver quem sabe mais do que esse minimo que eu tava falando/repetindo o que ja falaram ai… concordo com vc tb quanto ao que vc falo de usabilidade e manutenção, adicionalmente, perguntando os por ques do profissional ter escolhido os caminhos que escolheu podia até da uma base do que que o cara sabe a respeito disso, até onde ele tem a experiencia que diz ter…

até concordo quanto ao que vc falo em relação a como fazer, mais acho que antes dessas coisas seria bom uma provinha talvez um pouco rápida, com o número de pessoas que isso filtraria, iria economiza o tempo do entrevistador e dos entrevistados depois também…

M

O que deveria contar é a experiencia e capacidade de “se virar” do candidato. :wink:

A

maior_abandonado:

po mais saber a sintaxe da linguagem é o minimo, além de lógica é claro que um programador deve saber, claro que eu não to falando de metodos de uma API pouco utilizada ou pouco util, mais sim da linguagem utilizada, coisas mais utilizadas, testes envolvendo lógica e listas/conjuntos por exemplo, algo que ja manteria um nivel um pouco melhor seria testa o conhecimento do cara com equals e hashCode isso ja filtraria muita gente ruim ja… no que li ai em cima nos outros comentarios, na maioria dos casos o que esta falandoao menos a maioria é de que isso ao menos da uma filtrada, não que só vai passa por isso os que forem bons programadores…

penso que essa prova não deve ser tão exigente com API ou conceitos mais obscuros, porém ja da uma filtrada, explica o problema e pergunta como a pessoa resolveria seria um ótimo “passo 2” pra ver quem sabe mais do que esse minimo que eu tava falando/repetindo o que ja falaram ai… concordo com vc tb quanto ao que vc falo de usabilidade e manutenção, adicionalmente, perguntando os por ques do profissional ter escolhido os caminhos que escolheu podia até da uma base do que que o cara sabe a respeito disso, até onde ele tem a experiencia que diz ter…

até concordo quanto ao que vc falo em relação a como fazer, mais acho que antes dessas coisas seria bom uma provinha talvez um pouco rápida, com o número de pessoas que isso filtraria, iria economiza o tempo do entrevistador e dos entrevistados depois também…

O que eu estava tentando dizer é que prova nenhuma vai apontar os bons programadores, pelo contrário, vc pode estar eliminando os melhores e selecionando os mais teóricos e sem muito bom senso.

Como vc mesmo disse, uma conversa informal sobre a experiencia do profissional e o caminho escolhido irão lhe dar uma base muito melhor do que qualquer prova, que ainda cai no problema do nervosismo, que normalmente apaga a memoria de qualquer candidato, independente da area.

Alias, vcs ja pensaram que um profissional não certificado “pode” ter utilizado o tempo de estudo para certificações com outros conhecimentos que podem ser mais aproveitados no cotidiano?

Eu sinceramente, não contrataria “de cara” um profissional com varias certificações, pois se ele perdeu tanto tempo assim estudando para certificações, quando ele parou para estudar as tecnologias utilizadas no dia a dia?

D

Bom, entrando agora no tópico e depois de lert todos os comentários deste, tenho que concordar com o último comentário:

“…não contrataria “de cara” um profissional com varias certificações, pois se ele perdeu tanto tempo assim estudando para certificações, quando ele parou para estudar as tecnologias utilizadas no dia a dia…”

… O simples fato do profissional ter “N” certificações não quer dizer que o mesmo tenha “N” qualificações, eu já trabalhei com profissionais não certificados que davam banho tanto de conhecimento teórico e prático em profissionais certificados que não foram capazes de atender as necessidades de eventuais problemas enfrentados, apenas como observação eles já possuiam quase o mesmo tempo de atuação no mercado com desenvolvimento… ou seja ser certificado não tem nada haver com experiência e capacidade, com isso não quero dizer que estar certificado seja ruim, pelo contrario eu até admiro e batalho por isso, mas não acho que deva ser levado em conta de maneira que possa distinguir o que é um bom profissional ou não.

E para selecionar um candidato, sou obrigado a concordar que uma prova sim ajuda, porém uma prova simples, pequena e rápida que contribua apenas para o critério de seleção com relação ao conhecimento… pra evitar perder tempo com candidatos que começaram a agora e não possui a experiencia que o cargo necessita.

R

Voltando ao assunto original…

A prova deve ser curta, não deve levar mais do que 1 hora para responder a não ser que a empresa tenha um certo renome. Provas dissertativas são melhores, porque você consegue avaliar o raciocínio e considerar meio-certos. Normalmente começa com perguntas básicas (“o que é objeto?”), passa por perguntas sobre tecnologias que você utiliza (“escreva um stateless bean que soma dois números”), e inclui pelo menos uma pergunta de design/arquitetura. (“como você faria para carregar dados de configuração que normalmente ficam no banco de dados de um arquivo de propriedades durante a execução de testes unitários?”)

O propósito da provinha é servir de filtra-Bozo. O RH gasta uns cinco minutos acomodando o candidato, o desenvolvedor mais um cinco revendo a prova (os casos patológicos dá pra reconhecer em décimos de segundo), e o candidato que passa recebe mais atenção nas etapas seguintes.

M

aleck eu ia responder dizendo que não sei se vc intendeu o que eu disse, falando do por que essa prova, mais acho que o rubinelli falou o que eu tentaria espressar, provavelmente do que eu faria…rs

não to falando que a prova iria dizer quem é bom programador e quem é ruim… mais ela da uma filtrada razoavel, economizando o tempo de todo mundo ao ja tirr muitos dos “pseudo-profissionais” do processo de seleção…

não to tirando a importancia da conversa sobre experiencia com alguém humano pra avalia, isso é inclusive mais importante do que a prova, porém a prova ajuda muita ao tirar os tais bozos…rs

A

maior_abandonado:
… ao ja tirr muitos dos “pseudo-profissionais” do processo de seleção…

Pseudo-profissionais que, inclusive, não sabem escrever em português…

M

Taz:
maior_abandonado:
… ao ja tirr muitos dos “pseudo-profissionais” do processo de seleção…

Pseudo-profissionais que, inclusive, não sabem escrever em português…

bom eu não sei quanto a você, mais ao menos aqui no forum eu não estou me sentindo como se tivesse escrevendo algo no ambiente profissional, sendo assim não tenho que verificar por erros nem de digitação nem de ortografia.

indo direto ao ponto para de ser mala por que você não me conhece no ambiente profissional, inclusive ninguém te provocou pra você vir com ataquesinho babaca desse jeito… ve se cresce…

A

Taz:
maior_abandonado:
… ao ja tirr muitos dos “pseudo-profissionais” do processo de seleção…

Pseudo-profissionais que, inclusive, não sabem escrever em português…

Nada pessoal, mas NUNCA eu contrataria um cara que troca MAS por MAIS…

MAS infelizmente tem quem aceita coisas toscas como essas…

Nada pessoal… :lol:

M

denovo você ta se fazendo de bonzão ai mais ao que parece suas abilidades de leitura também não são das melhores.

a primeira coisa que tinha falado é que não estou em ambiente profissional, não preciso tomar cuidado com formalidade ou normal culta, ao contrario de voce que precisa disso mesmo no forum pra se engrandecer… sugiro honestamente que se foque no seu profissionalismo, tentando aumentar o seu profissionalismo, de verdade, no forum se preocupando com a qualidade do que “você” fala, e não a respeito da gramatica usada pelos outros onde nem sequer é o assunto da discussão. Resumindo, se você quer se engrandecer, faça isso pelo seu merito, pela qualidade do que você faz, não tentando rebaixar outra pessoa, o que é ridiculo da sua parte.

não é o assunto do tópico, não vo masi responder isso ou comenta sua atitude…

J

Só fazendo um comentário aqui, nada melhor para selecionar um desenvolvedor, ver se ele realmente sabe desenvolver algo… como? Acho interessante pedir que ele desenvolva um projeto, ai dependendo do perfil que vc procura, peça um projeto específico, por exemplo:

  • Fazer um projeto WEB utilizando JSF que faça uma Pesquisa utilizando os Serviços estilos REST providos pelo yahoo, mostrar os resultado na tela, disponibilizar um botão que exporte os resultados para um arquivo texto. De uns dois dias para que ele desenvolva o projetinho em casa.

Bom ai vai da sua imaginação.

Peça para te entregarem o projeto, talvez com um arquivo de buid do ANT para o projeto, todo o Javadoc e assim em diante. Depois vc ainda pode qustionar o desenvolvedor a respeito das escolhas feitas para o projeto, por que fez em camadas ou não e outras coisas deste tipo.

Espero que ajude.

[]'s

J

Marcio Duran:
Maracuja:
Só fazendo um comentário aqui, nada melhor para selecionar um desenvolvedor, ver se ele realmente sabe desenvolver algo… como? Acho interessante pedir que ele desenvolva um projeto, ai dependendo do perfil que vc procura, peça um projeto específico, por exemplo:

  • Fazer um projeto WEB utilizando JSF que faça uma Pesquisa utilizando os Serviços estilos REST providos pelo yahoo, mostrar os resultado na tela, disponibilizar um botão que exporte os resultados para um arquivo texto. De uns dois dias para que ele desenvolva o projetinho em casa.

Bom ai vai da sua imaginação.

Peça para te entregarem o projeto, talvez com um arquivo de buid do ANT para o projeto, todo o Javadoc e assim em diante. Depois vc ainda pode qustionar o desenvolvedor a respeito das escolhas feitas para o projeto, por que fez em camadas ou não e outras coisas deste tipo.

Espero que ajude.

[]'s

O profissional precisa só de treinamento, e ter afinidade sobre tecnologia, o resto é resto.

Se eu quisesse alguém com este pefil contrataria um estagiário, e não um profissional.

J

ivo costa:
Maracuja:
Só fazendo um comentário aqui, nada melhor para selecionar um desenvolvedor, ver se ele realmente sabe desenvolver algo… como? Acho interessante pedir que ele desenvolva um projeto, ai dependendo do perfil que vc procura, peça um projeto específico, por exemplo:

  • Fazer um projeto WEB utilizando JSF que faça uma Pesquisa utilizando os Serviços estilos REST providos pelo yahoo, mostrar os resultado na tela, disponibilizar um botão que exporte os resultados para um arquivo texto. De uns dois dias para que ele desenvolva o projetinho em casa.

Bom ai vai da sua imaginação.

Peça para te entregarem o projeto, talvez com um arquivo de buid do ANT para o projeto, todo o Javadoc e assim em diante. Depois vc ainda pode qustionar o desenvolvedor a respeito das escolhas feitas para o projeto, por que fez em camadas ou não e outras coisas deste tipo.

Espero que ajude.

[]'s

Eu acho que pegaria muito tempo do cara.
Dependendo da empresa eu não perderia tempo com fazendo um projeto desses só pra ve se ela ia gostar de mim. Acho que tem que ser mais objetivo.

Bom, ai são outros 500. Mas que dessa forma é possível filtrar os code monkeys e fakes dos profissionais bons, isso é.

ps: pra fazer o projetinho acima, um profissional não gastaria mais que 4 horas.

[]'s

J

Pensei que o tópio era sobre:

Modelo de prova para seleção de programador.

Ja desvirtuou, só espero que tenha ajudado o autor em alguma coisa.

[]'s

Criado 18 de março de 2009
Ultima resposta 26 de mar. de 2009
Respostas 54
Participantes 26