Google ML SWE Interview – L4 (2025)

Introduction

In May 2025, a candidate was approached by a Google recruiter via LinkedIn for a Machine Learning Engineer (MLE) role at Level 4 (L4) in the Hyderabad office. Although not actively looking for a change, the candidate chose to take the interviews for the experience. With gratitude for the help received from the LeetCode community, the candidate decided to share this interview journey in hopes it assists others on a similar path.

Interview Rounds Overview

The interview process comprised five rounds, including an initial phone screen focused on DSA (Data Structures and Algorithms) and four on-site technical and behavioral evaluations.

📞 Phone Screen (DSA)

Problem: Given a list of strings, group all strings that are rotations of each other.

Example Input: ['abc', 'bca', 'cab', 'xyz']
Expected Output: [['abc', 'bca', 'cab'], ['xyz']]

Approach:
The candidate implemented a near-brute force solution using a dictionary to group rotated variants. The interviewer evaluated the solution on correctness, time complexity, and edge-case handling.

Feedback: Cleared
Expected Result: Hire

🧮 DSA Round 1 – Storage Deletion Order

Problem: Given a hierarchical storage system where a storage unit can only be deleted if it has no children, find the best deletion order.

Example Input:
A → B, C B → C C D

Valid Output: [D, C, B, A] or [C, D, B, A]

Approach:
DFS-based topological sort, followed by a BFS enhancement to group zero-indegree nodes. The interviewer was impressed with the approach and follow-up implementation.

Feedback: Strong Hire

🗺️ DSA Round 2 – Teleporter Network

Problem: Navigate a network of teleporters from a source to a destination with the least cost, accounting for broken teleporters that require a day to fix.

Example:

Connections: 0 → 1, 2, 3 1 → 2, 5 2 → 3, 4, 5 3 → 4, 6 5 → 6 broken = {5} source = 1 destination = 6

Expected Output: 0 (via path 1 → 2 → 3 → 6)

Approach:
Built an adjacency list with associated costs. After attempting BFS and backtracking, switched to Dijkstra’s algorithm. Returned destination cost and explained complexity trade-offs clearly.

Feedback: Strong Hire

💬 Googlyness & Leadership Round

Focus: Behavioral and cultural fit

Sample Questions:

  • Share a time you gave tough feedback that helped someone.

  • Describe an instance where you went above and beyond.

  • What are your learning goals for the next year?

Tip: Strong communication and storytelling helped significantly. Even hypothetical stories were acceptable if delivered convincingly.

Feedback: Strong Hire
Notable Comment: “Do say hi if you plan to join Google after these interviews.”

🤖 ML Domain Round

System Design Prompt: Given a user query, email content, and user profile, design a system that retrieves and ranks relevant emails.

Follow-up: Add personalization based on the user profile.

Discussion:
Explored use of transformer-based dual embedder architecture, cosine similarity for ranking, and embedding generation.

Challenge:
When asked to implement parts of the design, the candidate struggled with coding specifics, particularly in PyTorch. Despite contributing to the design discussion, the inability to recall implementation steps affected the round.

Feedback: Lean No Hire / No Hire

🎯 Final Thoughts

The overall interview journey was positive, with strong performance in algorithmic and leadership rounds. While the ML round highlighted areas to improve, the candidate left with valuable insights and a clear direction for growth in system implementation skills.