Questão de Entrevista, o que responder?  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
PadrE
JavaEvangelist
[Avatar]

Membro desde: 03/04/2006 00:01:40
Mensagens: 410
Offline

Eae povo...

Acho que muitos ja passaram por isso e vão passar de novo...

Fiz uma entrevista e fiquei muito chateado com o resultado.... e não entendi o que deveria ter dito de diferente para ter me saido melhor... então, queria saber se alguem pode me ajudar a entender para nao cometer o mesmo erro na proxima. E vale de ajuda para o pessoal tb...

Eh o seguinte, fiz toda aquela parte de RH, pergunta de qual animal vc seria ou não, redação e um monte de outras coisas de pscologia...

Depois fui conversar com o coordenador do projeto (eu acho) e no começo estava tudo bem até que ele me perguntou o seguinte:
Imagine que vc tenha uma lista e dois métodos, um para add e outro para remove o item da lista... e vc tem uma série te thread's manipulando essa lista.. o que voçê faria para evitar os problemas de concorrência?

Na hora veio em mente as palavras syncronized, static, wait, join e semaforo...

Então lancei que utilizaria syncronized e alguma lógica para ver se o item ja existe etc... isso nos métodos add e remove !!!

Senti que não era que ele queria ouvir... o que eu disse de errado ??

Vlw ae povo !!

PadrecO
"O conhecimento o libertará !"
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

É bem mais simples que isso. Você realmente pode usar o synchronized:



Não é preciso usar lógica para ver se já existe, ou outras coisas. Você complicou muito.

Acho que você acabou provando que não sabe mexer com isso na prática, mas tentou enrolar. Dependendo do entrevistador, ele não gosta de ser enrolado.

( Outra forma é encapsular a tal lista com um Collections.synchronizedList(), mas mesmo isso não exclui o uso de "synchronized" às vezes.
Collections.synchronizedList . Isso você não precisaria saber - mesmo seu entrevistador não saberia isso de cor. )

This message was edited 1 time. Last update was at 20/03/2009 15:13:01

[WWW]
sigma
Thread.start()

Membro desde: 07/07/2005 17:47:11
Mensagens: 42
Offline

Estas pegadinhas de entrevista...

Eu acho que você não enrolou apenas não sabia na bucha mas sabia o que procurar, isso e importante saber se virar (não e fazer gambiarra) mas do que ter decorado todo um procedimento para resolver determinado problema.

This message was edited 3 times. Last update was at 20/03/2009 15:27:22

cmoscoso
Virtual Machine Man

Membro desde: 23/10/2007 10:08:29
Mensagens: 687
Offline

Essa é facil. Basta que sua lista seja imutavel. Assim os metodos add/remove retornam uma nova lista com o objeto inserido (ou removido).



Ate onde sei, semaforos nao evita problemas de concorrencia, apenas movem o problema de lugar.
[Email]
el_loko
JavaEvangelist

Membro desde: 30/10/2007 12:09:43
Mensagens: 357
Offline

Uma coisa é certa...

Se vc falou a palavra syncronized quer dizer que pelo menos vc sabia por onde começar a resolver o problema que ele te apresentou. Somando isso ao fato de que colocando syncronized no google vc resolveria o problema em 10 minutos, ele deve ter achado que vc sabe oq está falando mas ainda não domina o suficiente para o projeto em que ele quer te alocar...
fantomas
GUJ Master
[Avatar]

Membro desde: 24/04/2008 16:10:55
Mensagens: 1531
Localização: Terra (maior parte do tempo)
Offline

Vai ver o entrevistador sabe uma gambiarra e pensa que ela é a melhor solução logo achou a sua saida absurda demais rsrsrsrs.

flws
fantomas
GUJ Master
[Avatar]

Membro desde: 24/04/2008 16:10:55
Mensagens: 1531
Localização: Terra (maior parte do tempo)
Offline

Uma vez trabalhei com um COORDENADOR de TI que achava que ao utilizar uma variável auxiliar para várias coisas diferentes éra orientação a objetos.

O que vc acha que ele vai pensar de suas respostas sobre OO?

Se vc provasse que ele estava errado no mínimo ele iria achar que vc era "ENRROLÃO".


flws
PadrE
JavaEvangelist
[Avatar]

Membro desde: 03/04/2006 00:01:40
Mensagens: 410
Offline

Vlw as dicas pessoal...

Enrolar o cara, não tentei mesmo.. ao menos não propositalmente... mesmo porque a questão foi verbal e não acho que deveria ter ditado algum código para ele, mas dizer a chave da solução que pelo que vi é o syncronized mesmo... Só que percebi que ele não ficou satisfeito, então falei em aplicar o syncronized nos métodos que adicionam e removem os itens... (pensei em algo parecido com o que thingol citou..
thingol wrote:É bem mais simples que isso. Você realmente pode usar o synchronized:



el_loko wrote:
Uma coisa é certa...

Se vc falou a palavra syncronized quer dizer que pelo menos vc sabia por onde começar a resolver o problema que ele te apresentou. Somando isso ao fato de que colocando syncronized no google vc resolveria o problema em 10 minutos, ele deve ter achado que vc sabe oq está falando mas ainda não domina o suficiente para o projeto em que ele quer te alocar...


Tive essa mesma idéia depois... de que ele esta a procura de alguém que saiba digitar o código de "bate-pronto" para as situações que ele tenha no projeto...

Mas se fosse isso, porque não me deu um teste escrito ?? Ia ser muito melhor...

Enfim... vou ter que esperar um retorno vamos ver o que rola.... se não rolar, seria legal eles falarem o porque... coisa dificil de acontecer...

Vlw mesmo pessoal, vi que não estou tão mal na teoria e no conhecimento.. mas que preciso melhorar na prática...

=]
Marcio Duran
GUJ Master
[Avatar]

Membro desde: 23/01/2008 11:14:35
Mensagens: 1905
Offline

thingol wrote:É bem mais simples que isso. Você realmente pode usar o synchronized:



Não é preciso usar lógica para ver se já existe, ou outras coisas. Você complicou muito.

Acho que você acabou provando que não sabe mexer com isso na prática, mas tentou enrolar. Dependendo do entrevistador, ele não gosta de ser enrolado.

( Outra forma é encapsular a tal lista com um Collections.synchronizedList(), mas mesmo isso não exclui o uso de "synchronized" às vezes.
Collections.synchronizedList . Isso você não precisaria saber - mesmo seu entrevistador não saberia isso de cor. )

Em uma ocasião foi muito engraçado !!!! , fui em uma empresa fazer uma entrevista..... leram o meu curriculum é ficaram desconfiado de mim....
Começou a entrevista, e tinha ido muito bem, entrevistador da consultoria + arquiteto do projeto, depois resolveram me aplicar uma prova de 30 paginas !!!!, fiquei umas 2 horas fazendo as questões......
3 dias depois me ligaram, e me chamavam para ir ao cliente fazer uma outra entrevista, fui ver do que se tratava o projeto, ao inves de acontecer uma entrevista sobre o que a empresa tratava ou não do projeto, ahahah o entrevistador começou a fazer chamada oral de prova de certificação, eu queria matar o cara achei aquilo um lixo e ainda pensei, "meu que mico estou pagando aqui" , e pior com o cliente do meu lado da consultoria.É claro que você consegue desmembrar um assunto ou outro, mas naquela forma foi esquisito, respondi algumas questões e outras fiquei meio que confuso, pois a indagação foi foda....foda ... mesmo...., tem que ficar esperto pra tudo ahahah!!!

[WWW]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

O java.util.Vector também funciona pra esses casos.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline

Bruno Laturner wrote:O java.util.Vector também funciona pra esses casos.


Com certeza, porem imagine que vc tem um List e vc não saber se é ou não um Vector? Este tipo de problema serve pra mostrar todo o dominio sobre concorrencia e coleções, provavelmente englobaria um for each, enfim, de tudo um pouco. Mas mostrar que Vector é sincronizado e ArrayList não ja é alguma coisa.

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
YvGa
Virtual Machine Man

Membro desde: 07/03/2007 15:58:16
Mensagens: 517
Offline

Amigo, provavelmente nao foi esse o motivo da sua nao contratacao. Uma pergunta só, por mais simples que seja, nao vai decidir sozinha uma contratacao. A nao ser claro que os selecionadores sejam imbecis, mas nesse caso voce saiu ganhando.

Marcio Duran, eu ja abandonei uma entrevista por muito menos. Se os caras sao chatos assim numa entrevista, imagine pra tabalhar com eles.

Acho que o correto é fazer como na empresa em que trabalho, primeiro as entrevistas com os tecnicos, as avaliacoes que tiver que fazer, depois se tiver ido bem passa pro blablabla do RH e dos psicologos.

Paulo Borio
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

se não sabe/quer responder perguntinhas de certificação, ta fazendo o que numa entrevista para XPTO JAVA ?


A observação acima não é para o autor do tópico.

[]s

follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
YvGa
Virtual Machine Man

Membro desde: 07/03/2007 15:58:16
Mensagens: 517
Offline

Porra, em todo topico em que o Marcio Duran posta tem que vir alguem tumultuar???

Isso ja ta ficando chato pra caramba.

Paulo Borio
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team