Entrevista em Inglês & Experiência

Opa! Pessoal,  passei alguns dias pensando em como inovar  e trazer algo “diferente” para o blog. Ai surgiu : “que tal fazer uma seção de entrevistas com profissionais que estão na área, tratando de assuntos como carreira, tecnologia, mercado etc. Assim o blog naãofica apenas com  as minhas idéias”. Sendo assim temos a partir de hoje uma nova categoria chamada: “Entrevistas”.

O objetivo dessa nova categoria é entrevistar profissionais de TI reconhecidos e os ainda não reconhecidos nacionalmente. Teremos entrevistas com profissionais contando suas experiências na  carreira profissional, falando sobre tecnologias, mercado  etc. Espero que vocês curtam essa nova categoria :).

Para começar a primeira entrevista é com meu amigo Alberto Leal.

Leal vai contar sua experiência que teve no processo de entrevista em inglês por telefone que possibilitou ser admitido para fazer parte do time IBM/Brazil. Então para aqueles que estão investindo no ingles ou que pretende investir vejam as dicas do Alberto e  não esquercer desse case real, onde mostrou mais uma vez a importância de saber o inglês com o foco para conversação. Leal vem trabalhar conosco como Desenvolvedor Java na plataforma JEE em projetos internacionais.

Caros leitores  não deixem de comentar  enviado  suas:dúvidas, críticas, sugestões etc. Espero que tenham gostado dessa novidade no blog.

Aproveitando o momento estou disponibilizando meu linkedin, para quem quiser me adicionar :).

Não posso deixar de citar o post onde disponibilizei o modelo de currículo em inglês.

Post Relacionado:

Como anda seu Currículo?

inglês por telefone

Lets go…

albertoftGraduado em Sistemas de Informação em 2007. Atualmente, cursando pós-graduação em Business Intelligence na UFJF – Universidade Federal de Juiz de Fora. Trabalha como desenvolvedor web há alguns anos- PHP, Java e Ruby. Possui a certificação SCJP – Sun Certified Java Programmer 5.0.

  1. blog: Alberto há quanto tempo você estuda inglês?
    Alberto: O primeiro contato que tive com a língua inglesa foi durante o ensino fundamental, e este se estendeu pelo ensino médio, período o qual iniciei meus estudos em uma escola de idiomas. Com meu ingresso na faculdade não pude dar continuidade, mas com seu término, há dois anos atrás, retornei aos meus estudos.

  1. blog: Além das aulas que você tem na escola, como é seu estudo fora da sala?
    Alberto: Acredito que, o que nos faz ficar mais “à vontade” com o idioma é o que fazemos fora da sala de aula, ou seja, a nossa dedicação e vontade de aprender cada vez mais. Há dois anos atrás, no mesmo momento em que eu retornei para o curso, resolvi que todos os meus livros seriam em inglês. Isso devido a precariedade das traduções e também pela vontade de reforçar o aprendizado, unindo a língua inglesa com minha profissão. Como tudo, no início foi complicado, já que a leitura é lenta e o dicionário foi um companheiro constante, mas com o tempo e a prática isso se tornou desnecessário. Outra coisa interessante, foi o hábito de assistir meus seriados (Lost, Heroes,Prison Break) com legendas em inglês. Isso fez com que eu ficasse atento com a pronuncia das palavras e aprendesse as diversas colocações das palavras e expressões. Já no ano passado, Camilo e eu, começamos a fazer reuniões via skype para desenvolvermos a parte de conversação, o que eu acho que não podemos parar, pois nestas falamos sobre tecnologias, onde a cada reunião é escolhido um tema a ser discutido.

  1. blog: você pode falar um pouco como foi seu processo de entrevista em ingles para trabalhar na IBM?
    Alberto: Esse foi o processo seletivo mais longo e cansativo que já participei. Após ter a aprovação do meu curriculum, participei de 4 quatro etapas: uma para nivelamento da língua inglesa, duas técnicas e uma com os americanos responsáveis pelo projeto. Me recordo que a segunda entrevista técnica durou 90 minutos. Essa entrevista foi feita em 3 partes: 1ª parte para eu falar sobre os projetos que já participei, e perguntas sobre fundamentos e estruturas de dados. Na 2ª parte foram perguntas específicas dejava. Na 3ª parte, o Team Leader me deu um problema para que eu fizesse uma arquitetura. E a noite fiz uma prova escrita (também em inglês).Na última etapa, e a mais importante segundo o gerente do projeto aqui no Brasil,foi uma entrevista que durou cerca de 30 minutos, onde estavam presentes o Team Leader (aqui no Brasil), 2 americanos (responsáveis pelo projeto) e eu.

  1. blog: onde você sentiu mais dificuldade com o idioma Listening ou Speaking?
    Alberto: Minha maior dificuldade foi com o speaking, justamente pelo motivo de não praticar com muita freqüência fora da sala de aula.

  1. blog: o que foi mais fácil entender um brasileiro falando em inglês ou os americanos?
    Alberto: Sem dúvidas, entender o brasileiro falando em inglês é muito mais fácil, porque quando o sotaque do estrangeiro é muito carregado, ou até mesmo pela sua fluência e domínio da língua é complicado de entender.

  1. blog: É evidente que após uma prova de fogo dessa, ao final o candidato aprende muita coisa e você o que aprendeu?
    Alberto: Constatei que devemos ser sempre sinceros. Desde o início do processo seletivo fui muito sincero, sempre falando a verdade. Pelo o que pude apurar nos fóruns, existem casos em que profissionais são reprovados porque mentem ao longo do processo, e com certeza existe alguém analisando cada etapa da seleção. Outra coisa que me chamou bastante a atenção, foi que devemos nos organizar e administrar melhor o nosso tempo. Pude perceber isso quando estava fazendo a prova escrita, onde o tempo era muito curto e as questões longas.

  1. blog: qual a dica que você dar para o profissional de TI que ainda tem resistência em aprender o idioma?
    Alberto: Estudem inglês! É estremamente necessário em nossa profissão. Já li casos onde as empresas preferem contratar profissionais que possuem inglês e treiná-los na tecnologia ao invés de contratar bons profissionais técnicos e treiná-los em inglês, visto que é mais fácil se familiarizar com uma tecnologia do que com um idioma.

  1. blog: o que mudou ou você acredita que vai mudar agora que você faz parte do team IBM Brazil?
    Alberto: A idéia de participar de um projeto internacional e manter uma convivência diária com o idioma estrangeiro, é altamente estimulante. Muitas oportunidades surgirão. Espero me capacitar mais e aproveitar a convivência com os diversos profissionais que lá estarão, e compartilhar o máximo de conhecimento com eles.

  1. blog: Para fechar essa entrevista, que mensagem você gostaria de deixar para os leitores?
    Alberto: Estudem inglês, estudem tecnologia, leia, leia muito, e leia mais ainda! Explore, sempre que possível, novas tecnologias, tenha sede de conhecimento. Sempre que você aprende uma nova tecnologia, seu conhecimento evolui, e conseqüentemente o número de soluções para a resolução de seu “problema” aumentam. Leia blogs, existem muitos blogs bacanas espalhados pela internet. Acredito que essa é uma das melhores maneiras de se manter atualizado com a comunidade

Espero que tenham gostado dessa novidade,  onde essa é uma de muitas que estão por vim.
Quero agradecer a todos pelo carinho, elogios e criticas que recebi em nosso ultimo post.

abracos e até o próximo post.

Entrevista Inglês, chegou a hora!

phoneinterview

opa! Pessoal, Hoje vou falar de um assunto que pegam todos nos quando estamos concorrendo a um novo emprego: “A entrevista”. Nela ficamos ansiosos, nervosos, não conseguimos dormir feito um anjo(a) enfim ficamos out do nosso contexto de vida normal. Ainda mais quando a entrevista será em inglês, o que fazer?

Bem, pretendo nesse post dar algumas dicas de como proceder para uma maratona como essa, e ainda mais se a entrevista for por telefone que se torna ainda mais difícil para o candidato se o mesmo não estiver com um bom inglês para esse desafio.

O conteúdo postado aqui nada mais são que a minha experiência que já tive em fazer esse tipo de entrevista e o quanto  foi duro passar quando ainda estava no nível Low Intermediate.

As dúvidas que todo candidato tem:

  1. O que será que eles vão me perguntar?
    Perguntas gerais:Como em qualquer entrevista você deve esperar por perguntas sobre sua carreira, com se ver daqui a X anos, por que você quer trabalhar aqui?.
    Perguntas técnicas: isso aqui é não tem dica já que vai depender muito da vaga, mas espere sempre algo relacionado com o que está no seu currículo, o que pode surgir é por exemplo: “Você conhece SOA?” mas nada perguntando a fundo sobre a tecnologia, agora se você falou no seu currículo que conhece se prepare que pode vim uma pergunta mais técnica, então se mentir vão te pegar aqui e você está eliminado, por melhor inglês que você tenha nenhuma companhia quer um mentiroso no time.

  2. Devo ser formal com o inglês?
    Voce deve ser formal sempre, ninguém é seu amigo próximo na entrevista, são seus futuros chefes. E se eles falarem informal com você, não entre no ritmo não, mantenha sua postura de ser formal isso torna a conversa bem elegante para quem ouve.

  3. Devo fazer perguntas ao entrevistador?
    Se ele abrir um espaço faça as perguntas, mas não é recomendável interrompê-lo durante a conversa, vai soar que você “não sabe ouvir”, nem esperou ele terminar!?

  4. Como se  preparar?
    Bem, independente do seu nível de inglês, é recomendável que faça um pre-listening e um pre-Speaking da entrevista. O que é isso? O pre-listening é você montar as possíveis perguntas. E o pre-Speaking serão as suas possíveis repostas, mas você não dará qualquer resposta, pense na forma mais formal possível e evitar repostas curtas como: “I do”.

  5. Em que nível eu devo me candidatar para uma vaga?
    É recomendável se candidatar quando você se sentir no nivel intermediate, até porque boa parte das vagas pedem esse nível como minimo. Caso ainda não tenha alcançado este nível procure praticar o listening e speaking o maximo que puder.

  6. Quando não entender o que fazer?
    Simples, peça formalmente para repetir a pergunta. “May you repeat please?” O entrevistador vai ser compreensivo, porém não abuse da boa vontade.

  7. O que faço logo no inicio da entrevista?
    Simples, use os greetings formais, e se tiver nervoso, deixe isso claro no inicio da entrevista. Fale algo como: “I am sorry, I am nervous this is my first interview in English”.

  8. Há diferenças em ser entrevistado por telefone e pessoalmente?
    Muita diferença, ainda a entrevista pessoal é bem melhor porque você está olho a olho com o entrevistador, consegue ver as ações faciais e se torna melhor a entrevista. Por telefone é apenas audição e mais nada, seu listening deve está bem afinado.

  9. Saber o present perfect é importante
    Conhecer com bastante propriedade o present perfect, contará ponto a favor para você, pois este carrega “sentimentos” do idioma, e isso é muito importante, você não trocar o uso do passado simples na hora que deveria usar o present perfect. Ex.: “I have studied English since XYZ”. Isso diz que você começou um curso no passado e ainda continua estudando. É diferente do past simple, que informa a situação acabou no passado. Se você trocar não terá problema eles vao entender, mas quantos menos “erros” forem cometidos melhor. Agora se disse que é fluente isso vai soar mau para você, um fluente não saber usar a lingua com propriedade, ficará chato não concorda?

Um pouco mais de dicas:

  1. estude para comunicação

  2. mergulhe na lingua

  3. ouça bastante e investa(livros, cursos extras), pois um dia terá um retorno

Enfim essa foi a pouca experiência que conseguir aprender nas poucas entrevista que já fiz. Para aqueles que tem interesse em vir para IBM por exemplo, prepare-se para no minimo umas 4 entrevistas vai rolar, sendo uma delas com o nativo. Isso não importa se você disse fluente ou intermediario no seu currículo, o procedimento é default para projetos internacionais, as vezes acontecem alterações  para atender as necessidades do projeto.

abraço e até o próximo post, e obrigado a todos pelo acesso e feedbacks que venho recebendo com relacao aos posts e blog.

Aprenda For Aprimorado Java 5

Opa Pessoal! Hoje vou falar sobre o for aprimorado conhecido também como for each. Este recurso presente a partir do Java 5 e no exame para certificação. Apresentei como e onde utilizar. Espero que gostem…

Lets go…

carnaval_barra_ondina2

For aprimorado

O for aprimorado tem como objetivo de facilitar o loop em array ou em conjunto (List,Set etc.). A estrutura é bem simples:

for(declaração : expressão)

Declaração: aqui declaramos o tipo da variável que vai receber os elementos de um Array ou Conjunto.

Expressão: aqui será o array ou o conjunto que deseja percorrer.

Exemplo:

for(int a:array){}
obs.: estamos levando em conta que a variável array é um Array do tipo int.

Quando devo usar?

  • quando deseja percorrer todo o conjunto ou array, sem precisar informar o tamanho.

Ponto importante:

  • deve ser usado array e conjuntos do mesmo tipo da declaração(int,double, Object), caso contrário não compila.

  • O for aprimorado não tem como objetivo de substituir o for básico, aqui foi apenas um forma aprimorada de se trabalhar com array e conjunto usando a instrução for. Há situações que o for aprimorado não é mais adequado. ex.: quando é necessário determinar que uma posição em um conjunto ou array.

Na prática:

code-1-forapri


explicação:

  1. primeiramente foi criado um array do tipo int.

  2. Em seguinda temos o for aprimorado que vai percorrer todo o array e ir imprimindo os elementos.

  3. o resultado 1,2,3.

Código não compila:

code-2-forapri

explicação:

  1. É requisito o tipo declarado estar de acordo com o tipo do conjunto ou array, caso contrário o compilador vai reclamar. Conforme o código acima

  2. Na situação apresentada foi informado um array do tipo int e não uma variável do tipo dos elementos do array.

For básico:

code-3-forbasic

  1. observe que o código acima tem o mesmo resultado que o exemplo code 1. Porém tivemos mais linhas para ler.

  2. Um detalhe importante que não deve ser esquecido se sua aplicação vai rodar em uma JVM que a versão for inferior ao Java 1.5 o código não vai compilar se usar for aprimorado.

Abraço a todos e até o próximo post. E bom Carnaval 🙂

Tratamento de exceções na prática

Olá Pessoal!

Continuando o post sobre “Tratamento de exceções”, hoje veremos os casos de uso e os erros de compilações na prática. No post, teremos primeiramente o código e em seguida uma breve explicação da situação (em algumas classes o próprio comentário é a explicação).

Procurei apresentar os casos mais comuns sobre o assunto. Espero que gostem do post.

Lets go…

code-1-excecoes


Explicação: O código acima compila e executa, mas, será exibida uma mensagem Exception in thread “main” java.lang.NegativeArraySizeException já que não é permitido o uso de valor negativo na declaração do tamanho do array. O código compila porque não há nada de errado na estrutura do código, o que aconteceu foi apenas uma falha do programador. Na clausula catch{} o programador pede para mostrar o caminho de onde vem a exceção, mas, o recomendado seria o tratamento para esse tipo de exceção.

Regras a serem seguidas:

  • as exceções mais especificas (subclasses) devem estar acima da sua superclasse na clausula catch{} (em caso de dúvida sobre a hierarquia consulte a imagem hierárquica no post anterior ).

code-2-3-excecies

  • todo método que lançar uma exceção verificada deve declarar (throws) ou tratar (catch{}). Senão o código não compila.

code-4-excecoes


code-5-excecoes


Vou ficando por aqui. Um forte abraço a todos e até a próxima!

Tratamento de exceções em Java

Olá amigos, colegas e leitores!.

Hoje vou falar um pouquinho sobre o tratamento de exceções em Java. Apresentarei o porque usar, sua estrutura e o que é uma exceção. É comum para os iniciantes nos estudos com Java, ao chegar no assunto “Tratamento de Exceções” não conseguir visualizar a utilidade desse recurso e confundir os resultados com as instruções condicionais.

Para não ficar um artigo muito grande e cansativo, teremos um outro para complementar o que foi discutido aqui, porém de modo prático.

Lets go…

studying

Mas a pergunta é: Por que usar tratamento de exceções?

Usar tratamento de exceções permite detectar erros e manipular esses erros, ou seja, tratá-los.

Instruções condicionais & Tratamento de exceções.

A grande diferença, é que instruções não servem para tratar erros e sim para testar condições se X não for verdadeiro. Assim: ao contrário das exceções que tem como objetivo detectar áreas onde possíveis erros possam acontecer e tratá-lo. Lembre o fato de um programador colocar dentro de uma instrução if…else que, se o usuário não digitar os valores válidos, informa que está errado. Isso não quer dizer que aconteceu um erro e ele foi tratado, apenas que, a condição esperada não aconteceu.

Agora veremos abaixo a estrutura de como tratar um erro ou exceção:

try – é usada para indicar um bloco de código que possa ocorrer uma exceção.

catch – serve para manipular as exceções, ou seja, tratar o erro

finally – sempre será executado depois do bloco try/catch. O importante é saber que esse bloco sempre será executado (exceto nos casos de encerramento da jvm System.exit()).

Veja abaixo as combinações válidas e inválidas para o uso do try{}, cacth{} e finally{} (isso é questão de certificação).

Combinações válidas:

try{}

catch{}

try{}

finally{}

try{}

catch{}

finally{}

Inválidas não Compila:

try{}

catch{}

finally{}

try{}

finally{}

catch{}

O que é uma Exceção?

É uma ocorrência que altera o fluxo do programa. As exceções podem ocorrer por falhas de hardware, exaustão de recursos e erros.

  1. As palavras try e catch servem para informar a JVM o que fazer quando ocorrer uma exceção.

  2. Os blocos catch devem aparecer após o try (isso é um requisito); entre os blocos não podem possuir nenhuma instrução.

  3. Quando uma exceção é identificada no try{} o restante do código não é executado e não há um retorno para o termino do código.

Exceções verificadas e não verificadas

– Toda exceção verificada deriva da class Exception.

– As não verificadas ou não-checadas, deriva da class RuntimeException.

Throwable – é o pai de todas as exceções.

Error – não são exceções e sim erros que jamais poderiam ter acontecido. ex.: estouro da memória.

Exception- as classes que deveriam aqui, lançar exceções e não erros de programação. Exemplo: tentar abrir um arquivo que não existe. Então, é lançado uma exceção verificada, porque a classe de leitura de arquivos deriva de Exception.

RuntimeException – são exceções que indicam erros de programas (não de lógica, pois senão não passaria pelo compilador). Esse tipo de exceção é conhecido como não verificada. Sendo assim, não é requisito declarar uma cláusula try{} e catch{}. Ex.: tentar converter “dois” em “2”.

Obs.: Implicitamente, todas as classes em java automaticamente já lançam uma exceção de RuntimeException.

hierarquiaexcecoes

Figura1 – Hierarquia Exceções (nao sou muito bom de desenho rs)

Espero que tenham gostado. Um abraço a todos e até o próximo. Abraços! Não deixem de acessar meu blog.