A Google Interview Experience of an Ordinary Person
Preface
During my university years, AI technology was developing hotly. Therefore, there were frequent media reports about Google’s working environment, the leader of AI technology. Playground-like offices, endless snacks and drinks, five-star free meals, earning a million-dollar annual salary and sleeping whenever you want. Its internal fantasy refreshed my worldview of a job. Since then, I gradually became curious about this company. Although curious, I always held a wait-and-see attitude. The standard for admitting people to such a dream enterprise is naturally abnormally high. Ideally, they only accept bookworm gods or competition players from NTU EE/CS. Looking at my miserable school grades, I couldn’t imagine how to get a ticket to Google.
In my senior year, the department opened a corporate visit. The location was the Google I dreamed of. I signed up without hesitation, thus opening the fate of my first encounter with Google. At that time, the headquarters in Banqiao had not yet been established. We visited the headquarters located in 101. As the elevator to the 76th floor rose rapidly, the excitement was hard to suppress. The moment the elevator doors opened, I was greeted by the dream kingdom I dreamed of. It turned out that what the news said was true: free ice cream, free drinks, free five-star meals, coupled with the high-altitude view from the 76th floor, it really felt like a vacation. The amusement equipment and nap rooms were also real, fully reflecting Google’s trust in employees. After communicating with the employees leading us, I learned about the freedom of Google’s employee management. It is not only freedom in working hours, but employees also have considerable dominance over work items. Employees can even form small groups to initiate projects. Thus ended the first encounter with Google in shock. Since then, entering Google became my dream. I knew my shortcomings deeply and could only move towards there step by step.

During the summer vacation of my senior year, I had an opportunity to go to San Francisco, USA. Taking this opportunity, I visited the dream place in my heart again, Google headquarters in Mountain View. However, this time it was a pity that I didn’t have connections to take me inside for a visit. I could only wander around the campus as a tourist. Although I could only look from the outside, I could feel the atmosphere of the entire company centered on Have Fun. Bicycles, beach volleyball courts, and various picnic areas everywhere were simply a large resort. Later I also went to the souvenir center near the campus to buy a lot of souvenirs. The pilgrimage trip made me feel the charming vitality of this company and the charm of Silicon Valley, the legendary place of the technology industry. With the creativity here and the changes brought to the world, I thought to myself that one day in the future, I also hope to come here to work.

After returning to Taiwan, I entered graduate school. Originally, I didn’t have much confidence in my technical ability. After entering graduate school, I was surrounded by powerful people from all walks of life, which made me feel deeply that there is still a long way to go to enter Google. I must have a higher level of accumulation in technical ability and research ability. Holding this mentality, while being chased by research progress, I also participated in various side projects and hackathons as much as possible. I also participated in several startup projects and accumulated some experience in participating in startups. Amidst stumbling mixed with extraordinary luck, in the last year of graduate school, I was extremely lucky to get an internship opportunity at Microsoft, starting a year of life running between internship and graduate school. Although this old software company is slightly inferior to popular internet companies like Google and Facebook, as an old but evergreen tech giant, it still provided me with a lot of growth nutrients. The improvement of development technical ability and the cultivation of project management ability also allowed me to glimpse the life mode in technology companies.
In 2021, Google in Banqiao was established, which will be the largest hardware R&D center in Asia. What can be expected is that Google will have large-scale talent recruitment activities in Taiwan, and the difficulty of entering Google will be slightly easier than before. I deeply knew that this was a very good opportunity to enter Google. At the end of 2021, I received an interview invitation from Google HR on Linkedin for the first time. After interviewing with HR, I learned that this was a Hardware Engineer vacancy under Google Silicon, recruiting engineers with EE background or hardware development experience in Taiwan. It’s a pity that I had never learned hardware design and knew nothing about verilog. There was no follow-up news after the interview…
In early 2022, heard that a junior schoolmate entered Google. I cheekily asked him to help refer me and applied for the 2022 Software Engineer Campus Recruitment. This time I was finally not shut out and successfully got the opportunity for the first interview. Thus began the devil-level interview challenge journey.
Background
Bachelor’s in Information Management double major in Forestry from NTU + Master’s from NTU Telecommunication Engineering. Never participated in programming competitions, nor contributed to open source projects. Only did Side Projects and Hackathons with a few friends. Failed Programming Design in sophomore year because spent too much time in clubs, retook it in junior year and passed with A+. Data Structures and Algorithms were only at an ordinary level.
Preparation
Started grinding questions around December 2021. There was a period in between rushing research progress and wasting some time during Chinese New Year. After the New Year, to force myself to grind questions, I bought a one-year Leetcode Premium. It seems to be a very good investment now. In addition, I also bought the widely recommended Cracking the coding interview, but only read one or two chapters I wasn’t familiar with. My strategy for grinding questions in the early stage was starting from Dynamic Programming. At that time, I watched Huahua Jiang’s Dynamic Programming Ultimate Learning Strategy series videos to accumulate skills in thinking about DP problems. Around February, I started aiming to finish the first 100 Leetcode questions, starting from Easy, then Medium. In March, I started aiming to finish Blind 75. After finishing Blind 75 once, I went to look at the Hard questions in the first 100 questions. Finally, in the week before Onsite, I worked hard to grind Google interview high-frequency questions. I have to say Leetcode Premium organizing high-frequency questions is really convenient (and really quite useful XD). During this period, I would go up and write Daily every day, counting as forcing myself to maintain the feeling of solving problem every day. The number of questions ground was about 150 before Phone Interview, and about 230 before Onsite. Compared to various gods, it shouldn’t be considered much, but for myself it was enough. All types of questions were covered. My feeling was that I could stably solve Medium, and could come up with feasible solutions for Hard. It’s a pity that I didn’t find friends to help Mock interview during this time. The accumulation of interview experience relied on actual combat accumulation. Before this, I also interviewed with Amazon and Nvidia.
Because Google’s Technical Interview will have at least two rounds of all-English interviews, English is also a very important part. Although it doesn’t need to be as fluent as a Native speaker, at least the logic must be conveyed correctly. My English part mainly relied on what I accumulated during the internship, including daily chat terms and ability to explain technology. I am very grateful to people who were willing to communicate with me and practice English with me during this time.
Record of grinding questions during this period
Stats of grinding questions
Timeline
2022/01/20 -> Received friend’s referral notification email, submitted resume on official website, applied for Software Engineer, University Graduate, 2022 2022/03/07 -> Received email from HR notifying interview arrangement 2022/03/28 -> Phone Interview 2022/04/07 -> Notified passing Phone Interview, preparing to arrange Virtual Onsite Interview 2022/04/25 -> First day Virtual Onsite Interview, two rounds Technical Interview + one round Behavior Interview 2022/04/26 -> Second day Virtual Onsite Interview, two rounds Technical Interview 2022/05/07 -> Notified interview result most on positive 2022/05/26 -> Learned that Hiring policy might change
Process
To say what needs most attention in the interview, I would feel it is to maintain a normal heart. This is also what I think is the most difficult part of the interview. After all, interviewing with your dream company, mixed emotions of excitement, expectation, nervousness etc., it is difficult to maintain a normal heart. During the first Phone Interview, I was even too nervous to sleep for the two nights before. What I could do was go to Youtube to find various videos of foreigners talking about software engineer interviews to watch, reminding myself of points to pay attention to in the interview. English ones could also practice English listening by the way. Here are a few recommended videos:
- Interview Process Analysis, explaining software engineer interview in SOP way, simple & easy to understand
- Google Technical Interview Experience Sharing, this one explains the interview process and precautions very carefully, very valuable for reference
- How to tech interview Like a Pro, this presents the process of coding interview in a funny way, quite interesting
Phone Interview
I sat in front of the computer waiting about ten minutes before the scheduled time. However, the interviewer hadn’t come online when I clicked in at the scheduled time, which made me nervous thinking if I remembered the time wrong. After waiting for about ten minutes, the interviewer finally came, apologizing that a previous meeting delayed a bit. The interviewer was actually a kind Chinese young lady. Initially she asked a problem similar to string comparison, about Easy level. Basically I thought of the solution as soon as I saw the question. After stating the solution, the interviewer also agreed with this solution, so I spent about 10 minutes finishing coding this question. Then she indicated there was a Follow up, more like using the concept of the first question repeatedly, belonging to Medium level. When thinking about this question, I originally thought I just needed to reuse the solution of the first question, but found that my solution used in the first question was not the optimal solution. I panicked a bit here. Fortunately, the young lady was very nice, constantly guiding me to think of a better solution. Finally I came up with a better solution and spent a few minutes implementing it. Before the interview ended, the young lady indicated there was actually a better solution, so used another few minutes to ask for advice, but she indicated she hadn’t thought of this solution herself either. Personal evaluation: overall interview performance was okay, problem solving wasn’t very fluent, got stuck in the middle, but solved it, so not bad. Later passed this round of interview.
Onsite Interview
Technical Interview #1
This round was a very nice Chinese uncle, didn’t arrive late either. Asked a variation of sorting problem. Initially thought it was Easy, but after actually solving it found it had Medium difficulty. Completely underestimated the depth of this question. Proposed a feasible solution at the very beginning, but the interviewer hoped I propose the optimal solution. Just like this, in the 30min of discussing solution, I proposed at least five or six solutions, and analyzed the difference in complexity under different input ranges, but I didn’t propose the optimal solution. Later with the interviewer’s hint I came up with the optimal solution, but time was basically used up. I could only quickly implement the idea. Later thinking back, the algorithm I implemented had Bugs. Fortunately the interviewer was very nice, didn’t rush to end the interview, instead tried to leave as much time as possible for me to finish the interview. Finally the interviewer responded that he thought this was a very interesting discussion, and thought I proposed many interesting ideas. With the experience of Phone Interview, I didn’t feel less nervous, instead was constantly worried the interviewer would come with a Hard question right away. In terms of the interview situation, I felt my performance was relatively terrible.
Technical Interview #2
This round was a young guy too lazy to talk. Asked a question similar to finding substring. He first asked me to think of a brute force solution. I basically had an idea and gave the solution right after reading the question. After he listened, he felt okay so asked me to implement. I spent about ten minutes implementing and explained the time complexity. Then he hoped I propose the optimal solution. I actually wasn’t confident about the optimal solution, only felt strings should be handled with prefix tree. So I proposed my idea. Unexpectedly he responded this was the correct line of thought. So continuing thinking I gave the optimal solution. Finished this round quite smoothly. Difficulty was about Medium. After bombing the first round, the mood in this round was much more relaxed. A bit of a “whatever” feeling. Probably because the mood was relaxed a lot, thoughts were clearer. Sure enough, nervousness is the big devil.
Behavior Interview
This round was a Chinese sister interviewing. First asked some quite common Behavior questions like team cooperation and how to communicate. Detailed questions have detailed info online. More surprisingly, the interviewer asked a question somewhat similar to product design. Because I completely didn’t anticipate this beforehand, I could only answer by imagination. But felt the interviewer didn’t seem very satisfied. At the end of the interview, gave a feedback thinking my answer wasn’t very deep, but she thought I might lack work experience, so not answering deeply was also within expectation. Overall answering was acceptable, at least gave steady and moderate answers.
Technical Interview #3
Starting from the third round it became English interview. The interviewer was still a Chinese guy. Have to say communicating in English with someone whose mother tongue is also Chinese is really much lower difficulty. Maybe because the thinking behind is still stuck in Chinese framework. The interviewer asked a tree traverse and output path question, highly similar to a Google high-frequency question on leetcode. Just happened to write it when grinding questions a few days ago. Almost instantly thought of optimal solution. Of course seeing original question was very exciting. Spent about 15 minutes explaining and finishing coding. Then the interviewer gave me a follow up. Superficially it was an extension of the above question, but actually already transformed into BFS finding shortest path between two points question. Quite an interesting Follow up. This variation couldn’t be found on leetcode. This question was also medium difficulty.
Technical Interview #4
The fourth round was a Chinese guy without much expression. Asked a question similar to blind 75 pacific atlantic water flow. First reaction after reading question linked to this blind 75 question. Afterwards also proved using same method could solve this question. Spent about 20 minutes explaining and finishing code. Then interviewer also gave a follow-up. But this follow-up wasn’t as interesting as previous round, just simple increase in quantity. Solved by modifying code slightly using same method. This question difficulty about Medium. Result was instead this interviewer thought the code I wrote had slight flaws. Sure enough, seeing familiar questions still cannot be too careless.
Follow-up
My interview time was valid as the tail end of Google 2022 Campus Hire. Most vacancies were already filled. So later it became directly no Headcount to proceed with Team match. So at that time I was mentally prepared to wait until next year’s campus hire to continue.
Later as everyone saw, under the pressure of US interest rate hikes, major companies began to be forced to streamline manpower. The campus hire in Taiwan was also delayed until November to start, and headcount would have to wait until early next year after manpower policy is confirmed to be more certain. Fortunately interview results can be kept for one year. Just pray next year there are still opportunities to continue the interview process.
Although I haven’t successfully entered my Dream company, I am still very grateful for opportunities and help provided by many people along the way. Also thanks to the Google HR assisting me for tirelessly providing various info on recruitment process.