LogIn
I don't have account.
Sponsored -53%
Zebronics #1 Best Seller

ZEBRONICS Blanc Slim Wireless Mouse — Rechargeable, BT + 2.4GHz (Black)

Up to 1600 DPI · Silent clicks · 63g · Multicolor LED

★★★★★ 4.0 (9,512) 5K+ bought last month
₹376 M.R.P. ₹799Save ₹423
Buy Now
Adℹ

Kotak Mahindra Bank SDE-1 Round 3 Interview Experience – LLD Round (Notification Service Design)

Kunal Dixit
559 Views
Amazon Pay offer
Adℹ

One of the most interesting rounds in my Kotak interview process was the Low-Level Design round. Unlike traditional DSA interviews, this round focused on designing a real-world system and evaluating how I structure classes, APIs, business logic and extensibility.

The interviewer asked me to design and implement a Notification Service that could send notifications through multiple channels such as Email, WhatsApp and SMS. At first glance the problem looked simple, but as the discussion progressed it became clear that the interviewer was less interested in sending notifications and more interested in understanding whether I could design a maintainable, scalable and extensible system.

The biggest challenge was not the notification delivery itself. The challenge was designing a flexible template framework that could support multiple notification types, different communication channels, dynamic placeholders, validation and future extensibility without requiring major code changes.

Problem Statement

The system should support two APIs:

1. Template Registration

Allows businesses to register notification templates.

Example:

OTP Template


Required Inputs:

emailAddress
mobileNumber
name
otp

// Email Template:

Subject: OTP Information

Hi {name},

This is your OTP {otp}

// SMS Template:

OTP Information {otp} for login.

Promotion Template


Required Inputs:

emailAddress
mobileNumber
couponCode

// Email Template:

Subject: Promotion

Hi,

Your coupon code is {couponCode}

// SMS Template:

Coupon code: {couponCode}

2. Template Invocation


Example Request:

{
  "templateName": "OTP",
  "input": {
    "emailAddress": "user@gmail.com",
    "mobileNumber": "9999999999",
    "name": "Raj",
    "otp": "123456"
  }
}

Expected Output:


// Email:

Subject: OTP Information

Hi Raj,

This is your OTP 123456

// SMS:

OTP Information 123456 for login.
Requirements Clarification

Before jumping into design, I clarified a few requirements:

  • Functional Requirements
  • Register templates dynamically
  • Support multiple notification channels
  • Replace placeholders dynamically
  • Validate mandatory fields
  • Send notifications through all configured channels
  • Store templates in memory
  • Non-Functional Requirements
  • Extensible for future channels
  • Easy to maintain
  • Low coupling
  • High cohesion
  • Thread-safe design
  • Easy testing

These discussions are usually where interviewers start evaluating design maturity.

High-Level Architecture

I proposed dividing responsibilities into separate components.


                Client
                   |
                   v
        NotificationService
                   |
     ----------------------------
     |            |             |
     v            v             v
TemplateRepo  TemplateEngine  SenderFactory
                                   |
                   --------------------------------
                   |              |              |
                   v              v              v
             EmailSender     SmsSender   WhatsappSender

Instead of building one giant NotificationService class, every component owns a single responsibility. This follows the Single Responsibility Principle and keeps the design maintainable as the system grows.

Core Domain Models

Notification Channel


public enum Channel {
    EMAIL,
    SMS,
    WHATSAPP
}

This provides type safety and avoids string comparisons throughout the codebase.

Template

A template represents a notification definition.


public class Template {
    private String templateName;
    private Set<String> requiredFields;
    private Map<Channel, ChannelTemplate> channelTemplates;
}

Example:


OTP Template
├── Email Template
├── SMS Template
└── WhatsApp Template

The advantage is that adding a new channel does not require modifying existing templates.

Channel Template


public class ChannelTemplate {
    private String subject;
    private String body;
}

For SMS and WhatsApp, subject can remain null. This model keeps the design generic.

Template Repository

Since the interviewer explicitly mentioned using local data structures, I proposed an in-memory repository.


public class TemplateRepository {
    private final Map<String, Template> templates =
            new ConcurrentHashMap<>();

}

Methods:


void save(Template template);
Template get(String templateName);

Using ConcurrentHashMap makes the repository thread-safe for concurrent registrations and invocations.

Template Engine

One of the most important pieces of the design is the template rendering engine. Its responsibility is replacing placeholders.

Input:


Hi {name}

Your OTP is {otp}

Data:


{
  "name":"Raj",
  "otp":"123456"
}

Output:


Hi Raj

Your OTP is 123456

Implementation:


public class TemplateEngine {

    public String render(
            String template,
            Map<String, String> values) {
        String result = template;
        for (Map.Entry<String, String> entry : values.entrySet()) {
            result = result.replace(
                    "{" + entry.getKey() + "}",
                    entry.getValue());
        }
        return result;
    }
}

This component is completely reusable and independent from notification delivery.

Notification Sender Strategy

This is where good LLD design begins to shine. Instead of writing:


if(channel.equals("EMAIL")) {
   ...
}
else if(channel.equals("SMS")) {
   ...
}
else if(channel.equals("WHATSAPP")) {
   ...
}

I introduced the Strategy Pattern.

Common Interface


public interface NotificationSender {
    void send(NotificationRequest request);
}

Email Sender


public class EmailSender
        implements NotificationSender {
    @Override
    public void send(NotificationRequest request) {
        System.out.println(
                "Sending Email to "
                        + request.getEmailAddress());
    }
}

SMS Sender


public class SmsSender
        implements NotificationSender {
    @Override
    public void send(NotificationRequest request) {
        System.out.println(
                "Sending SMS to "
                        + request.getMobileNumber());
    }
}

WhatsApp Sender


public class WhatsappSender
        implements NotificationSender {
    @Override
    public void send(NotificationRequest request) {
        System.out.println(
                "Sending WhatsApp to "
                        + request.getMobileNumber());
    }
}

Each channel owns its own delivery logic.

Sender Factory

To avoid large switch statements:


public class SenderFactory {
    private final Map<Channel,
            NotificationSender> senders;
    public NotificationSender getSender(
            Channel channel) {
        return senders.get(channel);
    }
}

This follows the Open-Closed Principle. Tomorrow if business asks for:

  • Push Notification
  • Slack
  • Telegram
  • Teams

we simply add:


class PushSender
implements NotificationSender

without changing existing code.

API 1 – Register Template

POST /templates

Request:


{
  "templateName":"OTP",
  ...
}

Service Layer:


public void registerTemplate(
        Template template) {
    repository.save(template);
}

Complexity:

  • Time : O(1)
  • Space: O(1)

API 2 – Invoke Template

POST /notifications/send

Flow:

  1. Fetch Template
  2. Validate Inputs
  3. Render Template
  4. Send Notification

Implementation:


public void invoke(
        String templateName,
        Map<String,String> input) {
    Template template =
            repository.get(templateName);
    validate(template, input);
    for(var channelEntry :
            template.getChannelTemplates()
                    .entrySet()) {

        Channel channel =
                channelEntry.getKey();

        ChannelTemplate ct =
                channelEntry.getValue();

        String body =
                engine.render(
                        ct.getBody(),
                        input);
        NotificationSender sender =
                factory.getSender(channel);
        sender.send(
                buildRequest(body, input));
    }
}

This orchestration layer remains extremely clean because responsibilities are delegated to specialized components.

Production-Level Enhancements

Toward the end of the interview, I discussed how this design could evolve in a real production environment.

Asynchronous Processing

Instead of sending notifications synchronously:


API
 ↓
Send Email
 ↓
Send SMS
 ↓
Return Response

Use:


API
 ↓
Kafka
 ↓
Notification Workers
 ↓
Email/SMS Providers

This improves reliability and latency.

Retry Mechanism

Failures are inevitable. For example:

  • Email Provider Down
  • Network Timeout
  • WhatsApp API Failure

Introduce:

  • Retry Queue
  • Exponential Backoff
  • Dead Letter Queue

for failed notifications.

Provider Abstraction

Today:

  • Email → SES
  • SMS → Twilio
  • WhatsApp → Meta

Tomorrow:

  • Email → SendGrid
  • SMS → Gupshup
  • WhatsApp → Infobip

Business logic should remain unchanged.

Audit Logs

Every notification should be tracked.

NotificationAudit

Fields:

  • NotificationId
  • TemplateName
  • Channel
  • Status
  • RetryCount
  • CreatedAt

This helps debugging and compliance.

Key Learnings

This round taught me that interviewers are usually not evaluating whether you can write Java classes. They are evaluating whether you can model a real business problem using good software engineering principles. The strongest aspects of this solution are:

  • Single Responsibility Principle
  • Open Closed Principle
  • Strategy Pattern
  • Factory Pattern
  • Template Engine Separation
  • Thread-safe Repository
  • Extensible Architecture
  • Production Readiness Considerations

Looking back, the interviewer was primarily interested in the service layer implementation, template rendering flow and how new notification channels could be added without changing existing code. Candidates who focus only on class diagrams often miss these discussions, while candidates who explain design decisions, trade-offs and future extensibility generally perform much better in Low-Level Design interviews.

Recommended Interview Experience

Responses (0)

Write a response

CommentHide Comments

No Comments yet.

"},"4":{"id":4,"name":"ZEBRONICS Blanc mouse ad","otherData":"{}","contentFormat":2,"content":"
Sponsored -53%
Zebronics #1 Best Seller

ZEBRONICS Blanc Slim Wireless Mouse — Rechargeable, BT + 2.4GHz (Black)

Up to 1600 DPI · Silent clicks · 63g · Multicolor LED

★★★★★ 4.0 (9,512) 5K+ bought last month
₹376 M.R.P. ₹799Save ₹423
Buy Now
"},"2":{"id":2,"name":"Crousal Ads","otherData":"{}","contentFormat":2,"content":"
Sponsored -34%
iQOO Amazon's Choice

iQOO Z10 Lite 5G — Cyber Green, 4GB RAM, 128GB Storage

Dimensity 6300 · 50MP Sony AI Camera · 6000 mAh · IP64

★★★★★ 4.0 (2,052) 500+ bought last month
₹18,997 M.R.P. ₹28,999Save ₹10,002
Buy Now
"},"1":{"id":1,"name":"Banner Ads","otherData":"{}","contentFormat":2,"content":"\n
\n \n \n \"Amazon\n \n
"}}},"blogDetails":{"isWriter":false,"likes":0,"isLikedByUser":false,"tagIds":[344,363,448,454,457],"tags":[{"id":344,"name":"Low-Level Design (LLD)","maskingName":"lld","isFeatured":true},{"id":363,"name":"Interview Experience","maskingName":"interview-experience","isFeatured":true},{"id":448,"name":"Interview Preparation","maskingName":"interview-preparation","isFeatured":true},{"id":454,"name":"System Design Interview","maskingName":"system-design-interview","isFeatured":true},{"id":457,"name":"Interview Questions","maskingName":"interview-questions","isFeatured":true}],"comments":[],"bookmark":{"isBookmarked":false,"count":0},"author":{"userId":"MjlfNF84LVsxMTBdMm4tdENfQU5nZV9fSXQ=","name":"Kunal Dixit"},"viewCount":558,"showBannerImage":false,"seoTags":"notification service design, low level design interview, LLD interview question, notification system design, strategy pattern, factory pattern, template engine design, notification architecture, email notification service, SMS notification service, WhatsApp notification service, scalable system design, Java LLD, design patterns interview, notification templates, extensible architecture, thread safe design, software design interview, backend system design, Kotak interview experience","content":"

One of the most interesting rounds in my Kotak interview process was the Low-Level Design round. Unlike traditional DSA interviews, this round focused\non designing a real-world system and evaluating how I structure classes, APIs, business logic and extensibility.

\n

The interviewer asked me to design and implement a Notification Service that could send notifications through multiple channels such as Email,\nWhatsApp and SMS. At first glance the problem looked simple, but as the discussion progressed it became clear that the interviewer was less interested\nin sending notifications and more interested in understanding whether I could design a maintainable, scalable and extensible system.

\n

The biggest challenge was not the notification delivery itself. The challenge was designing a flexible template framework that could support multiple\nnotification types, different communication channels, dynamic placeholders, validation and future extensibility without requiring major code changes.

\n

Problem Statement

\n

The system should support two APIs:

\n

1. Template Registration

\n

Allows businesses to register notification templates.

\n

Example:

\n

OTP Template

\n
\nRequired Inputs:\n\nemailAddress\nmobileNumber\nname\notp\n
\n
\n// Email Template:\n\nSubject: OTP Information\n\nHi {name},\n\nThis is your OTP {otp}\n\n// SMS Template:\n\nOTP Information {otp} for login.\n\n
\n

Promotion Template

\n
\nRequired Inputs:\n\nemailAddress\nmobileNumber\ncouponCode\n
\n
\n// Email Template:\n\nSubject: Promotion\n\nHi,\n\nYour coupon code is {couponCode}\n\n// SMS Template:\n\nCoupon code: {couponCode}\n
\n

2. Template Invocation

\n
\nExample Request:\n\n{\n  \"templateName\": \"OTP\",\n  \"input\": {\n    \"emailAddress\": \"user@gmail.com\",\n    \"mobileNumber\": \"9999999999\",\n    \"name\": \"Raj\",\n    \"otp\": \"123456\"\n  }\n}\n
\n

Expected Output:

\n
\n// Email:\n\nSubject: OTP Information\n\nHi Raj,\n\nThis is your OTP 123456\n\n// SMS:\n\nOTP Information 123456 for login.\nRequirements Clarification\n
\n

Before jumping into design, I clarified a few requirements:

\n\n

These discussions are usually where interviewers start evaluating design maturity.

\n

High-Level Architecture

\n

I proposed dividing responsibilities into separate components.

\n
\n                Client\n                   |\n                   v\n        NotificationService\n                   |\n     ----------------------------\n     |            |             |\n     v            v             v\nTemplateRepo  TemplateEngine  SenderFactory\n                                   |\n                   --------------------------------\n                   |              |              |\n                   v              v              v\n             EmailSender     SmsSender   WhatsappSender\n
\n

Instead of building one giant NotificationService class, every component owns a single responsibility.\nThis follows the Single Responsibility Principle and keeps the design maintainable as the system grows.

\n

Core Domain Models

\n

Notification Channel

\n
\npublic enum Channel {\n    EMAIL,\n    SMS,\n    WHATSAPP\n}\n
\n

This provides type safety and avoids string comparisons throughout the codebase.

\n

Template

\n

A template represents a notification definition.

\n
\npublic class Template {\n    private String templateName;\n    private Set<String> requiredFields;\n    private Map<Channel, ChannelTemplate> channelTemplates;\n}\n
\n

Example:

\n
\nOTP Template\n├── Email Template\n├── SMS Template\n└── WhatsApp Template\n
\n

The advantage is that adding a new channel does not require modifying existing templates.

\n

Channel Template

\n
\npublic class ChannelTemplate {\n    private String subject;\n    private String body;\n}\n
\n

For SMS and WhatsApp, subject can remain null.\nThis model keeps the design generic.

\n

Template Repository

\n

Since the interviewer explicitly mentioned using local data structures, I proposed an in-memory repository.

\n
\npublic class TemplateRepository {\n    private final Map<String, Template> templates =\n            new ConcurrentHashMap<>();\n\n}\n
\n

Methods:

\n
\nvoid save(Template template);\nTemplate get(String templateName);\n
\n

Using ConcurrentHashMap makes the repository thread-safe for concurrent registrations and invocations.

\n

Template Engine

\n

One of the most important pieces of the design is the template rendering engine.\nIts responsibility is replacing placeholders.

\n

Input:

\n
\nHi {name}\n\nYour OTP is {otp}\n
\n

Data:

\n
\n{\n  \"name\":\"Raj\",\n  \"otp\":\"123456\"\n}\n
\n

Output:

\n
\nHi Raj\n\nYour OTP is 123456\n
\n

Implementation:

\n
\npublic class TemplateEngine {\n\n    public String render(\n            String template,\n            Map<String, String> values) {\n        String result = template;\n        for (Map.Entry<String, String> entry : values.entrySet()) {\n            result = result.replace(\n                    \"{\" + entry.getKey() + \"}\",\n                    entry.getValue());\n        }\n        return result;\n    }\n}\n
\n

This component is completely reusable and independent from notification delivery.

\n

Notification Sender Strategy

\n

This is where good LLD design begins to shine.\nInstead of writing:

\n
\nif(channel.equals(\"EMAIL\")) {\n   ...\n}\nelse if(channel.equals(\"SMS\")) {\n   ...\n}\nelse if(channel.equals(\"WHATSAPP\")) {\n   ...\n}\n
\n

I introduced the Strategy Pattern.

\n

Common Interface

\n
\npublic interface NotificationSender {\n    void send(NotificationRequest request);\n}\n
\n

Email Sender

\n
\npublic class EmailSender\n        implements NotificationSender {\n    @Override\n    public void send(NotificationRequest request) {\n        System.out.println(\n                \"Sending Email to \"\n                        + request.getEmailAddress());\n    }\n}\n
\n

SMS Sender

\n
\npublic class SmsSender\n        implements NotificationSender {\n    @Override\n    public void send(NotificationRequest request) {\n        System.out.println(\n                \"Sending SMS to \"\n                        + request.getMobileNumber());\n    }\n}\n
\n

WhatsApp Sender

\n
\npublic class WhatsappSender\n        implements NotificationSender {\n    @Override\n    public void send(NotificationRequest request) {\n        System.out.println(\n                \"Sending WhatsApp to \"\n                        + request.getMobileNumber());\n    }\n}\n
\n

Each channel owns its own delivery logic.

\n

Sender Factory

\n

To avoid large switch statements:

\n
\npublic class SenderFactory {\n    private final Map<Channel,\n            NotificationSender> senders;\n    public NotificationSender getSender(\n            Channel channel) {\n        return senders.get(channel);\n    }\n}\n
\n

This follows the Open-Closed Principle.\nTomorrow if business asks for:

\n\n

we simply add:

\n
\nclass PushSender\nimplements NotificationSender\n
\n

without changing existing code.

\n

API 1 – Register Template

\n

POST /templates

\n

Request:

\n
\n{\n  \"templateName\":\"OTP\",\n  ...\n}\n
\n

Service Layer:

\n
\npublic void registerTemplate(\n        Template template) {\n    repository.save(template);\n}\n
\n

Complexity:

\n\n

API 2 – Invoke Template

\n

POST /notifications/send

\n

Flow:

\n
    \n
  1. Fetch Template
  2. \n
  3. Validate Inputs
  4. \n
  5. Render Template
  6. \n
  7. Send Notification
  8. \n
\n

Implementation:

\n
\npublic void invoke(\n        String templateName,\n        Map<String,String> input) {\n    Template template =\n            repository.get(templateName);\n    validate(template, input);\n    for(var channelEntry :\n            template.getChannelTemplates()\n                    .entrySet()) {\n\n        Channel channel =\n                channelEntry.getKey();\n\n        ChannelTemplate ct =\n                channelEntry.getValue();\n\n        String body =\n                engine.render(\n                        ct.getBody(),\n                        input);\n        NotificationSender sender =\n                factory.getSender(channel);\n        sender.send(\n                buildRequest(body, input));\n    }\n}\n
\n

This orchestration layer remains extremely clean because responsibilities are delegated to specialized components.

\n

Production-Level Enhancements

\n

Toward the end of the interview, I discussed how this design could evolve in a real production environment.

\n

Asynchronous Processing

\n

Instead of sending notifications synchronously:

\n
\nAPI\n ↓\nSend Email\n ↓\nSend SMS\n ↓\nReturn Response\n
\n

Use:

\n
\nAPI\n ↓\nKafka\n ↓\nNotification Workers\n ↓\nEmail/SMS Providers\n
\n

This improves reliability and latency.

\n

Retry Mechanism

\n

Failures are inevitable.\nFor example:

\n\n

Introduce:

\n\n

for failed notifications.

\n

Provider Abstraction

\n

Today:

\n\n

Tomorrow:

\n\n

Business logic should remain unchanged.

\n

Audit Logs

\n

Every notification should be tracked.

\n

NotificationAudit

\n

Fields:

\n\n

This helps debugging and compliance.

\n

Key Learnings

\n

This round taught me that interviewers are usually not evaluating whether you can write Java classes. They are evaluating whether you can model a real\nbusiness problem using good software engineering principles.\nThe strongest aspects of this solution are:

\n\n

Looking back, the interviewer was primarily interested in the service layer implementation, template rendering flow and how new notification channels\ncould be added without changing existing code. Candidates who focus only on class diagrams often miss these discussions, while candidates who explain\ndesign decisions, trade-offs and future extensibility generally perform much better in Low-Level Design interviews.

\n

Recommended Interview Experience

\n
\n

Disney+ Hotstar SDE-2 Interview Experience | Coding + System Design + Techno Managerial

\n

Uber Senior Software Engineer Interview Experience | Real Interview Questions, System Design & Preparation Guide

\n

Meta Business Engineer (L4 → L5 Consideration) Interview Experience

\n

Rupeek Android Developer Interview Experience | Real Questions Asked, Preparation Tips & Complete Process

\n

Rupeek SDE-3 Interview Experience (3 Rounds ~ Coding, LLD & HLD)

\n

WheelsEye Backend Engineer Interview Experience | DSA Questions, System Design, Backend Deep Dive

\n

Wise Software Engineer Interview Experience | DSA, System Design, Product Thinking

\n

Yext SDE 1 Interview Experience – Complete DSA Questions, Debugging Round, API Challenge & HR Round

\n

Uber SDE 2 Interview Experience (5 Rounds, Selected)

\n

Adobe Software Engineer 2 Interview Experience

\n

Volvo Cars Full Stack Developer Interview Experience (Selected)

\n

Wayfair SDE Interview Experience

\n

Wells Fargo SDE I Interview Experience

\n

My Vegapay Backend Engineer (SDE 2) Interview Experience (Rejected)

\n
","categoryId":363,"subCategoryId":363,"contentFormat":5,"blogId":131,"userId":"MjlfNF84LVsxMTBdMm4tdENfQU5nZV9fSXQ=","title":"Kotak Mahindra Bank SDE-1 Round 3 Interview Experience – LLD Round (Notification Service Design)","url":"kotak-mahindra-bank-sde-1-round-3-interview-experience-lld-round-notification-service-design","bannerImage":"","seoDescription":"Learn how to design a scalable Notification Service using Strategy Pattern, Factory Pattern, templates, validation and extensible architecture.","generatedOn":"2026-06-04T12:10:20","updatedOn":"2026-06-04T12:10:20"},"popularContents":[{"id":168,"title":"Amazon SDE-2 Interview Experience (3 Years Experience)","url":"amazon-sde-2-interview-experience-3-years-experience","description":null,"seoDescription":" Read a real Amazon SDE-2 interview experience covering the online assessment, coding rounds, object-oriented design, leadership principles and system design.","contentType":5,"generatedOn":"2026-10-07T00:12:54.4933628Z","viewCount":0},{"id":35,"title":"Cursor vs Copilot : Which AI Coding Assistant Wins in 2025?","url":"cursor-vs-copilot-which-ai-coding-assistant-truly-wins-in-2025","description":null,"seoDescription":"Compare Cursor vs GitHub Copilot on speed, context awareness, multi-file support, pricing and code quality to choose the best AI coding assistant for developers","contentType":5,"generatedOn":"2026-10-07T00:12:54.4933473Z","viewCount":0},{"id":135,"title":"Spinny SDE-1 Interview Experience (Selected)","url":"spinny-sde-1-interview-experience-selected","description":null,"seoDescription":"Spinny SDE-1 Interview Experience (Selected) | 4 Rounds Breakdown: Coding, LLD, Java, SQL + Real Interview Questions","contentType":5,"generatedOn":"2026-10-07T00:12:54.4933573Z","viewCount":0},{"id":166,"title":"System Design Interview – BIGGEST Mistakes to Avoid","url":"system-design-interview-biggest-mistakes-to-avoid","description":null,"seoDescription":"Learn the biggest mistakes to avoid in a system design interview, from unclear requirements to poor trade-off analysis. Includes real-world cases, advanced insights and examples to help you ace your next system design interview.","contentType":2,"generatedOn":"2026-10-07T00:12:54.4927694Z","viewCount":0},{"id":165,"title":"Top 50+ SQL Interview Questions and Answers for Intermediate to Advanced","url":"top-sql-interview-questions-and-answers-for-intermediate-to-advanced","description":null,"seoDescription":"Top SQL Interview Questions and Answers for Intermediate to Advanced. Top SQL Interview Questions for experience. Frequently asked SQL interview questions with answers","contentType":2,"generatedOn":"2026-10-07T00:12:54.4927637Z","viewCount":0},{"id":138,"title":"DSA Patterns for Coding Interviews: Complete LeetCode Roadmap (Beginner to Advanced)","url":"dsa-patterns-for-coding-interviews-complete-leetcode-roadmap-beginner-to-advanced","description":null,"seoDescription":"Master every LeetCode pattern for coding interviews. Learn Arrays, Sliding Window, Graphs, Dynamic Programming, Trees, Heaps and more with 250+ curated problem","contentType":5,"generatedOn":"2026-10-07T00:12:54.4933589Z","viewCount":0},{"id":197,"title":"My Adobe SDE Interview Experience (Aug 2026) 5 Rounds, Selected","url":"my-adobe-sde-interview-experience-aug-2026-5-rounds-selected","description":null,"seoDescription":"Real Adobe SDE interview: 5 rounds, 4 DSA problems (Rotate Array, BSTs, Kth Smallest Matrix), code review & behavioral round. Full solutions + tips.","contentType":5,"generatedOn":"2026-10-07T00:12:54.4933643Z","viewCount":0},{"id":83,"title":"Uber SDE 2 Interview Experience (5 Rounds, Selected) - Complete DSA Questions with solution, System Design & Managerial Round","url":"uber-sde-2-interview-experience","description":null,"seoDescription":"Uber SDE 2 interview experience with 5 rounds, real DSA questions, system design, coding round, and preparation tips to crack Uber interviews.","contentType":5,"generatedOn":"2026-10-07T00:12:54.4933523Z","viewCount":0},{"id":213,"title":"Amazon SDE II Interview Experience (Bangalore, Selected) ~ Aug 2026","url":"amazon-sde-ii-interview-experience-bangalore-selected-aug-2026","description":null,"seoDescription":"Amazon SDE II interview experience from Bangalore covering 4 rounds, DSA, LLD, system design, Leadership Principles, coding questions and selection.","contentType":5,"generatedOn":"2026-10-07T00:12:54.4933659Z","viewCount":0},{"id":139,"title":"Blinkit (Eternal) SDE-1 Interview Experience (June 2026) – Offer Received","url":"blinkit-eternal-sde-1-interview-experience-june-2026-offer-received","description":null,"seoDescription":"Blinkit SDE-1 interview experience with a 30 LPA offer. Covers House Robber DP, ticket booking system design, culture fit round and tips.","contentType":5,"generatedOn":"2026-10-07T00:12:54.4933603Z","viewCount":0}],"latestContents":[{"id":219,"title":"6 Tools That Made My Life Easier as a Software Engineer","url":"6-tools-that-made-my-life-easier-as-a-software-engineer","description":null,"seoDescription":"The 6 developer tools I use daily as a software engineer: Git, VS Code, Docker, Postman, Chrome DevTools, and AI assistants, with real tips, mistakes, and trade","contentType":5,"generatedOn":"2026-10-07T00:12:54.4952738Z","viewCount":0},{"id":218,"title":"When Should a Business Use Multiple AI Agents Instead of One?","url":"when-should-a-business-use-multiple-ai-agents-instead-of-one","description":null,"seoDescription":"Single agent or multi-agent AI? Learn the 4 signals that justify splitting agents by knowledge, permissions, and risk, plus routing and handoff tips.","contentType":5,"generatedOn":"2026-10-07T00:12:54.4952783Z","viewCount":0},{"id":216,"title":"AI in Clinical Trials Market Estimated to Experience a Hike in Growth by 2035","url":"ai-in-clinical-trials-market-estimated-to-experience-a-hike-in-growth-by-2035","description":null,"seoDescription":"The exclusive information about market dynamics serves as a valuable guide to predict economic scenarios and initiatives taken to enhance future growth. Our mar","contentType":5,"generatedOn":"2026-10-07T00:12:54.4952798Z","viewCount":0},{"id":217,"title":"AI in Clinical Trials Market Estimated to Experience a Hike in Growth by 2035","url":"ai-in-clinical-trials-market-estimated-to-experience-a-hike-in-growth-by-2035","description":null,"seoDescription":"The exclusive information about market dynamics serves as a valuable guide to predict economic scenarios and initiatives taken to enhance future growth. Our mar","contentType":5,"generatedOn":"2026-10-07T00:12:54.4952813Z","viewCount":0},{"id":215,"title":"What Happens When an AI Agent Doesn't Know the Answer?","url":"what-happens-when-an-ai-agent-doesnt-know-the-answer","description":null,"seoDescription":"Most AI agents fail quietly. They guess instead of saying \"I don't know.\" Here's how to design better fallback and human-handoff behavior.","contentType":5,"generatedOn":"2026-10-07T00:12:54.4952826Z","viewCount":0},{"id":214,"title":"Greedy Algorithms Explained: How They Work, When They Fail and How to Use Them","url":"greedy-algorithms-explained-how-they-work-when-they-fail-and-how-to-use-them","description":null,"seoDescription":"Learn greedy algorithms step by step with C# code Dijkstra, Huffman coding, knapsack and MSTs plus when greedy fails and how to prove it's correct","contentType":5,"generatedOn":"2026-10-07T00:12:54.495285Z","viewCount":0},{"id":213,"title":"Amazon SDE II Interview Experience (Bangalore, Selected) ~ Aug 2026","url":"amazon-sde-ii-interview-experience-bangalore-selected-aug-2026","description":null,"seoDescription":"Amazon SDE II interview experience from Bangalore covering 4 rounds, DSA, LLD, system design, Leadership Principles, coding questions and selection.","contentType":5,"generatedOn":"2026-10-07T00:12:54.49529Z","viewCount":0},{"id":212,"title":"How to Get 10x Better AI Answers Without Writing Better Prompts : 10 Proven Techniques","url":"how-to-get-10x-better-ai-answers-without-writing-better-prompts-10-proven-techniques","description":null,"seoDescription":"Get better AI answers without complex prompts. Learn 10 practical techniques using context, examples, tools, feedback, and verification.","contentType":5,"generatedOn":"2026-10-07T00:12:54.4952913Z","viewCount":0},{"id":211,"title":"I Interviewed for a Microsoft SDE I Role. Here's Everything That Happened.","url":"i-interviewed-for-a-microsoft-sde-i-role-heres-everything-that-happened","description":null,"seoDescription":"My real Microsoft SDE I interview experience, all 4 rounds, the exact DSA problems with fully tested solutions, the WhatsApp system design round","contentType":5,"generatedOn":"2026-10-07T00:12:54.4952925Z","viewCount":0},{"id":140,"title":"PolicyBazaar Software Development Engineer (SDE) Interview Experience | DSA, Core CS & System Design","url":"policybazaar-software-development-engineer-sde-interview-experience-dsa-core-cs-system-design","description":null,"seoDescription":"Detailed PolicyBazaar SDE interview experience covering 3 rounds: DSA coding, core CS assessment and system design with key learnings and insights.","contentType":5,"generatedOn":"2026-10-07T00:12:54.4952939Z","viewCount":0}],"relatedContents":[{"id":181,"title":"My Teradata SWE Intern Interview Experience (Full Story, Real Code, Real Mistakes)","url":"my-teradata-swe-intern-interview-experience-full-story-real-code-real-mistakes","description":null,"seoDescription":"A real, first-person Teradata SWE intern interview experience. Full Java code for every DSA question, mistakes I made, hints","contentType":5,"generatedOn":"2026-10-07T00:12:54.5022549Z","viewCount":0},{"id":175,"title":"American Express (AMEX) Online Assessment Experience (2026) | 3 Coding Questions","url":"american-express-amex-online-assessment-experience-2026-3-coding-questions","description":null,"seoDescription":"Read my American Express Online Assessment 2026 experience with 3 coding questions, C# solutions, approaches, difficulty analysis and preparation tips.","contentType":5,"generatedOn":"2026-10-07T00:12:54.50226Z","viewCount":0},{"id":173,"title":"Uber SDE-2 Interview Experience : LLD, HLD, DSA & Hiring Manager Round","url":"uber-sde-2-interview-experience-lld-hld-dsa-hiring-manager-round","description":null,"seoDescription":"Read a real Uber SDE-2 interview experience covering DSA, low-level design, high-level system design, behavioral rounds, hiring freeze and key takeaways.","contentType":5,"generatedOn":"2026-10-07T00:12:54.5022617Z","viewCount":0},{"id":163,"title":"VISA Staff Software Engineer Online Assessment (OA) Experience (2026) | Two Coding Questions | Rejected","url":"visa-staff-software-engineer-online-assessment-oa-experience-2026-two-coding-questions-rejected","description":null,"seoDescription":" VISA Staff Software Engineer OA experience with HackerRank coding questions on Graphs and Dynamic Programming, solutions, tips, and preparation guide.","contentType":5,"generatedOn":"2026-10-07T00:12:54.5022632Z","viewCount":0},{"id":162,"title":"KLA Software Engineer Interview Experience (DSA Round) | Two Coding Questions | July 2026","url":"kla-software-engineer-interview-experience-dsa-round-two-coding-questions-july-2026","description":null,"seoDescription":"KLA Software Engineer interview experience with two DSA coding questions, Java solutions, HashMap, Monotonic Stack, follow-up questions and tips.","contentType":5,"generatedOn":"2026-10-07T00:12:54.5022648Z","viewCount":0},{"id":153,"title":"Visa Software Engineer 1 (SDE-1) Interview Experience | CodeSignal OA + Graph-Based Technical Rounds","url":"visa-software-engineer-1-sde-1-interview-experience-codesignal-oa-graph-based-technical-rounds","description":null,"seoDescription":" Ace your Visa SDE-1 interview with this complete interview experience covering CodeSignal OA, graph coding rounds, hiring manager questions and tips.","contentType":5,"generatedOn":"2026-10-07T00:12:54.5022703Z","viewCount":0},{"id":145,"title":"Infosys Specialist Programmer Interview Experience (2 Rounds) | OA + Technical Interview | Selected","url":"infosys-specialist-programmer-interview-experience-2-rounds-oa-technical-interview-selected","description":null,"seoDescription":"Infosys Specialist Programmer interview experience with OA and technical rounds covering DSA, DP, Sliding Window, Bit Manipulation, OOP and tips.","contentType":5,"generatedOn":"2026-10-07T00:12:54.5022718Z","viewCount":0},{"id":141,"title":"Postman Software Development Engineer - II (Full Stack) Interview Experience","url":"postman-software-development-engineer-ii-full-stack-interview-experience","description":null,"seoDescription":"Detailed Postman SDE-2 (Full Stack) interview experience covering recruiter screening, frontend/backend fundamentals, architecture discussions, machine coding, ","contentType":5,"generatedOn":"2026-10-07T00:12:54.5022733Z","viewCount":0},{"id":136,"title":"Qualcomm C++ Engineer Interview Experience","url":"qualcomm-cpp-engineer-interview-experience","description":null,"seoDescription":"Qualcomm C++ Engineer Interview Experience (Rejected) | OS, C++ Concepts, DSA & Tree + Stack Coding Problems Breakdown","contentType":5,"generatedOn":"2026-10-07T00:12:54.5022748Z","viewCount":0},{"id":134,"title":"Meta(Facebook) Software Engineer Round 1 Interview Experience","url":"metafacebook-software-engineer-round-1-interview-experience","description":null,"seoDescription":"Meta(facebook) Software Engineer Interview Experience | Sort Even Odd Indices & Making a Large Island | Coding Round Breakdown","contentType":5,"generatedOn":"2026-10-07T00:12:54.5022766Z","viewCount":0}]}}},"source":{"isMobile":false}}; window.__CLIENT_RENDER__ = false;