| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 15:03:51
|
PadrE
JavaEvangelist
![[Avatar]](/images/avatar/e80ba3de4e2f156e3bdf5b3596b36ca4.jpg)
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á !" |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 15:10:45
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 15:25:06
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 15:58:38
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 16:04:19
|
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...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 16:28:13
|
fantomas
GUJ Master
![[Avatar]](/images/avatar/a2bf57c3aee957f2aaf75aa84717b3be.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 16:32:20
|
fantomas
GUJ Master
![[Avatar]](/images/avatar/a2bf57c3aee957f2aaf75aa84717b3be.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 16:35:41
|
PadrE
JavaEvangelist
![[Avatar]](/images/avatar/e80ba3de4e2f156e3bdf5b3596b36ca4.jpg)
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...
=]
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 16:55:51
|
Marcio Duran
GUJ Master
![[Avatar]](/images/avatar/df0e19d29493ef2136fc3e2fc029c054.jpg)
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!!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 17:54:29
|
Bruno Laturner
GUJ Expert
![[Avatar]](/images/avatar/5800ccd9514fd789d08e5831951aa6bc.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 17:59:54
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
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.' |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 21:02:42
|
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 21:41:59
|
peerless
GUJ Master
![[Avatar]](/images/avatar/5b2a8f2b014bb326fd82ee313704e78c.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/03/2009 10:23:04
|
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 |
|
|
 |
|
|