Piramal Finance | SDE 3 | Interview Experience
Summary
I went through four technical rounds and one behavioral round for an SDE 3 position at Piramal Finance in Bangalore. The interviewers were generally positive, but the scalability discussions in the HLD rounds were a weak point.
Full Experience
Piramal Finance Bangalore had total 4 Technical Rounds and 1 Behavioral Round.
1st Round (60 mins) (Online) (DSA): Discussion was with SDE3 Basic Introduction Discussion for 15 mins around Project One Graph related question (mostly related to BFS), don't remember the exact question, I was able to solve this
2nd Round (60 mins) (Online) (LLD) Discussion was with SDE3 Basic Introduction Discussion for 15 mins around Project
Design a Feature Flag System
Problem Statement
Design a feature flag (feature toggle) system that allows applications to dynamically enable or disable features without redeploying code.
The system should allow controlled rollout of features to users.
Functional Requirements
1. Create and manage feature flags.
2. Enable/disable a feature globally.
3. Enable feature for:
-> specific users
-> percentage rollout (e.g., 20% users).
4. Evaluate whether a feature is enabled for a given user.
5. Support multiple applications/services using the same system.
6. Changes should reflect dynamically (no application restart).
Example usage
isEnabled("NEW_CHECKOUT", userContext)
→ true / false
I was able to solve it and think about edge cases, interviewer was satisfied with the solution.
3rd Round (60 mins) (Online) (HLD): Discussion was with Architect Basic Introduction Few Behavioral questions
Stock Alert System
Functional Requirements:
Select any stock, set alert for any and or upper threshold and lower threshold
If stock reaches that value notify the user
Notification type: SMS, Whatsapp
Non Functional Requ:
This alert should be instantaneous (latency is acceptable as real time as possible)
This alerts high priority (no loss) -> delivery exactly once
Assumptions:
Web Portal/app user will come and set the alerts
Backend system should notify the user
Some external system feed you will get
Scale:
No of stocks : 10000
No of users: 10M users
50% of users will have 5 alerts
5 million users will each 5 alerts daily basis
At max 25 millions notifications sent during market hours -> 6 hrs window -> send 12k Notifications per second
Addition of alerts: 1k rps for addition of alerts
Overall I felt he was not very much involved, and it was more of one way discussion.
The feedback first two rounds was very positive, and for third round Architect was not satisifed with Scalability part hence he wanted repeat of HLD round with another SDE3.
4th Round (60 mins) (In Person) (HLD): Discussion was with SDE3, though round was scheduled for 1 hr, it steched to more than 1.5 hrs, also this round happened after Behavioural round. Started out with Basic Introduction and then below system design problem
Design Notification System
Scale:
Send 1 Billion notification per day
SLA should be less than 5s
this were the vague requirements shared, I had to talk through each use case and created flow diagram and had discussion, I felt discussion was good and more of two way communication.
5th Round (60 mins) (In Person) (Behavioral): Discussion was with Engineering Manager Basic Introduction
He asked many behavioral questions, before giving this interview read about Piramal's leadership principles and create one example from your experience. He tried to to grill me a lot on each situation by asking questions like why this is challenging, why did you take this decision etc.
Got feedback: They had de-brief, both HLD round's feedback is Scalability part is missing but HR was not very well versed with Tech so he was repeating the same sentence, but where exactly scalability was missing I didn't get, although I enjoyed the 2nd HLD conversation but didn't get any concrete feedback. I was very hopeful that I can crack this but I guess still a long way to go before I land any offer.
Interview Questions (3)
Design a Feature Flag System
Design a feature flag (feature toggle) system that allows applications to dynamically enable or disable features without redeploying code. The system should allow controlled rollout of features to users.
Functional Requirements:
- Create and manage feature flags.
- Enable/disable a feature globally.
- Enable feature for specific users or a percentage rollout (e.g., 20% of users).
- Evaluate whether a feature is enabled for a given user.
- Support multiple applications/services using the same system.
- Changes should reflect dynamically (no application restart).
Example usage:
isEnabled("NEW_CHECKOUT", userContext) → true / false
Design a Stock Alert System
Functional Requirements:
- Select any stock, set alert for any upper or lower threshold.
- If stock reaches that value, notify the user.
- Notification types: SMS, WhatsApp.
Non‑Functional Requirements:
- Alerts should be instantaneous (real‑time latency).
- High priority delivery – exactly once.
Assumptions:
- Users set alerts via web portal/app.
- Backend notifies users.
- External system provides stock feed.
Scale:
- Number of stocks: 10,000.
- Users: 10 million.
- 50 % of users have 5 alerts each.
- Up to 25 million notifications per market day (6 h window) → ~12 k notifications/second.
- Alert additions: 1 k requests/second.
Design a Notification System
Design a notification system with the following requirements:
- Scale: send 1 billion notifications per day.
- SLA: each notification must be delivered within 5 seconds.
- Requirements were vague; the candidate discussed use cases, created a flow diagram, and iterated on scalability considerations.