Google Interview Question
I applied for a job on the Google jobs page. I know that it’s very difficult that a resume gets noticed by Google. Suddenly one fine day, I got a call from Google HR saying that they are interested in my profile and asked me if I was ready to go with the interview process[Come on! Who will say no for Google]. I was surprised.
I was asked to take an initial screen test [Online test].
Online Screen Test [2 hours]
I was asked to take the test at 8.30 pm. They fixed this test a week back. Nobody will call you to remind you to take the test. Nor the interviewer will call you. It is your responsibility to check your mail without fail. On that day, I was expecting a call from google from the evening till 8.25 pm. None called me. I thought that they would have forgotten that.
I planned to do go out and have food. But suddenly, my iPad gave an alert message, and it was from the Gmail app [thanks for iPad, or else I would not have checked my mail in lap top]. It was from google recruiter. The mail stated that he had shared the doc with me, and I must answer the questions in it. A google drive link was given. He mentioned that the test was for 2 hours. I was asked to type answers just below each of these questions.
Round 1 (Technical)
- Given a source array of integers with possible duplicates and a target integer, write an algorithm to find out 2 numbers in source array whose sum is equal to target integer.
- Say you have three tables WORK, USERS, MANAGERS,
If I am a manager, write a select statement to retrieve the work of all users who belong to my team. The mapping of a user to team and team to the manager are defined in the USERS and MANAGERS table.
- In a Chrome extension, which file contains the most important information of the extension like version, pattern matches, etc.
- There are three rooms, and there are Princess, Flowers, and Snake in those rooms. The doors of all the rooms have incorrect nameplates. i.e., the nameplate for the princess’ room is not Princess. Similarly, the nameplate for the Flowers’ room is not Flowers. You need to find the room of the Princess without going to the room of Snake. How do you find it?
- Which is faster: finding an item in a hashtable or a sorted list? And Why?
- What are some of the most popular Data interchange formats when using APIs
- Name some popular APIs for each of these: Social, Commerce, service(like a photo service, etc.)
- How would you change the format of all the phone numbers in 1000 static HTML pages?
- If you had an opportunity to design the Google Suggest system, please let us know how you would approach it and how you would execute the plan in terms of settings up systems like(data stores or databases, indexing services, etc.)
- How do you find out if a number is a power of 2? And how do you know if it is an odd number? Write code in the language of your choice.
Since I had prepared for tech interviews like Amazon, I was able to do it well.
After a week, I got a call from HR and informed that I cleared the first round. Then after two days, I was told that I would have a telephonic interview with one of the Google developers from the AdWords team. They scheduled a telephonic interview the next week
Telephonic interview [Design Thinking Interview ] [1 Hour]
There were two interviewers on the phone. First, they asked me to run through my resume. Then the first question came
- How will it improve the revenue of the cafeteria of the office? Lots of discussions went, and I think I did that well.
- [Actual question which I screwed up. Bad Time for me] Number of users in 2001 for AdWords, chrome, Gmail, Android, and Picassa are in the ratio of 6:9:14:13:8, and in 2004, we add 3 lakh more users. New ratio is 8:12:13:11:6. A number of Picassa users in 2004= 1,44,000. Calculate a number of AdWords users in 2005. A basic math question that even a school student can solve. But in that tension, I was not able to do it. I took some time and finally gave him an answer.
I knew that it would be wrong. But the interviewer said great, let’s move on to the next question[to boost up me – good person]. My actual job role revolves around developing tools for the ad review team, which will review the ad and reject illegal ones. So the third question was related to that. He told me that as I am from a tech background, I need to explain to him technically what will I do. He also said that he did not need the real solution. They will see the way I approach the problem. That an existing problem, and they are open to suggestions.
- In google adwords, there are about 30 million ads from 42 languages. What will I do to review the ads and reject advertisements that do not comply with specific rules? Regarding the criteria under which Google bans an ad as illegal – I discussed different criteria. Out of the criteria’s I told, he asked me to consider only three criteria .a) Link not working
b) Drug-related ads
c) trademarks[trademark used by the companies]
I gave a lot of approaches like for link not working
- a) designing an Autobot that will automatically click ads link and check whether it is redirecting to the correct page or not. Autobots are used by hackers to get money for the ads they posted. I suggested that by designing a similar Autobot, we can validate the link.
- b) to check drug-related ads –
To detect the language, we can first check the geographic location from which the ad is getting posted and can narrow down to some fewer choices from which we can detect the language
I suggested to him that we can create a trie which some specific keywords (like cocaine ) and do pattern matching with that and reject the add it contains any of the works in the trie.
The interviewer gave me another constraint what if there comes an ad “cocaine rehabilitation center” we should reject that kind of ads na. That’s for a good cause. So, I suggested to him that I can maintain another set of trie which can contain those set of keywords.
Fist check trie1 if drug-related keywords exist.
Next, check trie 2 if other types of keyword exist.
- if the keyword only present in trie1 [reject ad]
- If both tire return true [can reject. But it’s better than those ads alone can be subjected to manual evaluation for rejection].
I used trie as it can do the pattern matches faster. For trademarks, also I discussed using similar data structures, and the interviewer was ok with my answer. My sincere thanks to Softwaretestingo [You are doing a great Help]. My entire preparations are only from this site.