Petit cadeau de Noël : voici une liste de 147 questions que Google poserait (pas toutes lors de chaque entretien rassurez-vous !) en entretien d'embauche. Je la publie aujourd'hui en anglais et je la traduirai progressivement dans les prochains jours pour les non anglophones (voir liste des questions en anglais). Mais si vous avez quelques minutes à m'accorder, je suis également preneur de vos traductions - merci par avance de les faire en commentaire de cet article !
Quelques exemples cultes
Combien de balles de golf contient un bus scolaire ? Combien factureriez-vous pour laver toutes les vitres de la ville de Seattle ? Un homme pousse sa voiture sur un hôtel et perd sa fortune, que s'est-il passé ? Combien d'accordeurs de piano y a-t-il dans le monde ? Si vous regardez l'heure et qu'il est 3h15, quel angle forme les deux aiguilles ?
Pourquoi poser de telles questions (en apparence stupides) ?
Dans une logique de communication différenciante, pour faire parler de l'entreprise (c'est réussi !). Pour tester le sens de la repartie, la créativité, la logique, le sang froid, l'honnêteté (savoir dire "je ne sais pas"), le bon sens... des candidats ! A lire aussi : la fiche pratique intitulée "100 questions posées par les recruteurs" (format PDF, coût de 1,98€) !
La liste des 148 questions posées par Google en entretien
Questions posées pour un chef/directeur/responsable de projet marketing
- Pourquoi souhaitez-vous rejoindre Google ?
- Que savez-vous des produits et de la technologie Google ?
- Imaginez que vous êtes un chef de produit pour Google Adwords, comment vendez-vous le produit ?
- Que diriez-vous dans le cadre d'un séminaire pour parler de Google Adwords et de Google Adsense ?
- Qui sont les concurrents de Google et quels sont nos avantages concurrentiels ?
- Avez-vous déjà utilisé des produits Google ? Utilisez-vous Gmail ?
- Citez-moi une façon créative de vendre la marque et les produits Google
- Vous êtes le responsable marketing de Gmail : quelle est votre stratégie pour conquérir 100 millions de nouveaux clients en 6 mois ?
- A votre avis, combien d'argent les publicités sur Gmail génèrent-elles par jour ?
- Citez-moi une technologie dont vous avez entendu parler récemment. Et dites-moi comment vous en feriez la publicité ?
- Prenons l'hypothèse qu'un annonceur gagne 10 cents à chaque fois qu'un internaute clique sur sa publicité. Seulement 20% des visiteurs cliquent sur les publicités. Quelle audience ce site doit-il avoir pour générer 20 dollars de chiffre d'affaires ?
- Estimez le nombre d'étudiants diplômés d'un bachelor et qui trouvent un emploi aux Etats-Unis chaque année
Questions posées pour un chef de produit
- Comment feriez-vous pour booster le nombre d'utilisateurs de Gmail ?
- Quel est selon vous le moyen le plus efficace pour trier un million de comptes ?
- Comment repositionneriez-vous l'offre de Google pour contrer les offensives de Microsoft ?
- Combien de balles de golf contient un bus scolaire ?
- Vous êtes réduit à une pièce de 5 cents et vous êtes jeté dans un mixeur. Les lames vont s'actionner dans 60 secondes. Que faites-vous ?
- Combien devriez-vous facturer votre prestation pour laver toutes les vitres de la ville de Seattle ?
- How would you find out if a machine’s stack grows up or down in memory?
- Expliquez ce qu'est une base de données en 3 phrases à une enfant de 8 ans.
- Combien de fois par jour les aiguilles d'une montre se chevauchent-elles ?
- You have to get from point A to point B. You don’t know if you can get there. What would you do?
- Imaginez votre placard rempli de chemises. Comment ranger vos chemises de façon à faciliter votre choix chaque matin ?
- Dans un village 1 homme sur 100 couples mariés trompe sa femme. Chaque femme du village sait immédiatement quand un mari a trompé sa femme (sauf son propre mari). Le village a une loi qui condamne l'adultère. Chaque femme qui peut prouver que son mari l'a trompé doit le tuer. Un jour, la reine du village annonce qu'au moins un homme du village a trompé sa femme. Que s'est-il passé ?
- Dans un pays où chaque famille souhaite un garçon, chaque couple continue à avoir des enfants jusqu'à obtenir un garçon. S'ils ont une fille, ils font un autre enfant. S'ils ont un garçon ils s'arrêtent. Quelle est la proportion de filles et de garçons dans ce pays ?
- Si la probabilité de voir une voiture sur une autoroute pendant 30 minutes d'observation est de 95%, quelle est la probabilité de voir une voiture en seulement 10 minutes d'observation ?
- Si vous regardez votre montre et qu'il est 3h15, quel angle forment es deux aiguilles de votre montre (l'angle n'étant pas nul) ?
- Four people need to cross a rickety rope bridge to get back to their camp at night. Unfortunately, they only have one flashlight and it only has enough light left for seventeen minutes. The bridge is too dangerous to cross without a flashlight, and it’s only strong enough to support two people at any given time. Each of the campers walks at a different speed. One can cross the bridge in 1 minute, another in 2 minutes, the third in 5 minutes, and the slow poke takes 10 minutes to cross. How do the campers make it across in 17 minutes?
- You are at a party with a friend and 10 people are present including you and the friend. your friend makes you a wager that for every person you find that has the same birthday as you, you get $1; for every person he finds that does not have the same birthday as you, he gets $2. would you accept the wager?
- How many piano tuners are there in the entire world?
- You have eight balls all of the same size. 7 of them weigh the same, and one of them weighs slightly more. How can you find the ball that is heavier by using a balance and only two weighings?
- You have five pirates, ranked from 5 to 1 in descending order. The top pirate has the right to propose how 100 gold coins should be divided among them. But the others get to vote on his plan, and if fewer than half agree with him, he gets killed. How should he allocate the gold in order to maximize his share but live to enjoy it? (Hint: One pirate ends up with 98 percent of the gold.)
- You are given 2 eggs. You have access to a 100-story building. Eggs can be very hard or very fragile means it may break if dropped from the first floor or may not even break if dropped from 100th floor. Both eggs are identical. You need to figure out the highest floor of a 100-story building an egg can be dropped without breaking. The question is how many drops you need to make. You are allowed to break 2 eggs in the process.
- Décrivez-moi un problème technique que vous avez dû résoudre.
- Comment concevriez-vous un moteur de recherche en ligne ?
- Comment concevoir un plan d'évacuation de la ville de San Francisco ?
- Il y a un problème de latence sur le réseau sud africain : comment faites-vous un diagnostic de la situation ?
- Quels sont les 3 grands défis qui attendent Google dans les prochaines années ?
- Citez-moi 3 sites web non administrés par Google et que vous appréciez. En terme d'interface et de design, quels sont leurs points forts ? En vous focalisant sur l'un de ces 3 sites, quelle fonctionnalité aimeriez-vous développer pour nous ?
- S'il n'est prévu qu'un seul ascenseur dans un immeuble classique, quel changement opéreriez-vous dans la structure de l'immeuble ? Cela changerait-il quelque chose si on ajoutait un 2e ascenseur ?
- Combien d'aspirateurs sont-ils fabriqués chaque année aux Etats-Unis ?
Questions posées pour un ingénieur (logiciel)
- Pourquoi les plaques d'égoût sont-elles rondes ?
- Quelle est la différence entre un Mutex et un Sémaphore (programmation informatique) ? Lequel utiliseriez-vous pour protéger l'accès à une opération d'incrémentation ?
- Un homme a perdu toute sa fortune en poussant sa voiture jusqu'à un hôtel. Que s'est-il passé ?
- Expliquez ce que signifie l'expression "boeuf mort"
- Ecrivez en langage C un programme qui mesure la vitesse d'un changement de contexte dans un environnement UNIX/Linux.
- Prenons une fonction qui produit des nombres entiers de façon aléatoire entre 1 et 5. Que faut-il changer à cette fonction pour produire des chiffres entiers entre 1 et 7 ?
- Describe the algorithm for a depth-first graph traversal.
- Design a class library for writing card games.
- You need to check that your friend, Bob, has your correct phone number, but you cannot ask him directly. You must write a the question on a card which and give it to Eve who will take the card to Bob and return the answer to you. What must you write on the card, besides the question, to ensure Bob can encode the message so that Eve cannot read your phone number?
- How are cookies passed in the HTTP protocol?
- Comment concevriez-vous une base de données sous SQL pour une activité de location de produits ?
- Write a regular expression which matches a email address.
- Write a function f(a, b) which takes two character string arguments and returns a string containing only the characters found in both strings in the order of a. Write a version which is order N-squared and one which is order N.
- You are given a the source to a application which is crashing when run. After running it 10 times in a debugger, you find it never crashes in the same place. The application is single threaded, and uses only the C standard library. What programming errors could be causing this crash? How would you test each one?
- Explain how congestion control works in the TCP protocol.
- In Java, what is the difference between final, finally, and finalize?
- What is multithreaded programming? What is a deadlock?
- Write a function (with helper functions if needed) called to Excel that takes an excel column value (A,B,C,D…AA,AB,AC,… AAA..) and returns a corresponding integer value (A=1,B=2,… AA=26..).
- You have a stream of infinite queries (ie: real time Google search queries that people are entering). Describe how you would go about finding a good estimate of 1000 samples from this never ending set of data and then write code for it.
- Tree search algorithms. Write BFS and DFS code, explain run time and space requirements. Modify the code to handle trees with weighted edges and loops with BFS and DFS, make the code print out path to goal state.
- You are given a list of numbers. When you reach the end of the list you will come back to the beginning of the list (a circular list). Write the most efficient algorithm to find the minimum # in this list. Find any given # in the list. The numbers in the list are always increasing but you don’t know where the circular list begins, ie: 38, 40, 55, 89, 6, 13, 20, 23, 36.
- Describe the data structure that is used to manage memory. (stack)
- What’s the difference between local and global variables?
- If you have 1 million integers, how would you sort them efficiently? (modify a specific sorting algorithm to solve this)
- In Java, what is the difference between static, final, and const. (if you don’t know Java they will ask something similar for C or C++).
- Talk about your class projects or work projects (pick something easy)… then describe how you could make them more efficient (in terms of algorithms).
- Suppose you have an NxN matrix of positive and negative integers. Write some code that finds the sub-matrix with the maximum sum of its elements.
- Write some code to reverse a string.
- Implement division (without using the divide operator, obviously).
- Write some code to find all permutations of the letters in a particular string.
- What method would you use to look up a word in a dictionary?
- Imagine you have a closet full of shirts. It’s very hard to find a shirt. So what can you do to organize your shirts for easy retrieval?
- You have eight balls all of the same size. 7 of them weigh the same, and one of them weighs slightly more. How can you fine the ball that is heavier by using a balance and only two weighings?
- What is the C-language command for opening a connection with a foreign host over the internet?
- Design and describe a system/application that will most efficiently produce a report of the top 1 million Google search requests. These are the particulars: 1) You are given 12 servers to work with. They are all dual-processor machines with 4Gb of RAM, 4x400GB hard drives and networked together.(Basically, nothing more than high-end PC’s) 2) The log data has already been cleaned for you. It consists of 100 Billion log lines, broken down into 12 320 GB files of 40-byte search terms per line. 3) You can use only custom written applications or available free open-source software.
- There is an array A[N] of N numbers. You have to compose an array Output[N] such that Output[i] will be equal to multiplication of all the elements of A[N] except A[i]. For example Output[0] will be multiplication of A[1] to A[N-1] and Output[1] will be multiplication of A[0] and from A[2] to A[N-1]. Solve it without division operator and in O(n).
- There is a linked list of numbers of length N. N is very large and you don’t know N. You have to write a function that will return k random numbers from the list. Numbers should be completely random. Hint: 1. Use random function rand() (returns a number between 0 and 1) and irand() (return either 0 or 1) 2. It should be done in O(n).
- Find or determine non existence of a number in a sorted list of N numbers where the numbers range over M, M>> N and N large enough to span multiple disks. Algorithm to beat O(log n) bonus points for constant time algorithm.
- You are given a game of Tic Tac Toe. You have to write a function in which you pass the whole game and name of a player. The function will return whether the player has won the game or not. First you to decide which data structure you will use for the game. You need to tell the algorithm first and then need to write the code. Note: Some position may be blank in the game? So your data structure should consider this condition also.
- You are given an array [a1 To an] and we have to construct another array [b1 To bn] where bi = a1*a2*…*an/ai. you are allowed to use only constant space and the time complexity is O(n). No divisions are allowed.
- How do you put a Binary Search Tree in an array in a efficient manner. Hint :: If the node is stored at the ith position and its children are at 2i and 2i+1(I mean level order wise)Its not the most efficient way.
- How do you find out the fifth maximum element in an Binary Search Tree in efficient manner. Note: You should not use use any extra space. i.e sorting Binary Search Tree and storing the results in an array and listing out the fifth element.
- Given a Data Structure having first n integers and next n chars. A = i1 i2 i3 … iN c1 c2 c3 … cN.Write an in-place algorithm to rearrange the elements of the array ass A = i1 c1 i2 c2 … in cn
- Given two sequences of items, find the items whose absolute number increases or decreases the most when comparing one sequence with the other by reading the sequence only once.
- Given That One of the strings is very very long , and the other one could be of various sizes. Windowing will result in O(N+M) solution but could it be better? May be NlogM or even better?
- How many lines can be drawn in a 2D plane such that they are equidistant from 3 non-collinear points?
- Let’s say you have to construct Google maps from scratch and guide a person standing on Gateway of India (Mumbai) to India Gate(Delhi). How do you do the same?
- Given that you have one string of length N and M small strings of length L. How do you efficiently find the occurrence of each small string in the larger one?
- Given a binary tree, programmatically you need to prove it is a binary search tree.
- You are given a small sorted list of numbers, and a very very long sorted list of numbers – so long that it had to be put on a disk in different blocks. How would you find those short list numbers in the bigger one?
- Suppose you have given N companies, and we want to eventually merge them into one big company. How many ways are there to merge?
- Given a file of 4 billion 32-bit integers, how to find one that appears at least twice?
- Write a program for displaying the ten most frequent words in a file such that your program should be efficient in all complexity measures.
- Design a stack. We want to push, pop, and also, retrieve the minimum element in constant time.
- Given a set of coin denominators, find the minimum number of coins to give a certain amount of change.
- Given an array, i) find the longest continuous increasing subsequence. ii) find the longest increasing subsequence.
- Suppose we have N companies, and we want to eventually merge them into one big company. How many ways are there to merge?
- Write a function to find the middle node of a single link list.
- Given two binary trees, write a compare function to check if they are equal or not. Being equal means that they have the same value and same structure.
- Implement put/get methods of a fixed size cache with LRU replacement algorithm.
- You are given with three sorted arrays ( in ascending order), you are required to find a triplet ( one element from each array) such that distance is minimum.
- Distance is defined like this : If a[i], b[j] and c[k] are three elements then distance=max(abs(a[i]-b[j]),abs(a[i]-c[k]),abs(b[j]-c[k]))” Please give a solution in O(n) time complexity
- How does C++ deal with constructors and deconstructors of a class and its child class?
- Write a function that flips the bits inside a byte (either in C++ or Java). Write an algorithm that take a list of n words, and an integer m, and retrieves the mth most frequent word in that list.
- What’s 2 to the power of 64?
- Given that you have one string of length N and M small strings of length L. How do you efficiently find the occurrence of each small string in the larger one?
- How do you find out the fifth maximum element in an Binary Search Tree in efficient manner.
- Suppose we have N companies, and we want to eventually merge them into one big company. How many ways are there to merge?
- There is linked list of millions of node and you do not know the length of it. Write a function which will return a random number from the list.
- You need to check that your friend, Bob, has your correct phone number, but you cannot ask him directly. You must write a the question on a card which and give it to Eve who will take the card to Bob and return the answer to you. What must you write on the card, besides the question, to ensure Bob can encode the message so that Eve cannot read your phone number?
- How long it would take to sort 1 trillion numbers? Come up with a good estimate.
- Order the functions in order of their asymptotic performance: 1) 2^n 2) n^100 3) n! 4) n^n
- There are some data represented by(x,y,z). Now we want to find the Kth least data. We say (x1, y1, z1) > (x2, y2, z2) when value(x1, y1, z1) > value(x2, y2, z2) where value(x,y,z) = (2^x)*(3^y)*(5^z). Now we can not get it by calculating value(x,y,z) or through other indirect calculations as lg(value(x,y,z)). How to solve it?
- How many degrees are there in the angle between the hour and minute hands of a clock when the time is a quarter past three?
- Given an array whose elements are sorted, return the index of a the first occurrence of a specific integer. Do this in sub-linear time. I.e. do not just go through each element searching for that element.
- Given two linked lists, return the intersection of the two lists: i.e. return a list containing only the elements that occur in both of the input lists.
- What’s the difference between a hashtable and a hashmap?
- If a person dials a sequence of numbers on the telephone, what possible words/strings can be formed from the letters associated with those numbers?
- How would you reverse the image on an n by n matrix where each pixel is represented by a bit?
- Create a fast cached storage mechanism that, given a limitation on the amount of cache memory, will ensure that only the least recently used items are discarded when the cache memory is reached when inserting a new item. It supports 2 functions: String get(T t) and void put(String k, T t).
- Create a cost model that allows Google to make purchasing decisions on to compare the cost of purchasing more RAM memory for their servers vs. buying more disk space.
- Design an algorithm to play a game of Frogger and then code the solution. The object of the game is to direct a frog to avoid cars while crossing a busy road. You may represent a road lane via an array. Generalize the solution for an N-lane road.
- What sort would you use if you had a large data set on disk and a small amount of ram to work with?
- What sort would you use if you required tight max time bounds and wanted highly regular performance.
- How would you store 1 million phone numbers?
- Design a 2D dungeon crawling game. It must allow for various items in the maze – walls, objects, and computer-controlled characters. (The focus was on the class structures, and how to optimize the experience for the user as s/he travels through the dungeon.)
- What is the size of the C structure below on a 32-bit system? On a 64-bit?
Questions posées pour un ingénieur logiciel, spécialisé dans les tests
- Efficiently implement 3 stacks in a single array.
- Given an array of integers which is circularly sorted, how do you find a given integer.
- Write a program to find depth of binary search tree without using recursion.
- Find the maximum rectangle (in terms of area) under a histogram in linear time.
- Most phones now have full keyboards. Before there there three letters mapped to a number button. Describe how you would go about implementing spelling and word suggestions as people type.
- Describe recursive mergesort and its runtime. Write an iterative version in C++/Java/Python.
- How would you determine if someone has won a game of tic-tac-toe on a board of any size?
- Given an array of numbers, replace each number with the product of all the numbers in the array except the number itself *withoutusing division.
- Create a cache with fast look up that only stores the N most recently accessed items.
- How to design a search engine? If each document contains a set of keywords, and is associated with a numeric attribute, how to build indices?
- Given two files that has list of words (one per line), write a program to show the intersection.
- What kind of data structure would you use to index annagrams of words? e.g. if there exists the word “top” in the database, the query for “pot” should list that.
Google Interview : Quantitative Compensation Analyst
- Comment calculer l'écart moyen annuel d'une action, connaissant les écarts mensuels ?
- D'après vous, combien de CV reçoit Google chaque année pour des poste d'ingénieurs logiciels ?
- En regardant la carte du monde, à quel endroit ouvririez-vous un nouveau bureau Google et comment feriez-vous pour évaluer les salaires de l'équipe en place ?
- Quelle est la probabilité qu'en cassant un bâton en trois morceaux, vous puissiez former un triangle ?
Questions posées pour un manager ingénieur
- Vous êtes le capitaine d'un bateau et votre équipage se réunit pour voter votre proposition de partage de l'or accumulé. Si le vote vous est défavorable (< 50% des votes), vous mourez. Comment optimiser votre position (obtenir une part de butin tout en restant en vie) ?
Google Interview : AdWords Associate
- Comment géreriez-vous un annonceur insatisfait de son contrat AdWords en raison des faibles conversions en chiffre d'affaires ?
- Comment gérez-vous un client annonceurs furieux au téléphone ?
► Pour vous doter d'outils performants dans vos démarches, je vous invite à découvrir les Packs CV, Entretiens et Lettres de motivation (cliquez sur les images pour ouvrir chaque pack). Dans chaque pack, 2 à 7 modules vous sont immédiatement offerts !
► A découvrir aussi, les 3 packs 1er job, Psy et confiance en soi et Recherche 100% (cliquez sur les images pour ouvrir chaque pack). Dans chaque pack, 2 à 3 modules vous sont immédiatement offerts !
Merci pour votre témoignage Poullain :)
Rédigé par : Gilles Payet | 14 avril 2018 à 09:31
J ai passe récemment une VAE
Je peux vous affirmer que malheureusement une jury n à pas du tout etait conforme à la fonction de jury
Certes j ai fait une grosse erreur â l écrit et je n ai pas réussi l entretien téléphonique donc je ne mérite pas del avoir
 au un moment lors de l entretien cette femme n à été objective tout mon travail fourni était nul â ces yeux et alors so faciès fermé dure et dedegneux
He oui cela existe malheureusement
Je suis moi même jury et je peux.vous dire que lors de la formation on nous recommende bién de rester rassurant
Rédigé par : Poullain | 11 avril 2018 à 20:08
Merci Tonio, f4b1 et Jean-Louis pour vos retour :)
Gilles
Rédigé par : Gilles Payet | 23 janvier 2017 à 22:55
Super constructif Gilles, on adore !
Rédigé par : Jean louis | 23 janvier 2017 à 09:52
C'est vraiment très intéréssant toutes ces questions posées par Google, ca doit vraiment pas être facile de répondre à certaines sous pression lors d'un entretien d'embauche ...
Rédigé par : f4b1 | 07 décembre 2016 à 11:34
Intéressant, merci Gilles !
Rédigé par : Tonio | 26 décembre 2015 à 18:21