Cracking the Code Interview – Como se dar bem na entrevista técnica (algoritmos)

Vou começar uma série de posts aqui no blog dando dicas de como você pode se dar bem numa Coding Interview, ou em bom português: Entrevista Técnica.

Esse é um momento de qualquer processo seletivo para desenvolvedor de software, que causa medo em MUITA gente. Eu mesmo sou um dos que “ainda” tremem um pouco na hora de desenvolver um algoritmo ao vivo, ali na frente do avaliador.

Até porque começam a surgir um monte de abobrinhas na cabeça na hora da entrevista, o medo muitas vezes toma conta, você não consegue sair do lugar, não consegue escrever 10 linhas de código decente e de repente já se passaram 45min.

Aí o avaliador agradece a você e diz que vai “avaliar” internamente o seu teste e caso você passe, eles irão te contatar novamente. Bullshit!!! Aí é quase certo que você já tomou bomba na entrevista técnica.

Pois bem, com esses posts eu quero ajudar àqueles que tem essa dificuldade (de fazer entrevistas que envolvem algoritmos, estrutura de dados, etc) e ao mesmo tempo melhorar as minhas próprias habilidades neste quesito.

Estou na área de software a MUITO tempo e uma coisa que SEMPRE notei é que não importa o quão BOM programador você é, vai existir alguma entrevista técnica (coding interview) em que você vai tomar uma surra do algoritmo na sua frente.

Afinal, na nossa área NINGUÉM sabe TUDO!!! Isso é real…é uma constante. Então eu já quero começar falando aqui para você NÃO se comparar com outros. VOCÊ é VOCÊ. Os OUTROS são os OUTROS.

Em outras palavras….Como diria o filósofo “pôfexô” Luxemburgo:

Uma coisa é uma coisa, outra coisa é outra coisa…

PADRÕES

Em uma entrevista técnica que envolva código ou resolução de algum problema usando algoritmos, uma coisa que temos que ter bem em mente é que existe um PADRÃO.

Vou explicar: Um dos maiores medos de qualquer candidato é cair uma pergunta ou problema que ele nunca resolveu, nem ouviu falar ou não teve a oportunidade de estudar anteriormente para saber a resposta ou o caminho para a resolução daquele problema.

– Ahhh mas esse cara aí (avaliador) sabe a resposta do algoritmo e eu não…pra ele é fácil…mas eu… eu nunca vi isso antes na minha vida !!! #facepalm

Uma vez que estudamos os principais padrões que caem numa entrevista técnica envolvendo código, ficamos bem na fita e aprendemos a reconhecer de longe qual algoritmo ou estrutura de dados usar para resolver determinado problema.

O reconhecimento destes padrões melhora com a prática deliberada. Ainda vou escrever um post sobre este assunto. É muito interessante!!!

NÃO ADIANTA FUGIR

Eu mesmo já fui um dos que fugia desse tipo de entrevista como um rato foge de um gato.

Mas saiba que até programadores “famosos” como o Max Howell criador do Homebrew já bombaram feio em entrevistas técnicas desse tipo. E ele não gostou nem um pouco dessa experiência…

Uma coisa é certa…quer goste quer não…a entrevista técnica (Coding Interview) vai estar lá e você vai ter que enfrentá-la mais cedo ou mais tarde.

PRÁTICA, PRÁTICA E MAIS PRÁTICA

Lembra que eu falei acima sobre prática deliberada? Então…é isso que você vai precisar fazer se quiser ficar fera em resolver problemas que envolvam código e algoritmos. Utilizando esta técnica a aprendizagem se torna mais rápida e atingiremos o nosso objetivo (passar numa entrevista técnica).

Focando nossa atenção em aprender quais os padrões mais utilizados, não estaremos apenas memorizando respostas prontas, mas estaremos aprendendo quais os caminhos para se chegar à resolução daquele determinado problema.

Fiquem ligados pois durante este ano de 2017 quero abordar bastante este assunto aqui no blog.

See ya !!

Andre Almar