Moody's Software Engineer (Backend) Interview Experience (July 2026) – Rejected

moody's logo
moody's
· Software Engineer (Backend)· 1.5y exp
July 10, 2026 · 1 reads

Summary

I interviewed for a Backend Software Engineer role at Moody's, completed two technical rounds (system design and DSA), but was rejected after the second round.

Full Experience

Background

  • ~1.5 years experience as Backend Engineer (SE-1) at an MNC.
  • Interview process consisted of 3 technical rounds, but I was rejected after Round 2.
  • HR only mentioned to be prepared on all fronts; no round-wise agenda was shared.

Round 1 – System Design / HLD

Interviewer: Staff Software Engineer

Problem Statement

Design a Product Inventory & Pricing Service for an e-commerce platform supporting:

  • Retrieving product details
  • Updating product prices
  • Updating inventory when orders are placed

Additional requirements:

  • Read-heavy system
  • Discuss consistency vs availability
  • Authorization for inventory updates

Discussion

I first clarified the requirements and explained why I would prioritize Consistency over Availability, since overselling inventory should be avoided.

Some of the design choices I discussed:

  • SQL over NoSQL for ACID guarantees.
  • REST APIs for client communication.
  • gRPC for service-to-service communication.
  • Redis as the cache layer.
  • Bloom Filter to reduce unnecessary database lookups.
  • Master-Replica database architecture.
  • Basic Product table containing UUID, name, description, price and available quantity.

Follow-up Questions

1. What if Redis goes down?

I initially answered that Redis should run as a Redis Cluster.

The interviewer then asked:

What if the entire Redis cluster becomes unavailable?

He was looking for an application‑level L1 in‑memory cache as an additional fallback.

2. Multiple users requesting the same product

He asked what would happen if hundreds of users requested the same product simultaneously.

I suggested batching duplicate requests so that only distinct product IDs would hit the database.

3. Multiple users purchasing the same product

He asked how multiple users purchasing the same item simultaneously should be handled.

I first suggested locking writes. After discussion we converged on using Redis atomic decrement operations for inventory management.

Overall, the round was highly discussion‑oriented, with most questions building on previous answers.


Round 2 – DSA

Interviewers: Senior Director & Principal Engineer

Q1: Print BST nodes in ascending order

Given a BST, print all nodes in ascending order.

I implemented the standard recursive inorder traversal.

The Senior Director then asked whether the solution would still work if the tree contained a very large number of nodes. He was concerned about stack overflow on highly skewed trees.

When asked for alternatives, I mentioned increasing the process stack size (something I'd done during competitive programming) but noted it is environment‑specific and not a production solution. I also considered an iterative traversal but dismissed it because it would still use O(h) auxiliary space. In hindsight, an iterative traversal or Morris Traversal would have been appropriate.

Q2: Longest Subarray with At Most 2 Distinct Elements

I proposed a binary search on the answer combined with fixed‑size window validation instead of the standard sliding window approach.

The interviewer asked me to implement it. After reviewing my code, he pointed out that the problem could be solved directly using a sliding window.

I explained the sliding window solution. He said it wasn’t necessary to code it, and the interview concluded after about 35 minutes.


Result

Rejected after Round 2.

Hopefully this helps anyone preparing for Moody's backend interviews.

Interview Questions (3)

1.

Product Inventory & Pricing Service Design

System Design

Design a Product Inventory & Pricing Service for an e-commerce platform that supports retrieving product details, updating product prices, and updating inventory when orders are placed. The system should be read‑heavy, handle consistency vs availability trade‑offs, and enforce authorization for inventory updates.

Key design considerations mentioned:

  • Use SQL for ACID guarantees.
  • Expose REST APIs for external clients and gRPC for internal service‑to‑service calls.
  • Cache product data in Redis with a fallback L1 in‑memory cache.
  • Employ a Bloom filter to reduce unnecessary DB lookups.
  • Deploy a master‑replica database architecture.
  • Store product information (UUID, name, description, price, quantity) in a Product table.
  • Discuss handling Redis cluster failure and high concurrent request scenarios.
2.

Print BST Nodes in Ascending Order

Data Structures & Algorithms·Easy

Given a Binary Search Tree (BST), print all nodes in ascending order.

Follow‑up: Ensure the solution works for a very large or highly skewed tree without causing stack overflow.

3.

Longest Subarray with At Most 2 Distinct Elements

Data Structures & Algorithms·Medium

Find the length of the longest contiguous subarray that contains at most two distinct elements.

The candidate initially proposed a binary‑search‑on‑answer approach combined with a fixed‑size window validator, but the interviewer guided toward the standard sliding‑window solution.

📣 Found this helpful? Please share it with friends who are preparing for interviews!

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!