Preparing for an interview? Check out Cracking the Coding Interview
Published on

Google SRE-SE | Bangalore | L3 | Rejected

Author
  • Shared Anonymously

Hi Folks, I recently gave interview for an SRE-SE engineer role and I am not able to process that I got rejected in Googlyness round.

Current Position: DevOps Engineer in a Service based company
YOE: 3.3 yrs
Position offered : SRE- Systems Engineer - L3
Location: Bangalore
Compensation: same as SWE

I appiled directly on Google careers portal and got HR call within 2 days.

Overall process took 4 months, HR reached out to me on june 23rd , since I had planned vacation starting from first week of july, I asked to start the process from August and we both agreed on timelines.

HR asked my preference for interviews, either we can split the interview in multiple days or schedule all at once. I preferred split interviews.

SRE-SE position is mostly mix of programming, troubleshooting issues, reducing toil of the systems, working on upgrading and making efficient systems.

SRE-SE engineers do not require to be master in programming but atleast he/she should be able to solve a real time problem. for the first round, I prepared coding questions like below. I generated all the questions from chatGPT, I solved around 30 Hard, 50 medium and 50 easy questions and did all the variations of questions.

Write a Python program to read a log file and extract all the lines that contain error messages.  
Write a Python program to find the most frequent IP address in a log file.  
Write a Python program to identify all failed login attempts in a log file and extract the usernames.  
Write a Python program to extract and display metadata (e.g creation time, last modification time) from a file.  
Write a Python program to compare the sizes of multiple files and identify the largest and smallest ones.  
Write a Python program to filter out all lines in a file that start with a specific prefix.  

Round 1:- (Scripting + Linux Internals) - 12th August- Elimination Round
Duration 45 mins
This round was the easiest I would say, Interviewer asked one scripting question(based on file manipulation in python, you are free to choose any programming language), It was a kind of finding duplicates. I solved within 15 mins and explained it in 2-3 mins.
Linux Internals- some questions on Inode, components of Inode, networking commands, performance commands. I answered almost all the questions except 1-2.

Tips:- To prepare for first round, you should be well versed with Linux commands. suppose "top command generates overall system related outputs, so interviwer might ask to write a script to extract commands that is taking more than more than 20% system cpu and it should be in running state".

Ask clarifying questions and finalize a solution. I did pretty good in this round and was confident that I would pass.

After 10 days HR reahed out to me via call and confirmed that we can move ahead.

Round 2- Scripting round - 2nd Sept
Duration 45 mins
Interviewer was some onshore guy, he was taking interview from London office. He explained all the process in 2-3 mins. He also told me that he was going to assess my skills based on thinking, even if I am not able to complete the entire code it was fine to him.

He asked one real-time scripting question(based on dictionary) and put some conditions over it that I cannot use a particular module. so I had to think a solution and eventually I was able to solve that problem. since the question was too complicated, I took almost 15 mins to understand it and finalize a solution.

I coded the solution in next 20 mins. He was satisfied with my solution.
For scripting round, prepare topics like Dictionary, Hashmaps, String manipulations, regex patterns, KMP algos, Rabin-Karp algo, backtracking.
I did not prepare anything from leetcode, just listed all the patterns searching algos and prepared from GFG.

Self-assessment:- Hire

Round 3 - Linux Internals- 10th Sept
Duration 45 mins
This round was too problematic for me because the interviwer was from Poland and his vocal chord and accent was really bad, also he was taking interview while laying in bed...I was not able to understand what he was saying...I asked multiple times to write on the shared docx whatever he was saying.

He just asked one command - ping - and made it too complicated that you can't even imagine. I was trying to shift his focus from that command but he was really stubborn and wanted me to solve that question with ping command only...I asked few clarifying questions and he gave me hints to use awk command. I was able to solve that problem by using awk and ping command, but it took almost 30-35 mins of our time.

we were left with only 10-15 mins for other questions...he asked me questions about screen/tmux and some networking commands - traceroute, nslookup, bg/fg, ssh sessions. I answered them all.

Self - assessment- Lean hire/

These are the topics that you should cover for Linux Round:  
  
Virtual memory (Paging, demand paging, anonymous vs. file-backed memory, shared memory, page faults, dirty pages, page cache, swapping, memory mapping, memory protection, lazy allocation,  memory layout, overcommit, TLB, MMU, OOM)  
Signals (Know key signals such as SIGTERM, SIGSTP, SIGCHLD, SIGKILL, SIGSEG, signal handlers, signal masking, default handlers, tracing signals)   
  
Processes (Exec/Fork, Zombie/Orphan, copy on write, Race Conditions After fork() ,Interruptible and uninterruptible Sleep, RSS Vs VSZ , Runqueue/Scheduler latency, Completely fair scheduler and other scheduler policies, Preemption, Context switching, CPU registers and caches, userspace threads/lightweight threads/coroutines,)  
  
Interprocess communication and Locking (Advantages / Disadvantages of each approach, a rough idea of how it’s implemented, what are the system calls)  
    
Networking stack (which part is in the kernel, which part is handled by userspace libraries, common syscalls, sockfs)  
Control groups (what it is, how it works) and namespaces (unlikely but good to cover)  
System calls (you should know the 12 key system calls, how they are initiated, CPU protection rings, mode switch, userspace vs. kernel space)  
  
Tracing (strace, ltrace, ptrace, perf, user-space tracing, kernel tracing)  
Virtual file system or VFS (pseudo-file-systems such as proc, sockfs, pipefs and how shared memory integrates with VFS, file descriptors, open file descriptions table, inodes, NFS, LVM, software RAID, extended file attributes, a bit about ACLs and SeLinux, SSD vs HDD, path resolving in linux)  
  
  
Linux boot process (unlikely but good to cover, rather high-level. BIOS -> MBR -> grub -> kernel -> init -> userspace)  
Main responsibilities of the kernel and init (remember to ask the questions, e.g., why do we need a kernel?)  
Interrupts (what events cause interrupts, interrupt context vs. thread context, how interrupts are executed, top half and bottom half, and a bit about interrupt masking)  
  
Common Linux tools (iostat, vmstat, top, pidstat, uname, touch, rm, cd, kill, iotop, mount, df, du, lsof, etc. you should know when they are used, how they are used, and what is the output)  

After these two rounds, HR called me after 2 weeks and told me that your Linux interview round has negative feedback(which I already expected). I told her that I was not able to understand the voice of the interviwer.

She told me that she'll still proceed with third round of Interview and if needed she can schedule the Linux inteview round again since it was not my fault, I told her that I was facing issues while listening to interviwer.

Round 4- Troubleshooting round- 30th sept
This round was very interesting, I enjoyed a lot. The interviwer was very old person, we started by discussing an architecture issue that he pasted in the shared docx. He gave the scenarios based on the image and asked me to find the fix. we covered below topics while having discussions.
Performance
I/O
Memory
Storage
Throughput
Loadbalanching
CDN
Firewalls
Security

You have to dicuss each and every possibility to find the fix. He asked 7-8 questions related to infra issues, I was able to identify root cause of all the issues. Although the interview was intended to be around 45mins, but It got extended upto 90 mins.(yesss 90 mins\uD83D\uDE01\uD83D\uDE01)

I did pretty well in this round. And Interviwer was very satisfied.
Self -assessment:- Strong Hire

Troubleshooting round questions were very open ended, so you and your interviwer have to come to a common conclusion based on discussions, sometimes interviwer might have an answer already and he want you to come to that answer.

Below questions are just examples that I prepared, you can generate similar questions from chatGPT.

How do you determine if a server is experiencing memory leaks?  
What debugging techniques would you use to diagnose a segmentation fault in a program?  
How do you identify and mitigate DDoS (Distributed Denial of Service) attacks on a server?  
Explain how you would troubleshoot a server experiencing high disk I/O wait times.  
How to increase your I/O performance?  
You are trying to run a command, but it says no more PIDs available. What can be the reason, and how will you solve the issue?  
How would you handle a misbehaving process consuming excessive swap space?  
How would you troubleshoot network communication between two servers?  
Troubleshooting a slow application – where do you start?  
How would you troubleshoot a DNS resolution failure between two systems?  

Round 5- Googlyness- 30th Oct
I didn't expect that I'd perform below average in this round. I really fu**ked this round myself.

I prepared almost 25-30 scenario and Leadership questions before interview... I did almost 9-10 mocks with Gemini AI- Conversational AI.

The interviwer was Indian in this round and was leading one of the SRE team.

We started the interview with scenario based question that was too long and had 2-3 questions in same question.
One of the biggest mistake i did was not asking clarifying questions. I started giving answers based on the scenario and he started asking followup questions in-between , I answered them as well, but I forgot to answer the extra questions that was included in main question.(1st mistake), so you have to listen all the questions very carefully.

He asked one Leadership question as well, I again jumped into answering question rather than asking clarifying questions(blunder mistake), and while I was answering, I realized that "ohh damn! I am not giving answer what he is expecting and it was too late to come back or start again" and he caught me there. Till that time I realized that I ruined my inteview already. I kept my calm and smiled througout, but my heart was sinking. I was about to cry....

Q1:- Tell me a time when you worked in a diverse team, what are the benefits of it and how do you make everyone satisfied on a particular subject in that team? Also how would you take feedback on conflicts in a diverse team?

There were 2 leadership questions, I can't reveal that question.

4th Nov
I got a call from my HR that my Googlyness round was not up to par, and they can't allow candidates to be weak or doubtful in answering Leadership questions. so even though all the rounds were good, I failed in Googlyness.

The overall process took around 4 months, I left all my entertainments, going-out, didn't applied anywhere to be focused on the Google only, but it was not in my destiny. Google was a dream that came to my door with open arms and i ruined it. idk how much time it'll take for me to process this failure.

Wishing you good Luck!!!....

Let me know if you have any questions

ReportMark as Helpful