PayPal - Senior Software Engineer Frontend Interview Experience
Microsoft SDE2 interview experience
PAYTM - ROUND 1 SDE Java Backend : 2-3 yrs
My Full Meta Interview Experience (Sept–Oct 2025) — Rejected
Senior Software Engineer - Frontend | Okta | Bangalore
Adobe | Computer Scientist II | Noida, India | 2020 [Reject]
Summary
I interviewed for the Computer Scientist II role at Adobe in Noida, India, which involved two technical rounds covering C++, data structures, algorithms, system design, and OS concepts. Unfortunately, I didn't receive any feedback after the second round and assume I was rejected.
Full Experience
I recently interviewed for the Computer Scientist II position at Adobe, located in Noida, India. My total experience at the time was over 10 years. The virtual interview was conducted using BlueJean.
Round 1 (1 hour)
The first round covered a mix of probability, puzzles, system design, and data structures:
- We discussed a basic probability question involving biased dice.
- A puzzle based on the Lucky 7 dice game was presented. I was asked about the strategy for this game.
- I was asked to design the classic Snake game, with expectations for both high-level architecture and low-level class diagrams.
- Finally, there was a question involving a BST tree where each node had additional information about the number of children in its left subtree. With limited memory, the interviewer wanted to know how to divide the tree into multiple pages (files/parts) given a maximum number of nodes per page. I implemented a solution using a
getPagemethod, and you can refer to my code via the provided link.
Round 2 (1 hour)
The second round focused heavily on C++ internals, operating system concepts, and more design challenges:
- We discussed move semantics in C++.
- The difference between
std::moveandstd::forwardin C++ was questioned. - I was asked about methods pre-generated by the compiler in C++, specifically regarding C++11 and C++14 standards.
- The interviewer inquired about the
mutablekeyword in C++. - Variadic templates in C++ were also a topic of discussion.
- I had to explain the differences between static linking and dynamic linking.
- The "copy on write" operating system concept was brought up.
- A design problem involved creating a class with the restriction that only two objects of it could be instantiated, followed by a discussion on how to handle this in multi-threaded environments.
- The final question required designing a class for managing meeting room intervals, including methods for adding/deleting intervals and getting the number of rooms, both generally and for a specific time range.
After completing Round 2, I did not receive any feedback call from HR. Based on this, I concluded that I was rejected for the position.
Interview Questions (12)
Describe the concept of move semantics in C++ and its benefits.
Explain the differences between std::move and std::forward in C++ and their appropriate use cases.
Discuss methods automatically generated by the C++ compiler, specifically detailing differences or new features in C++11 and C++14 related to this.
Explain the purpose and usage of the mutable keyword in C++.
Describe variadic templates in C++ and provide examples of their application.
Explain the differences, advantages, and disadvantages of static and dynamic linking.
Describe the 'copy-on-write' optimization concept in operating systems, explaining its benefits and typical use cases.
Design a C++ class such that only a maximum of two objects of that class can be instantiated. Discuss how to handle this in a multi-threaded environment (follow-up).
Design a class to manage meeting room intervals with the following methods:
addInterval: Adds a room if a meeting is ongoing.deleteInterval: Removes a room for a specific time interval.getNumRoom(): Returns the total number of rooms; returns -1 if no meeting is ongoing.getNumRoom(int start, int end): Returns the total number of rooms for a given interval; returns -1 if no meeting.