LambdaTest interview experience Real time questions & tips from candidates to crack your interview

Backend engineer

LambdaTest
upvote
share-icon
2 rounds | 3 Coding problems

Interview preparation journey

expand-icon
Journey
My journey toward cracking this job interview began with a focus on building a strong foundation in software development. A year ago, I primarily worked with C++ and Simulink, which provided me with solid technical exposure, but I realized I needed to expand my skill set to transition into a new role. I started by learning Python and Go, gradually deepening my knowledge of backend development, system design, and data structures. I also built small projects to apply what I was learning. Consistent practice on coding platforms and mock interviews played a significant role in improving my problem-solving skills. I solved problems daily and analyzed my mistakes to continuously improve. The journey toward switching jobs was challenging, but I embraced the learning process, sought feedback, and never hesitated to step out of my comfort zone. This preparation helped me feel confident going into the interview. I believe that persistence, consistency, and a willingness to learn are key to success, and I hope my journey motivates others to keep pushing toward their goals.
Application story
I applied for the Backend Engineer role at LambdaTest through their online job portal via LinkedIn. The application process was straightforward, and after submitting my resume, I was contacted for the first round of interviews. The initial round was conducted remotely and focused on technical skills relevant to backend development. After successfully clearing the first round, I was invited to a second technical interview. The second round was more challenging, and although I put in my best effort, I was not selected to move forward. While the outcome wasn’t what I had hoped for, it was a valuable learning experience that helped me identify areas for improvement and growth.
Why selected/rejected for the role?
I successfully cleared the first round of interviews, which focused on data structures and algorithms (DSA). My preparation for solving coding problems and my ability to think through complex issues helped me perform well in this round. However, I was not selected after the second round, which was based on system design. During the interview, I realized I lacked in-depth knowledge and experience in designing scalable systems, which significantly contributed to my rejection. While I had a basic understanding of system design concepts, I struggled to articulate and design a solution that met the interviewer’s expectations for scalability and robustness. Learning from the Rejection: This experience taught me the importance of having strong coding skills and understanding system design principles, especially for backend roles. It motivated me to focus more on learning how to design large-scale systems, dive deeper into architectural patterns, and improve my ability to communicate design decisions effectively. I see this rejection as a valuable learning experience that helped me identify areas for improvement and strengthened my resolve to excel in future opportunities.
Preparation
Duration: 1 month
Topics: Data Structures, Algorithm Design, System Design, OOPS, DBMS, OS
Tip
Tip

Tip 1: Practice coding questions daily on coding platforms.

Tip 2: Prepare for system design.

Application process
Where: Linkedin
Eligibility: N/A
Resume Tip
Resume tip

Tip 1: Don’t include false information on your resume.

Tip 2: Be thoroughly familiar with the work you’ve mentioned on your resume.

Interview rounds

01
Round
Medium
Video Call
Duration60 minutes
Interview date28 Jun 2024
Coding problem2

1. Trapping Rain Water

Moderate
15m average time
80% success
0/80
Asked in companies
RazorpayMorgan StanleyUber

You have been given a long type array/list 'arr’ of size 'n’.


It represents an elevation map wherein 'arr[i]’ denotes the elevation of the 'ith' bar.



Note :
The width of each bar is the same and is equal to 1.
Example:
Input: ‘n’ = 6, ‘arr’ = [3, 0, 0, 2, 0, 4].

Output: 10

Explanation: Refer to the image for better comprehension:

Alt Text

Note :
You don't need to print anything. It has already been taken care of. Just implement the given function.
Problem approach

Step 1: Initially, I approached the problem with a brute-force solution where I calculated the trapped water for each bar by comparing the maximum heights of bars to the left and right of the current bar. While this approach worked, it was inefficient with a time complexity of O(n^2), and I realized it wouldn't scale well for larger inputs.

Step 2: The interviewer pointed out that while my solution was correct, it was not optimized. I was asked to improve the time complexity. I then thought of optimizing the solution using extra space to store the maximum heights on the left and right in two separate arrays.

Step 3: After some thinking, I applied a two-pointer approach that allowed me to solve the problem with a time complexity of O(n) and O(1) extra space. This method efficiently calculates the trapped water by maintaining two pointers (left and right), iterating over the elevation map, and calculating trapped water based on the minimum of the maximum heights encountered from both directions. The interviewer appreciated this optimized solution, which was both time and space-efficient.

Try solving now

2. Product Of Array Except Self

Easy
26m average time
0/40
Asked in companies
FacebookDelhiveryIntuit

You have been given an integer array/list (ARR) of size N. You have to return an array/list PRODUCT such that PRODUCT[i] is equal to the product of all the elements of ARR except ARR[i]

 Note :
Each product can cross the integer limits, so we should take modulo of the operation. 

Take MOD = 10^9 + 7 to always stay in the limits.
Follow up :
Can you try solving the problem in O(1) space?
Problem approach

Step 1: Initially, I thought about using the division method, where I would calculate the total product of the array and divide it by each element to get the result for each index. However, since division was not allowed in the problem constraints, I needed to find another approach.

Step 2: The interviewer asked me to rethink my approach to solve the problem in O(n) time without division. I realized I could solve the problem by creating two auxiliary arrays to store the prefix and suffix products of each element.

Step 3: I implemented a solution where I first created a prefix product array, where each element at index i holds the product of all the numbers before i. Then, I created a suffix product array, where each element at index i holds the product of all the numbers after i. By multiplying the prefix and suffix arrays element-wise, I got the desired result. This solution ran in O(n) time but used extra space.

Step 4: To further optimize the space complexity, I used a single array for the result and updated it in two passes: first for the prefix product and then iterating from the end to incorporate the suffix product. This allowed me to achieve O(n) time complexity with O(1) space for the result array, which met the problem’s constraints. The interviewer was happy with this optimized approach.

Try solving now
02
Round
Hard
Video Call
Duration45 minutes
Interview date1 Jul 2024
Coding problem1

1. System Design

Design a URL shortening service like bit.ly.

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
4 rounds | 8 problems
Interviewed by Amazon
8518 views
0 comments
0 upvotes
Analytics Consultant
3 rounds | 10 problems
Interviewed by ZS
907 views
0 comments
0 upvotes
company logo
SDE - Intern
1 rounds | 3 problems
Interviewed by Amazon
3320 views
0 comments
0 upvotes
company logo
SDE - 2
4 rounds | 6 problems
Interviewed by Expedia Group
2581 views
0 comments
0 upvotes