Interview Tips & Strategies¶
Advice from successful Google SRE candidates.
General Interview Approach¶
1. Externalize Your Thinking¶
Always explain your thought process out loud.
Bad: (silent thinking, then answer)
Good: "Let me think through this systematically. First, I need to understand if this is a CPU issue or I/O issue, so I would check top to see the wait time..."
Why: Interviewers want to see how you think, not just the answer.
2. Ask Clarifying Questions¶
Don't make assumptions - verify requirements.
Good questions:
- "Is this affecting all users or specific ones?"
- "What changed recently?"
- "Do we have monitoring data?"
- "What's the error message exactly?"
- "Is this a production system or test?"
Why: Shows systematic thinking and that you gather information before acting.
3. Start Broad, Then Narrow¶
Follow a structured approach.
Example for performance issue:
- Check system-level metrics (CPU, memory, disk, network)
- Identify affected component
- Drill down into specific processes
- Examine process internals
- Identify root cause
Why: Demonstrates methodical troubleshooting, not random guessing.
4. Know the "Why"¶
Don't just memorize facts - understand the reasoning.
Bad: "TCP uses three-way handshake."
Good: "TCP uses three-way handshake to synchronize sequence numbers and prevent old duplicate connections from being accepted."
Why: Interviewers will ask "why" repeatedly to test depth.
5. Practice Troubleshooting¶
Treat it as a role-playing exercise.
- Ask the interviewer questions as if debugging a real system
- Request additional information
- Explain what you expect to see
- Adjust based on their responses
Why: Troubleshooting questions test your diagnostic skills and communication.
6. Be Systematic¶
Use structured problem-solving approaches.
For any problem:
- Define the problem
- Gather information
- Form hypotheses
- Test hypotheses
- Implement solution
- Verify
Why: Shows engineering discipline.
7. Admit When You Don't Know¶
Honesty is respected.
Good: "I'm not certain about the exact implementation, but my understanding is... Let me reason through what would make sense..."
Bad: (making up information)
Why: Showing reasoning ability is better than fake knowledge.
Technical Preparation¶
What to Study¶
Priority order:
- System calls and kernel internals (most important)
- Memory management (malloc, paging, virtual memory)
- Networking (TCP/IP, DNS, protocols)
- File systems (inodes, VFS)
- Process management (fork, exec, scheduling)
- Performance tools (top, strace, tcpdump)
How to Study¶
1. Read "The Linux Programming Interface"
- Most recommended book by successful candidates
- Read chapters 1-5, 13-28, 44-63 minimum
- Do the exercises
2. Hands-On Practice
# Set up a Linux VM
# Practice commands:
- strace, ltrace, lsof
- tcpdump, ss, netstat
- top, vmstat, iostat
- gdb for debugging
# Build small programs:
- Client/server socket program
- Multi-process/multi-threaded program
- Memory allocator simulation
3. Understand Command Output
Don't just know commands - understand their output:
- What does each field in
topmean? - How to interpret
vmstatoutput? - What's normal vs abnormal in
iostat?
4. Practice Explaining
- Explain concepts to a friend or rubber duck
- Write blog posts
- Draw diagrams
- Teach someone else
Common Gaps to Address¶
Topics candidates often weak on:
- Detailed malloc() implementation
- Page table structure and walking
- TCP window scaling and congestion control
- Futex implementation
- How strace actually works (ptrace)
- initramfs purpose and contents
- Difference between soft and hard interrupts
During the Interview¶
Technical Questions¶
When explaining:
- Start high-level
- Offer to go deeper
- Use diagrams if helpful (virtual whiteboard)
- Connect to related concepts
Example: "When fork() is called, [high-level explanation]. Would you like me to go into details about how Copy-on-Write works? [Diagram of page tables] This relates to how malloc() also uses page allocation..."
Troubleshooting Questions¶
Your process:
- Repeat the problem to confirm understanding
- Ask clarifying questions
- State your approach
- Walk through investigation steps
- Explain what each command tells you
- Form hypothesis based on findings
- Propose solution
- Discuss verification and prevention
Example:
"So the web server is slow. Let me start by asking - is this affecting all requests or specific ones? [Wait for answer] Okay, I would first run top to see if we have a CPU or I/O issue. If I see high %wa, that suggests..."
Behavioral Questions¶
Use STAR method:
- S Situation: Context
- T Task: What needed to be done
- A Action: What you did
- R Result: Outcome and learning
Be ready to discuss:
- Conflict resolution
- Leadership examples
- Learning from failure
- Cross-team collaboration
Common Mistakes to Avoid¶
❌ Don't¶
- Jump to conclusions: "It's definitely the database"
- Get flustered: Stay calm, think out loud
- Argue with interviewer: Listen to hints
- Memorize without understanding: Will be exposed
- Give up: Show persistence
- Ignore hints: Interviewers may guide you
- Be overconfident: Acknowledge uncertainty
✅ Do¶
- Think systematically
- Communicate clearly
- Show enthusiasm
- Ask questions
- Build on feedback
- Connect concepts
- Show practical experience
What Interviewers Look For¶
Technical Depth¶
- Can you go beyond surface knowledge?
- Do you understand "why" not just "what"?
- Can you explain trade-offs?
Problem-Solving¶
- Systematic approach?
- Logical reasoning?
- Adapt to new information?
Communication¶
- Explain clearly?
- Good listener?
- Ask good questions?
Experience¶
- Practical knowledge?
- Real-world scenarios?
- Tool familiarity?
Learning¶
- Curious about technology?
- Learn from mistakes?
- Keep skills updated?
The Bar is High¶
- Preparation matters enormously
- Structured study can overcome lack of experience
- Communication skills are as important as knowledge
- Showing thought process helps even if answer isn't perfect
Final Tips¶
- Sleep well: Don't cram the night before
- Arrive early: Reduce stress
- Ask for clarification: Better than wrong assumption
- Use whiteboard: Draw diagrams liberally
- Think before speaking: Brief pause is okay
- Stay positive: Even if one question goes badly
- Learn from it: Even if you don't pass, valuable experience
After the Interview¶
Regardless of outcome:
- Write down questions you remember
- Research topics you struggled with
- Practice those areas
- If you don't get offer, reapply after more preparation
The process itself is valuable learning.
Resources for Interview Prep¶
See Resources for books, websites, and materials.
Good luck! 🚀