WEX | SDE3 | Interview
Summary
I completed a four‑round interview at WEX for an SDE3 position, covering DSA, low‑level and high‑level design, and a hiring‑manager round.
Full Experience
WEX Interview Experience
Role - SDE3 Experience - 8 yoe
Round 1 - DSA
There were two coding problems:
Longest Substring Without Repeating Characters Word Break Problem - Find All Ways to Break
Round 2 - LLD
The question was based on designing a logging and alerting system.
The requirements were roughly:
Logs are written to a file. Logs can have different severity/types such as INFO, WARNING, and CRITICAL. There is a configurable rule/threshold for each alert type. When a configured limit is crossed, a notification should be triggered for the user. Users can subscribe/unsubscribe to particular alert types. The system should support different notification types.
The discussion focused on the object‑oriented design, interfaces/classes, extensibility, and design patterns that could be used to make the system easy to extend.
Round 3 - HLD
This round started with a deep dive into my previous project. The interviewer asked several questions about the architecture, design decisions, scalability, and challenges in the project.
After that, I was asked to design a system similar to BookMyShow, with particular focus on the seat‑booking flow.
A major part of the discussion was around handling multiple users trying to book the same seats simultaneously.
Topics discussed included:
Seat availability Concurrent booking requests Preventing double booking Locking/holding seats Booking expiration Database consistency Handling high traffic during popular events
The interviewer asked several follow‑up questions based on the design.
Round 4 - Hiring Manager
The final round was around 30 minutes.
It mainly consisted of:
Basic behavioral questions Discussion about my experience Discussion about the company and role
The interviewer also gave an overview of the company, team, and role.
Interview Questions (4)
Longest Substring Without Repeating Characters
Given a string s, find the length of the longest substring that contains no repeating characters.
Example:
Input: "abcabcbb"
Output: 3 // "abc"
Return the maximum length of such a substring.
Word Break - Find All Ways to Break
Given a non‑empty string s and a dictionary wordDict containing a list of non‑empty words, return all possible sentences where s can be segmented into a space‑separated sequence of dictionary words.
Example:
Input: s = "catsanddog", wordDict = ["cat","cats","and","sand","dog"]
Output: ["cats and dog", "cat sand dog"]
The order of sentences in the output does not matter.
Design a Logging and Alerting System
Design a system that writes logs to a file, supports multiple severity/types (INFO, WARNING, CRITICAL), and allows configurable thresholds for each alert type. When a threshold is crossed, a notification should be triggered for the user. Users can subscribe or unsubscribe to particular alert types, and the system should support different notification channels (e.g., email, SMS). Discuss class structures, interfaces, extensibility, and applicable design patterns.
Design a Seat‑Booking System like BookMyShow
Design a system for booking seats for events (e.g., movies, concerts) with a focus on handling concurrent booking attempts. Requirements include:
- Managing seat availability
- Handling concurrent booking requests without double booking
- Implementing lock/hold mechanisms for seats
- Defining booking expiration policies
- Ensuring database consistency under high traffic
- Supporting scaling for popular events Explain the overall architecture, key components, data models, consistency strategies, and how you would handle high‑load scenarios.