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
Ciena On Campus || BPS delivery
Summary
I recently interviewed for a BPS Delivery role at Ciena on campus, initially applying for a C++ developer position. The interview process, which concluded in a rejection, involved an online assessment followed by two in-person rounds covering data structures, algorithms, operating systems, project-specific questions, and C++ concepts.
Full Experience
My Interview Experience at Ciena
I recently gave the Ciena test for a BPS delivery role on-campus, which was advertised as a Java position, even though I had initially applied for a C++ developer role. This was a 6-month internship with a potential for a Pre-Placement Offer (PPO).
Online Assessment (OA)
The OA consisted of MCQs covering OS, OOPs, and Aptitude questions. I found this section to be fairly easy.
Round 1: Pen and Paper DSA Test
This round was a pen and paper Data Structures and Algorithms test, with 3 questions to be completed in 40 minutes. The questions were standard easy to medium level:
- Coin Change
- Spiral traversal of a matrix
- Array traversal while finding the power of 2 less than or equal to each element
Round 2: In-Person Interview
This was the in-person interview round, and I believe being interviewed last might have negatively impacted my chances. The interviewer started by asking me about my projects, specifically which one I was most familiar with. They delved into why I built it, and asked questions about authorization and authentication, API versioning, HTTP status codes (client-side and server-side responses), and how JWT tokens work.
Next, they moved onto DSA. They drew a tree on paper and asked for its DFS and BFS traversal. I wrote them down, but the interviewer claimed my DFS traversal was incorrect, though I'm unsure if they misread it. They also asked which data structures are used for DFS and BFS. A conceptual question followed: what would happen if a heap was implemented as a tree with many nodes instead of a binary tree?
Then we transitioned to Operating Systems. I was asked about the difference between thread and process scheduling and was asked to write code for threads and locks.
Following that, they inquired about my familiarity with SQL. Since I hadn't practiced in months, I admitted I wasn't very proficient. Despite this, they asked me about normalization and types of joins, but kindly said they wouldn't ask me to write queries given my admitted lack of practice.
Finally, they moved to C++ specific questions, covering topics like what dynamic_cast is, how to detect memory leaks in a C++ program, how to process a binary file in C++, and how to create a random number generator in C++. Some of these I knew but forgot due to pressure, and some I simply didn't know. The interview lasted around 1.5 hours.
Ultimately, I was rejected. I felt that since this was a Java role, and my interview was at the very end when they might have already found enough suitable candidates, I might have been treated somewhat unfairly. The interviewer seemed unsupportive; even when I gave correct answers, they would try to confuse me. If I struggled to understand a question and tried to repeat it to ensure we were on the same page, they would ask me to stop. Many times, they demanded a simple 'yes' or 'no' without wanting to hear my reasoning. It was a very bad interview experience, honestly making me feel like giving up on coding.
Interview Questions (13)
Solve the classic Coin Change problem to find the minimum number of coins needed to make a specific sum.
Implement the spiral traversal of a given matrix.
Given an array, traverse it and for each element, find the largest power of 2 that is less than or equal to that element.
Discuss your most familiar project, including the motivation behind building it. Expect questions on authorization, authentication, API versioning, HTTP status codes (client-side and server-side responses), and how JWT tokens function.
Given a tree (drawn on paper), perform Depth-First Search (DFS) and Breadth-First Search (BFS) traversals. Also, identify the data structures commonly used for DFS and BFS.
Discuss the implications if a heap were implemented using a tree with many nodes per level instead of a standard binary tree structure.
Explain the key differences between thread scheduling and process scheduling in an operating system.
Write code demonstrating the use of threads and locks for synchronization.
Explain database normalization (e.g., normal forms) and describe different types of SQL joins.
Explain what 'dynamic_cast' is in C++ and its use cases.
Describe methods or tools used to detect memory leaks in a C++ program.
Explain how to process a binary file in C++ (e.g., reading/writing binary data).
Describe how to create a random number generator in C++.