Paytm Interview Experience (SDE-1)
Summary
I interviewed for an SDE-1 Backend Developer role at Paytm, which involved multiple rounds covering DSA, Low-Level Design, and System Design. I was selected for the position.
Full Experience
Round 1: DSA Online Assessment
a. Given an array and a window size k, find the first negative integer in every window. (Sliding Window Technique)
b. Implement an LRU (Least Recently Used) Cache with efficient get and put operations using suitable data structures.
Round 2: Low-Level Design
a. Design a UPI-like system supporting:
- Multiple types of wallets (e.g., Paytm Wallet, Fastag, etc.)
- A main bank account linked to the user
Required to define proper data models and implement core functionalities like add money, transfer, balance check, and transaction history.
Round 3: System Design
a. Concurrency Control:
- Discussed database locking mechanisms (pessimistic vs optimistic)
- Explained transaction isolation levels: Read Uncommitted, Read Committed, Repeatable Read, and Serializable with examples.
b. Distributed Caching:
- In-depth discussion on Redis – data structures, TTL, eviction policies, and use-cases
- Explained caching strategies: write-through, write-behind, and cache-aside.
c. Handling Thread Downtime:
- Was asked how I would manage thread failures or downtime under high-load or continuous request scenarios
- Discussed approaches like thread pools, retries, circuit breakers, and fallback mechanisms to ensure system resilience.
Verdict: Selected
Although I didn’t join, it was a great experience and a solid learning opportunity.
Interview Questions (6)
First Negative Integer in Every Window
Given an array and a window size k, find the first negative integer in every window.
Implement LRU Cache
Implement an LRU (Least Recently Used) Cache with efficient get and put operations using suitable data structures.
Design a UPI-like System
Design a UPI-like system supporting:
- Multiple types of wallets (e.g., Paytm Wallet, Fastag, etc.)
- A main bank account linked to the user
Concurrency Control & Transaction Isolation
Discussed database locking mechanisms (pessimistic vs optimistic) and explained transaction isolation levels: Read Uncommitted, Read Committed, Repeatable Read, and Serializable with examples.
Distributed Caching with Redis
In-depth discussion on Redis – data structures, TTL, eviction policies, and use-cases. Explained caching strategies: write-through, write-behind, and cache-aside.
Handling Thread Downtime & System Resilience
Was asked how I would manage thread failures or downtime under high-load or continuous request scenarios. Discussed approaches like thread pools, retries, circuit breakers, and fallback mechanisms to ensure system resilience.
Preparation Tips
Shrayansh Jain LLD and HLD videos were incredibly helpful in understanding and preparing for all these topics and real-world scenarios.