Interview Experience – Senior Software Engineer (Moody’s)
Summary
I recently went through the interview process for a Senior Software Engineer role at Moody's, which consisted of 4 rounds focusing on system design, data structures & algorithms, and behavioral aspects. I was selected for the role.
Full Experience
Recently went through the interview process for a Senior Software Engineer role. Sharing my experience in case it helps others preparing.
TL;DR: 4 rounds – System Design / LLD (60 min), DSA (60 min), Hiring Manager (90 min), Director (30 min). Strong emphasis on communication, design clarity, and fundamentals.
Process consisted of 4 rounds:
Round 1 – System Design / LLD (60 mins)
Focus was on API design and backend best practices. Topics discussed: • Designing REST APIs • Choosing appropriate HTTP status codes • Structuring request/response models • Error handling strategies • Design principles like modularity, separation of concerns, and maintainability • Writing clean and extensible APIs
Round 2 – DSA (60 mins) – 3 Problems
Problem 1 – Graph BFS Similar to the Minimum Genetic Mutation problem where you mutate one character at a time to reach a target sequence. Typical BFS shortest path approach.
Problem 2 – Streaming / Heap Given a stream of names, find the Top K most frequent names. Concepts involved frequency counting and maintaining a heap.
Problem 3 – Graph DFS Dependencies were given as edges and some nodes were failing. The goal was to determine which nodes would not fail, requiring DFS traversal and failure propagation logic.
Round 3 – Hiring Manager Round (90 mins)
This round focused heavily on communication and problem understanding.
Started with some scenario-based questions. Then a DSA problem similar to Merge Intervals. The key focus was first explaining the requirement clearly before jumping into coding. After solving the base problem, additional complexity was introduced and we discussed how the solution could be extended.
Round 4 – Director Round (30 mins)
High-level discussion including: • Resume walkthrough • Past projects and engineering decisions • Ownership and collaboration • Cultural fit
Verdict- Selected
Interview Questions (6)
Designing a Scalable REST API
Design a REST API focusing on backend best practices. Topics discussed included designing REST APIs, choosing appropriate HTTP status codes, structuring request/response models, error handling strategies, design principles like modularity, separation of concerns, maintainability, and writing clean and extensible APIs.
Minimum Genetic Mutation (BFS)
This problem is similar to the Minimum Genetic Mutation problem. You are given a starting gene sequence, an ending gene sequence, and a list of valid mutations. The goal is to find the minimum number of mutations needed to transform the start sequence into the end sequence, where each mutation changes one character. A typical BFS shortest path approach is expected.
Top K Frequent Names in a Stream
Given a continuous stream of names, the task is to find and maintain the Top K most frequent names seen so far. The solution involves concepts of frequency counting and maintaining a heap.
Graph Failure Propagation (DFS)
Dependencies are given as edges in a graph, and some nodes are identified as failing. The objective is to determine which nodes would not fail, implying the need for DFS traversal and logic to propagate failure states through dependencies.
Merge Intervals (with Extensions)
This problem is similar to 'Merge Intervals'. Given a collection of intervals, merge all overlapping intervals. The key focus was first explaining the requirement clearly before coding. After solving the base problem, additional complexity was introduced, and discussions revolved around how the solution could be extended.
Behavioral & Leadership Discussion
This high-level discussion covered a resume walkthrough, past projects and engineering decisions, demonstrating ownership and collaboration, and cultural fit.