sábado, 18 de junho de 2011

GOOGLE: RESPONDA RÁPIDO...

Pra trabalhar na gigante tem que responder às perguntas abaixo, mas o processo seletivo não é tão rápido quanto o tempo que leva pra responder a este questionário, o processo leva pelo menos seis meses, então...mãos a obra, mão na massa...

Obs: as perguntas estavam em inglês. O que fiz então? Traduzi no próprio Google, logo não estará lá a perfeitção da tradução, mas está compreensível...rsrsrsrsrs.





  • Por que você quer se juntar ao Google?
  • O que você sabe sobre o produto do Google e tecnologia?
  • Se você é Gerente de Produto para Adwords do Google, como você pretende comercializar isso?
  • O que você diria durante um seminário produto AdWords ou AdSense?
  • Quem são os concorrentes do Google, e como o Google competir com eles?
  • Você já usou produtos do Google?Gmail?
  • O que é uma forma criativa de nome de marketing do Google, marcas e produtos?
  • Se você é o gerente de marketing de produto para produto Gmail do Google, como você pretende comercializá-lo de modo a alcançar 100 milhões de clientes em 6 meses?
  • Quanto dinheiro você acha que o Google faz diariamente a partir de anúncios Gmail?
  • Nome de um pedaço de tecnologia que você já leu sobre recentemente.Agora me diga o seu própria execução criativa para um anúncio para esse produto.
  • Digamos que um anunciante faz $ 0,10 cada vez que alguém clica em seu anúncio.Apenas 20% das pessoas que visitam o site, clique no seu anúncio.Quantas pessoas precisam para visitar o site para o anunciante para ganhar US $ 20?
  • Estimar o número de alunos que são formandos, os quatro anos de escolas, e pós-graduação com um trabalho nos Estados Unidos a cada ano.



  • Como você aumentar a base de assinantes GMail?
  • Qual é a forma mais eficiente para classificar um milhão de números inteiros?
  • Como você re-posição de ofertas do Google para combater as ameaças competitivas da Microsoft?
  • Quantas bolas de golfe cabem em um ônibus escolar?
  • Está reduzido à altura de uma moeda e sua massa é proporcionalmente reduzido de modo a manter sua densidade original.Você é então jogado em um liquidificador copo vazio.As lâminas começará a se mover em 60 segundos.O que você faz?
  • Quanto você deve cobrar para lavar todas as janelas em Seattle?
  • Como você descobrir se uma máquina de pilha cresce para cima ou para baixo na memória?
  • Explique um banco de dados em três frases para o seu sobrinho de oito anos de idade.
  • Quantas vezes por dia faz ponteiros do relógio se sobrepõem?
  • Você tem que ir do ponto A ao ponto B. Você não sabe se você pode chegar lá.O que você faria?
  • Imagine que você tem um armário cheio de camisas.É muito difícil encontrar um camisa.Então o que você pode fazer para organizar as suas camisas para a recuperação fácil?
  • Todo homem em uma aldeia de 100 casais foi traída por sua esposa.Toda mulher na aldeia instantaneamente sabe quando um outro homem que não seu marido traiu, mas não sabe quando o seu próprio marido tem.A vila tem uma lei que não permite por adultério.Qualquer mulher que possa provar que seu marido é infiel deve matá-lo naquele mesmo dia.As mulheres da aldeia nunca desobedecer a esta lei.Um dia, a rainha da aldeia visitas e anuncia que, pelo menos, um marido tem sido infiel.O que acontece?
  • Em um país em que as pessoas só querem meninos, cada família continua a ter filhos até que eles tenham um menino.Se eles tiverem uma menina, eles têm uma outra criança.Se eles têm um menino, eles param.Qual é a proporção de meninos e meninas no país?
  • Se a probabilidade de observar um carro em 30 minutos em uma rodovia é 0,95, qual é a probabilidade de observar um carro em 10 minutos (assumindo padrão constante probabilidade)?
  • Se você olhar para um relógio ea hora é 3:15, o que é o ângulo entre a hora e as mãos minuto?(A resposta a esta não é zero!)
  • Quatro pessoas precisam atravessar uma ponte de corda bamba para voltar ao seu acampamento à noite.Infelizmente, eles só têm uma lanterna e ele só tem luz suficiente partiu para 17 minutos.A ponte é muito perigoso para atravessar sem uma lanterna, e é apenas forte o suficiente para suportar duas pessoas em um dado momento.Cada um dos campistas anda a uma velocidade diferente.Pode-se atravessar a ponte em 1 minuto, outra em 2 minutos, o terceiro em 5 minutos, eo poke lento leva 10 minutos para atravessar.Como é que os campistas fazê-lo através em 17 minutos?
  • Você está em uma festa com um amigo e 10 pessoas estão presentes, incluindo você eo amigo.seu amigo faz uma aposta que para cada pessoa que você achar que tem o mesmo aniversário que você, você ganha $ 1; para cada pessoa que ele acha que não tem o mesmo aniversário que você, ele recebe US $ 2.se você aceitar a aposta?
  • Quantos afinadores de piano existem no mundo inteiro?
  • Você tem oito bolas todas do mesmo tamanho.7 deles têm o mesmo peso, e um deles pesa um pouco mais.Como você pode encontrar a bola que é mais pesada usando uma balança e apenas duas pesagens?
  • Você tem cinco piratas, classificado 5-1 em ordem decrescente.O pirata de cima tem o direito de propor como 100 moedas de ouro deve ser dividida entre eles.Mas os outros chegam para votar em seu plano, e se menos da metade concorda com ele, ele é morto.Como ele deve alocar o ouro, a fim de maximizar a sua parte, mas ao vivo para apreciá-la?(Dica:. Um pirata acaba com 98 por cento do ouro)
  • Você é dado dois ovos.Você tem acesso a um edifício de 100 andares.Ovos pode ser muito difícil ou muito frágeis significa que ele pode quebrar se cair do primeiro andar ou não pode mesmo quebrar se cair do chão 100.Ambos os ovos são idênticos.Você precisa descobrir o andar mais alto de um prédio de 100 andares, um ovo pode ser descartado sem quebrar.A questão é quantas gotas você precisa fazer.Você está autorizado a quebrar dois ovos no processo.
  • Descrever um problema técnico que você teve e como você resolveu.
  • Como criar um motor de busca simples?
  • Elaborar um plano de evacuação para San Francisco.
  • Há um problema de latência na África do Sul.Diagnosticá-la.
  • Quais são os três desafios a longo prazo de frente para o Google?
  • Nome de três não-Google sites que você visita com freqüência e como.O que você gosta sobre a interface de usuário e design?Escolha um dos três sites e comentar sobre o novo recurso ou projeto que você iria trabalhar.Como você projetá-lo?
  • Se houver apenas um elevador no edifício, como você mudar o design?Como sobre se há apenas dois elevadores no edifício?
  • Quantos de vácuo são feitas por ano nos EUA?



  • Por que os vigias redonda?
  • Qual é a diferença entre um mutex e um semáforo?Qual deles você usa para proteger o acesso a uma operação de incremento?
  • Um homem empurrou seu carro para um hotel e perdeu sua fortuna.O que aconteceu?
  • Explicar o significado de "carne morta".
  • Escreva um programa C que mede a velocidade de uma troca de contexto em um sistema UNIX / Linux.
  • Dada uma função que produz um inteiro aleatório no intervalo de 1 a 5, escreva uma função que produz um inteiro aleatório no intervalo de 1-7.
  • Descreva o algoritmo para uma profundidade-primeiro gráfico travessia.
  • Criar uma biblioteca de classe para escrever jogos de cartas.
  • Você precisa verificar se o seu amigo, Bob, tem o seu número de telefone correto, mas você não pode perguntar a ele diretamente.Você deve escrever uma pergunta sobre o que um cartão e dar-lhe a Eva que vai levar o cartão de Bob e retornar a resposta para você.O que você deve escrever no cartão, além da questão, para garantir Bob pode codificar a mensagem para que Eva não pode ler o seu número de telefone?
  • Como são os cookies passou no protocolo HTTP?
  • Design das tabelas do banco de dados SQL para um banco de aluguer de automóveis.
  • Escrever uma expressão regular que corresponde a um endereço de e-mail.
  • Escreva uma função f (a, b), que recebe dois argumentos de cadeia de caracteres e retorna uma string contendo apenas os caracteres encontrados em ambas as strings na ordem de a.Escrever uma versão que é a ordem N-quadrado e uma que é a ordem N.
  • É-lhe dada uma fonte a uma aplicação que está falhando quando for executado.Após executá-lo 10 vezes em um depurador, você encontrá-lo nunca cai no mesmo lugar.A aplicação é único segmento, e usa apenas a biblioteca C padrão.Quais os erros de programação poderia estar causando isso crash?Como você testar cada um?
  • Explicar como funciona o controle de congestionamento no protocolo TCP.
  • Em Java, qual é a diferença entre final, finalmente, e finalizar?
  • O que é programação multithread?O que é um impasse?
  • Escreva uma função (com funções de auxiliar se necessário) chamado para Excel que tem um valor de coluna excel (A, B, C, D ... AA, AB, AC, ... AAA ..) e retorna um valor inteiro correspondente (A = 1, B = 2, ... AA = 26 ..).
  • Você tem um fluxo de consultas infinito (ou seja: em tempo real, consultas de pesquisa do Google que as pessoas estão entrando).Descreva como você vai encontrar uma boa estimativa de 1000 amostras a partir desta interminável conjunto de dados e em seguida, escrever código para ele.
  • Algoritmos de busca em árvore.Escreva BFS e DFS código, explicar em tempo de execução e requisitos de espaço.Modificar o código para manipular árvores com bordas ponderada e loops com BFS e DFS, tornar a impressão de código caminho para fora do estado meta.
  • É-lhe dada uma lista de números.Quando você chegar ao final da lista você vai voltar para o início da lista (a lista circular).Escreva o algoritmo mais eficiente para encontrar o mínimo # nesta lista.Encontrar qualquer dado # na lista.Os números na lista estão sempre a aumentar, mas você não sabe onde a lista começa circular, ou seja: 38, 40, 55, 89, 6, 13, 20, 23, 36.
  • Descrever a estrutura de dados que é usado para gerenciar a memória.(Pilha)
  • Qual é a diferença entre as variáveis ​​local e global?
  • Se você tem um milhão inteiros, como você classificá-los de forma eficiente?(Modificar um algoritmo de classificação específica para resolver isso)
  • Em Java, qual é a diferença entre estática, final, e const.(Se você não sabe Java eles vão pedir algo semelhante para C ou C + +).
  • Falar sobre seus projetos de classe ou projetos de trabalho (escolher algo fácil) ... então descrever como você poderia torná-los mais eficientes (em termos de algoritmos).
  • Suponha que você tenha uma matriz NxN de números inteiros positivos e negativos.Escrever um código que encontra a sub-matriz com a soma máxima dos seus elementos.
  • Escrever um código para inverter uma string.
  • Implementar divisão (sem usar o operador de divisão, obviamente).
  • Escrever um código para localizar todas as permutações das letras em uma string particular.
  • Que método você usaria para procurar uma palavra num dicionário?
  • Imagine que você tem um armário cheio de camisas.É muito difícil encontrar um camisa.Então o que você pode fazer para organizar a suas camisas para a recuperação fácil?
  • Você tem oito bolas todas do mesmo tamanho.7 deles têm o mesmo peso, e um deles pesa um pouco mais.Como você pode muito bem a bola que é mais pesada usando uma balança e apenas duas pesagens?
  • Qual é o comando em linguagem C para abrir uma conexão com um host externo através da internet?
  • Design e descrever uma aplicação / sistema que mais eficientemente produzir um relatório das principais 1.000.000 solicitações de pesquisa Google.Estes são os dados: 1) Você é dado 12 servidores para trabalhar.Todos eles são máquinas dual-processor com 4GB de RAM, 4x400GB discos rígidos e em rede. (Basicamente, nada mais do que high-end PC) 2) Os dados de registro já foi limpo para você.É composto por 100 bilhões de linhas de log, dividido em 12 320 GB de arquivos de termos de busca de 40 bytes por linha.3) Você pode usar apenas aplicativos personalizados escritos ou disponíveis software open-source livre.
  • Há uma matriz de números [N] de N.Você tem que compor uma saída array [N] de tal forma que de saída [i] será igual a multiplicação de todos os elementos de A [N], exceto A [i].Por exemplo de saída [0] será a multiplicação de A [1] a A [N-1] e de saída [1] será a multiplicação de A [0] e de A [2] para A [N-1].Resolvê-lo sem operador de divisão e em O (n).
  • Há uma lista encadeada de números de comprimento N. N é muito grande e você não sabe N. Você tem que escrever uma função que irá retornar k números aleatórios da lista.Números devem ser completamente aleatória.Dica: 1.Use random função rand () (retorna um número entre 0 e 1) e irand () (retorno 0 ou 1) 2.Isso deve ser feito em O (n).
  • Encontrar ou determinar não existência de um número em uma lista ordenada de números N onde a faixa de números sobre M, M>> N e N grande o suficiente para abranger vários discos.Algoritmo para bater pontos O (log n) de bônus para algoritmo de tempo constante.
  • Você é dado um jogo de Tic Tac Toe.Você tem que escrever uma função em que você passa o jogo inteiro eo nome de um jogador.A função irá retornar se o jogador ganhou o jogo ou não.Primeiro você decidir qual estrutura de dados que você irá usar para o jogo.Você precisa dizer o algoritmo primeiro e depois precisa escrever o código.Nota: Algumas posição pode estar em branco no jogo.Assim, sua estrutura de dados deve considerar esta condição também.
  • Você é dado um array [a1 Para um] e temos que construir um outro array [b1 Para bn], onde bi = a1 * a2 * ... * um ai /.você está autorizado a usar apenas o espaço constante ea complexidade de tempo é O (n).Sem divisões são permitidas.
  • Como você coloca uma árvore de busca binária em um array de forma eficiente.Dica:: Se o nó é armazenado na posição om e seus filhos estão em 2i e 2i +1 (I nível médio ordem sábia) não Sua forma mais eficiente.
  • Como você descobrir o elemento máximo quinto de uma árvore de busca binária de maneira eficiente.Nota: Você não deve usar usar qualquer espaço extra.ou seja, a classificação árvore de busca binária e armazenar os resultados em uma matriz e lista o quinto elemento.
  • Dada uma estrutura de dados tendo primeiros inteiros n e no próximo chars n.A = i1 i2 i3 ... em c1 c2 c3 ... cN.Write um algoritmo no local para reorganizar os elementos do array ass A = i1 i2 c1 c2 ... cn em
  • Dadas duas seqüências de itens, encontrar os itens cujo número absoluto aumenta ou diminui mais quando se compara uma seqüência com os outros, lendo a seqüência de uma única vez.
  • Dado que uma das cordas é muito, muito tempo, eo outro poderia ser de vários tamanhos.Janelas resultará em solução O (N + M), mas poderia ser melhor?Pode ser NlogM ou ainda melhor?
  • Quantas linhas pode ser desenhado em um plano 2D tal que eles são equidistantes de 3 pontos não colineares-?
  • Vamos dizer que você tem que construir mapas Google a partir do zero e orientar uma pessoa em pé sobre Gateway of India (Mumbai) para a Índia Gate (Delhi).Como você faz o mesmo?
  • Dado que você tem uma string de comprimento N e M pequenas seqüências de comprimento L. Como você encontrar de forma eficiente a ocorrência de cada corda pequena na maior?
  • Dada uma árvore binária, por meio de programação você precisa provar que é uma árvore de busca binária.
  • É-lhe dada uma pequena lista ordenada de números e uma lista muito longa ordenada de números - tanto tempo que tinha para ser colocado em um disco em blocos diferentes.Como você encontrar esses números pequena lista na maior?
  • Suponha que você tenha dado empresas N, e queremos, eventualmente, fundi-los em uma grande empresa.Quantos caminhos são theres fundir?
  • Dado um arquivo de 4 bilhões de números inteiros de 32 bits, como encontrar aquele que aparece pelo menos duas vezes?
  • Escreva um programa para exibir as dez palavras mais freqüentes em um arquivo de tal forma que seu programa deve ser eficiente em todas as medidas de complexidade.
  • Design uma pilha.Queremos push, pop, e também, recuperar o elemento mínimo em tempo constante.
  • Dado um conjunto de moedas de denominadores, encontrar o número mínimo de moedas para dar uma certa quantidade de mudança.
  • Dado um array, i) encontrar a mais longa subseqüência contínua crescente.ii) encontrar o maior subseqüência crescente.
  • Suponha que temos N empresas, e queremos, eventualmente, fundi-los em uma grande empresa.Como existem muitas maneiras de fundir?
  • Escrever uma função para localizar o nó meio de uma lista única ligação.
  • Dadas duas árvores binárias, escreva uma função de comparação para verificar se eles são iguais ou não.Significa ser igual que têm o mesmo valor e mesma estrutura.
  • Implementar put / métodos get de um cache de tamanho fixo com algoritmo de substituição LRU.
  • Você é dado com três arrays ordenados (em ordem crescente), que são obrigados a encontrar um trio (um elemento de cada matriz) que tal distância é mínima.
  • Distância é definida assim: Se a [i], b [j] e c [k] são três elementos, em seguida, distância = max (abs (a [i]-b [j]), abs (a [i]-c [k]), abs (b [j]-c [k])) "Por favor, dar uma solução em complexidade de tempo O (n)
  • Como o C + + lidar com construtores e desconstrutores de uma classe e sua classe filha?
  • Escreva uma função que inverte os bits dentro de um byte (ou em C + + ou Java).Escrever um algoritmo que dê uma lista de palavras n, e um inteiro m, e recupera a palavra mth mais freqüentes nessa lista.
  • O que é 2 elevado à potência de 64?
  • Dado que você tem uma string de comprimento N e M pequenas seqüências de comprimento L. Como você encontrar de forma eficiente a ocorrência de cada corda pequena na maior?
  • Como você descobrir o elemento máximo quinto de uma árvore de busca binária de maneira eficiente.
  • Suponha que temos N empresas, e queremos, eventualmente, fundi-los em uma grande empresa.Como existem muitas maneiras de fundir?
  • Não há lista encadeada de milhões de nó e você não sabe o tamanho dela.Escreva uma função que irá retornar um número aleatório da lista.
  • Você precisa verificar se o seu amigo, Bob, tem o seu número de telefone correto, mas você não pode perguntar a ele diretamente.Você deve escrever uma pergunta sobre o que um cartão e dar-lhe a Eva que vai levar o cartão de Bob e retornar a resposta para você.O que você deve escrever no cartão, além da questão, para garantir Bob pode codificar a mensagem para que Eva não pode ler o seu número de telefone?
  • Quanto tempo seria necessário para classificar 1 trillion números?Come-se com uma boa estimativa.
  • Ordem das funções por ordem de seu desempenho assintótico: 1) 2 ^ n 2) n ^ 100 3) n!4) n ^ n
  • Há alguns dados representados por (x, y, z).Agora queremos encontrar os dados pelo KTH.Dizemos (x1, y1, z1)> (x2, y2, z2) quando o valor (x1, y1, z1)> valor (x2, y2, z2) onde o valor (x, y, z) = (2 ^ x) * (3 ^ y) * (5 ^ z).Agora não podemos obtê-lo através do cálculo de valores (x, y, z) ou através de outros cálculos indiretos como lg (valor (x, y, z)).Como resolver isso?
  • Quantos graus estão lá no ângulo entre os ponteiros das horas e dos minutos de um relógio quando o tempo é um 3:15?
  • Dado um array cujos elementos são classificados, retornar o índice de uma ocorrência a primeira de um número inteiro específicos.Fazei isto em sub-linear do tempo.Ou seja, não apenas passar por cada elemento procurando por esse elemento.
  • Dadas duas listas ligadas, retorne a intersecção das duas listas: ou seja, retornar uma lista contendo apenas os elementos que ocorrem em ambas as listas de entrada.
  • Qual é a diferença entre um hashtable e um HashMap?
  • Se uma pessoa disca uma seqüência de números no telefone, o possível palavras / strings podem ser formadas a partir das letras associadas com esses números?
  • Como você inverter a imagem em uma matriz n por n, onde cada pixel é representado por um bit?
  • Criar um mecanismo de armazenamento em cache rápido que, dada uma limitação da quantidade de memória cache, irá garantir que apenas os itens menos recentemente usados ​​são descartados quando a memória cache é atingido quando inserir um novo item.Ele suporta duas funções: String get (T t) e colocar void (String k, t).
  • Criar um modelo de custos que permite que o Google para fazer decisões de compra para comparar o custo de aquisição de mais memória RAM para os seus servidores contra a compra de mais espaço em disco.
  • Projetar um algoritmo para jogar um jogo de Frogger e depois o código da solução.O objetivo do jogo é dirigir um sapo para evitar carros ao atravessar uma rua movimentada.Você pode representar uma pista da estrada através de uma matriz.Generalize a solução para uma estrada N-lane.
  • Que tipo você usaria se você tivesse um grande conjunto de dados no disco e uma pequena quantidade de memória RAM para trabalhar?
  • Que tipo você usaria se você limites exigidos apertado max e queria desempenho altamente regular.
  • Como você armazenar 1 milhão de números de telefone?
  • Criar um jogo 2D rastejando calabouço.Deve permitir vários itens no labirinto - paredes, objetos e personagens controlados por computador.(O foco foi sobre as estruturas de classe, e como otimizar a experiência para o usuário como ele / ela viaja através do calabouço.)
  • Qual é o tamanho da estrutura C abaixo em um sistema de 32 bits?Em um 64 bits?

struct {foo

char a;

char * b;

};


  • Implementar eficientemente três pilhas em uma única matriz.
  • Dado um array de inteiros que é circularmente classificados, como você encontra um número inteiro dado.
  • Escreva um programa para encontrar profundidade da árvore de busca binária sem usar recursão.
  • Encontre o retângulo máximo (em termos de área), sob um histograma em tempo linear.
  • A maioria dos telefones têm agora teclado completo.Antes de existir há três letras mapeada para uma tecla numérica.Descreva como você iria sobre a implementação de sugestões de ortografia e palavra como o tipo de pessoas.
  • Descrever mergesort recursiva e sua execução.Escreva uma versão iterativa em C + + / Java / Python.
  • Como você determinar se alguém ganhou um jogo de tic-tac-dedo do pé em um tabuleiro de qualquer tamanho?
  • Dado um array de números, substitua cada número com o produto de todos os números na matriz, exceto o próprio número * sem * usando a divisão.
  • Criar um cache com rápido olhar para cima que armazena apenas o N, mais recentemente acessados ​​itens.
  • Como criar um motor de busca?Se cada documento contém um conjunto de palavras-chave, e está associado com um atributo numérico, como construir índices?
  • Dado dois arquivos que tem lista de palavras (um por linha), escrever um programa para mostrar a interseção.
  • Que tipo de estrutura de dados você usaria para annagrams índice de palavras?por exemplo, se existe a palavra "top" no banco de dados, a consulta de "pot" deve listar isso.


  • O que é o desvio-padrão anual de um estoque dado o desvio mensal padrão?
  • Quantos currículos que o Google recebe a cada ano para a engenharia de software?
  • Em qualquer lugar do mundo, onde você iria abrir um novo escritório do Google e como você descobrir uma indemnização por todos os empregados neste novo escritório?
  • Qual é a probabilidade de quebrar uma vara em 3 pedaços e formando um triângulo?


  • Você é o capitão de um navio pirata e sua tripulação começa a votar como o ouro é repartido.Se menos da metade dos piratas concordo com você, você morre.Como você recomenda repartir o ouro de tal maneira que você obtenha uma boa parte do espólio, mas ainda sobrevivem?


  • Como você trabalha com um anunciante que não estava vendo os benefícios da relação AdWords devido às conversões pobres?
  • Como você lidaria com uma anunciantes irritado ou frustrado ao telefone?
Fonte: IMPACT Interview.