Role: SDE-2
College: Not Specified
Interview Date: Not Specified (Last Updated: July 23, 2025)
Interview Type: Full-Time
Result: Not Specified
Difficulty: Not Specified
Rounds: 3 Technical Rounds + Director Round
Topics Asked: C++, Data Structures, Algorithms, Design Patterns, Operating Systems, System Design
Experience:
This experience is for an SDE-2 role for a candidate with 3.5 years of experience. The interview process involved multiple technical rounds and a director round.
Technical Round 1 (1 hour):
- Discussion on C/C++ experience and major roles in projects.
- Write APIs for scenarios related to the candidate's project.
- Default functions provided by the compiler in an empty class.
- Which data structure to use to represent a directory structure?
- What are static variables, and where are they stored?
- Detect cycle in a directed graph.
- Find mistakes in a given code snippet (e.g., `cout << ptr;` and its output).
- What are Dynamic and static linked libraries? Knowledge about .so files.
- What is heap memory?
- What are function pointers and why are they used?
- What design patterns do you know? Which ones used in code? Use runtime polymorphisms in code and why it's required.
Technical Round 2 (1 hour):
- Pros and cons of C and C++ over each other.
- What happens if we don't return anything from an assignment operator? (Also asked about rvalue concept).
- What is STL? How many types of iterators in C++? Difference between vector and list?
- Code to allocate 4 bytes of memory using `malloc` and `void* ptr`. Then, allocate 4 bytes using `sizeof(int)`. Write "abcd" on these 4 bytes of memory.
- Design a client database with efficient search by name (Trie) and by filters (map/unordered_map). Discussion on `map` vs `unordered_map` and `unordered_multimap`. Constraint on memory, suggested sorted linked list or SkipList.
Technical Round 3 (1 hour):
- Find sum of left leaves in a given binary tree (without using a flag).
- Given an array of numbers from an alien number system, sort it using a given API to compare two numbers, minimizing API calls. Associativity is maintained (1>2 and 2>3 implies 1>3).
- Given a single linked list, write code to delete a node from it without any mistakes.
Director Round (1 hour):
- Coin Puzzle: Strategy to win a game where players can take up to 4 coins, and variations where the last player to pick loses.
- Given a file, read and print the last 10 lines (e.g., lines 16-25 for a 25-line file). Suggested a queue approach.
- Why do you want to switch?
- Questions about previous rounds.
- Knowledge of compiler design and OS internals (sbrk calls).
- How to check if a program is taking a long time or consuming more memory.
- Design a product to detect memory leaks.