Skip to content

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:

  1. Check system-level metrics (CPU, memory, disk, network)
  2. Identify affected component
  3. Drill down into specific processes
  4. Examine process internals
  5. 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:

  1. Define the problem
  2. Gather information
  3. Form hypotheses
  4. Test hypotheses
  5. Implement solution
  6. 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:

  1. System calls and kernel internals (most important)
  2. Memory management (malloc, paging, virtual memory)
  3. Networking (TCP/IP, DNS, protocols)
  4. File systems (inodes, VFS)
  5. Process management (fork, exec, scheduling)
  6. 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 top mean?
  • How to interpret vmstat output?
  • 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:

  1. Start high-level
  2. Offer to go deeper
  3. Use diagrams if helpful (virtual whiteboard)
  4. 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:

  1. Repeat the problem to confirm understanding
  2. Ask clarifying questions
  3. State your approach
  4. Walk through investigation steps
  5. Explain what each command tells you
  6. Form hypothesis based on findings
  7. Propose solution
  8. 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

  1. Jump to conclusions: "It's definitely the database"
  2. Get flustered: Stay calm, think out loud
  3. Argue with interviewer: Listen to hints
  4. Memorize without understanding: Will be exposed
  5. Give up: Show persistence
  6. Ignore hints: Interviewers may guide you
  7. Be overconfident: Acknowledge uncertainty

✅ Do

  1. Think systematically
  2. Communicate clearly
  3. Show enthusiasm
  4. Ask questions
  5. Build on feedback
  6. Connect concepts
  7. 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

  1. Sleep well: Don't cram the night before
  2. Arrive early: Reduce stress
  3. Ask for clarification: Better than wrong assumption
  4. Use whiteboard: Draw diagrams liberally
  5. Think before speaking: Brief pause is okay
  6. Stay positive: Even if one question goes badly
  7. 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! 🚀