Hacker Rank Array - Part 1 2023-04-28 [tag_english] [tag_interview] [tag_coding] The next step after [the Warm Up challenges] are the array challenges. And so I did it. Now I am going to recap what I did and how I did. And what complexity the algorithms have. # Array Manipulation
A Common-Sense Guide to Data Structures and Algorithms 2023-04-28 [tag_books] [tag_interview] Meu próximo livro para praticar entrevistas técnicas é este de Jay Wengrow. Jay queria explicar de maneira menos matemática e alienígena para programadores como algoritmos e estruturas de dados funcionam e como conceber bons algoritmos e medir a eficiência de algoritmos já prontos. Tudo isso serve também para você que deseja passar nas entrevistas técnicas e suas pegadinhas.
Hash Table Giratória 2023-04-19 [tag_interview] [tag_coding] Ainda estudando e praticando testes de entrevista me veio essa em que seja possível realizar somas para todas as chaves de uma hash table. Curioso, nunca tinha pensado nesta feature. Imagine que temos uma tabela de hash entre inteiros em que `{ 1: 8, 2: 9 }`. A chave corresponde ao hash.
Árvore de segmentos 2023-04-17 [tag_interview] [tag_coding] Não existe sequer uma entrada em português sobre Segment Tree, uma árvore binária específica para guardar intervalos. E este acredito ser um assunto importante para testes de entrevista ou competições de programação porque ele é muito útil para alguns problemas. Vamos dar uma olhada em como ela funciona.
Hacker Rank Warm Up 2023-04-16 [tag_interview] [tag_coding] Here I am doing interview exercise tests at Hacker Rank. I am trying to recap what I've been doing the last two months before going on. Let's see what I learned, starting with the Warm Up exercises. # Counting Valleys
Código para Fibonacci 2023-04-11 [tag_interview] [tag_coding] Zero e um são os primeiros números Fibonacci e todos os outros que se seguem são a soma dos dois números anteriores. Ou seja, para implementar isto em código basta: - Usar duas variáveis para os dois números anteriores;
Como verificar se um número é primo 2023-04-11 [tag_interview] [tag_coding] Apesar de existir matemáticos ao redor do mundo tentando responder esta pergunta da maneira computacionalmente mais rápida possível, existe uma forma ingênua e eficiente para números baixos: - Faça um loop entre 2 e a metade do número;
Como inverter um número 2023-04-11 [tag_interview] [tag_coding] Existe uma solução para a inversão de um número que não é bonita, mas prática: transforme em string e inverta essa string. int ReverseNumberStringVersion(int number) { string s = to_string(number);
Segundo maior número 2023-04-09 [tag_interview] [tag_coding] Esta é uma das primeiras questões que peguei para praticar para entrevistas que é ligeiramente mais complicada do que parece, apesar de simples o suficiente para matar em alguns segundos. A questão: como determinar qual o segundo maior número de um array?
Onde fica o meio de uma lista ligada? 2023-04-09 [tag_interview] [tag_coding] É simples descobrir o meio de um array: pegue seu tamanho e divida por dois. Agora, para uma lista ligada, mesmo que você saiba qual o índice do meio, não é por meio de índices que acessamos seus elementos, mas por ponteiros.
Como pegar caracteres repetidos em uma string 2023-04-09 [tag_interview] [tag_coding] A resposta rápida para esta questão é: hash tables. Com hash tables você consegue através de uma chave agrupar qualquer tipo de informação. No caso de caracteres repetidos em uma string a chave é o próprio caractere. Os passos para conseguir isso são os seguintes:
Como inverter uma string 2023-04-09 [tag_interview] [tag_coding] O bom de estar praticando para fazer entrevistas técnicas é ter material para novos postes. E este poste é sobre um assunto bem simples para quem já sabe como funcionam strings, mas complexo o suficiente para quem nunca ouviu falar de memória no computador.
Como inverter uma lista ligada 2023-04-09 [tag_interview] [tag_coding] Inverter uma string ou qualquer array em geral é muito simples se for pensar: itere do começo ao fim e do fim ao começo trocando as posições dos primeiros elementos com os últimos. Caminhe até a metade. Fim.
Como funciona o insertion sort 2023-04-09 [tag_interview] [tag_coding] Entre os algoritmos de ordenação mais simples de se entender o insertion sort está na lista. E isso acontece porque ele é intuitivo. É mais ou menos como podemos fazer para ordenar um deck de cartas: pegamos item a item e vamos inserindo em um segundo deck, mas dessa vez observando onde cada carta deve ser inserida para que o deck final esteja ordenado.
Como funciona o bubble sort 2023-04-09 [tag_interview] [tag_coding] Uma das piores ordenações possíveis, mas uma das mais simples de entender, é a bubble sort. Ela é passada para estudantes de computação porque é um algoritmo possível de explicar sem entrar em muitos detalhes do seu funcionamento, e também porque seu funcionamento é intuitivo.
Como descobrir se uma string é mutuamente rotativa 2023-04-09 [tag_interview] [tag_coding] Uma string mutuamente rotativa é uma string que se rotacionarmos para a direita ou para a esquerda, com os caracteres "indo parar" do outro lado, é comparável com a string original. Exemplos: - "abacate" é mutuamente rotativa com "cateaba";
O melhor teste técnico até agora 2023-03-26 [tag_interview] [tag_coding] [tag_series] As três séries citadas neste post foram: "Que Cilada!", "Três Metros Acima do Céu" e "A Vida Mentirosa dos Adultos". Hoje fiz mais um teste técnico. O melhor de todos. Não posso contar, por contrato, sobre o que ele se trata, mas posso contextualizar que não é um exercício de lógica, de estrutura de dados e de pegadinhas com complexidade de algoritmo para resolver problemas fictícios. Se trata de um problema que os devs da empresa tiveram que resolver, resolveram e agora pedem para que o candidato resolva. Dão nove horas para isso, começando quando quiser. O sistema de envio valida a compilação do código, que você pode enviar quantas vezes quiser, semelhante ao HackerRank, e no final, depois dos testes que eles atenciosamente lembram para você fazer, você clica no botão para submeter sua resposta. Caso falhe o sistema te diz por que falhou e lhe dá ainda mais uma segunda chance.
Algorithms for Dummies 2023-03-14 [tag_coding] [tag_interview] [tag_books] De John Mueller e Luca Massaron, este livro mantém a fama da série "for Dummies", com livros de conteúdo bem estruturado, acessível para a maioria dos leitores e ainda útil para quem já está acostumado com um termo ou dois do assunto, ou até o assunto inteiro.
Coders at Work: Reflections on the Craft of Programming 2011-10-14 [tag_interview] [tag_coding] [tag_books] > "Personally I have never believed that it is possible to be a good coder without being a good programmer nor a good programmer without being a good designer, communicator, and thinker." - Jamie Zawinski