Tip 1: Practice DSA; it's very important for getting a job.
Tip 2: If you are preparing for SDE2, please study system design as well.
Tip 3: You would be expected to be good in LLD and proficient in HLD, as that comes at the SD3 level mainly.
Tip 1: Mention your office work projects at the top.
Tip 2: List your skills after your projects.
To check your Problem-solving through DSA questions.



Let’s say the list of intervals is: [[1,3], [5,7], [8,12]] and we need to insert the interval [4,6] into the list. [4,6] must be inserted in the second position. After insertion, since [4,6] overlaps with [5,7], we merge them into one interval [4,7]. So, our resulting list is: [[1,3], [4,7], [8,12]]
Step 1: Intervals Array is sorted. You can Binary Search to find the correct position to insert the new Interval.
Step 2: Merge the overlapping intervals while inserting the new interval.
Step 3: This can be done by comparing the end of the last interval with the start of the new interval and vice versa.



Input: 'a' = [1, 5, 3, 4, 2]
Output: NGE = [5, -1, 4, 5, 5]
Explanation: For the given array,
- The next greater element for 1 is 5.
- There is no greater element for 5 on the right side. So we consider NGE as -1.
- The next greater element for 3 is 4.
- The next greater element for 4 is 5, when we consider the next elements as 4 -> 2 -> 1 -> 5.
- The next greater element for 2 is 5, when we consider the next elements as 2 -> 1 -> 5.
Step 1: Push the first element to stack.
Step 2: Pick the rest of the elements one by one and follow the following steps in the loop.
-> Mark the current element as next.
-> If the stack is not empty, compare top most element of the stack with the next.
-> If the next is greater than the top element, Pop the element from the stack. next is the next greater element for the popped element.
-> Keep popping from the stack while the popped element is smaller than the next. next becomes the next greater element for all such popped elements.
The motive of this round was to judge a candidate based on his system design skills that including Low-level design(how you going to decide on the design patterns and solid principles) and High-level design as well ( where they expect you to identify what kind of technologies you are going to choose like the database, cache, etc )



1. Get(int num): If the key exists, it will return the value of the key stored. Else, return -1.
2. Put(int key, int value): If the key already exists, update the value of the key. Else add the key-value pair to the cache. If the number of keys is more than the capacity for this operation, delete the least recently key used.
For the following input:
4 2
2 1 4
1 1
1 4
We will initialize an empty LRU cache for the first operation with a maximum capacity of 2.
For the first operation, we need to add a key-value pair (1,4) to the cache.
For the second operation, we need to return the value stored for key 1, i.e., 4
For the third operation, we need to return -1, as we don't have any key 4 in the cache.
So, the final output will be:
4 -1
Tip 1: After getting the question you can ask if requirements will be provided or if you have to identify them.
Tip 2: Then one by one you can tell what Classes you are going to create for these requirements in your code. Also, explain what design patterns you are going to use.
Tip 3: You can also include some unique features that are there.
Tip 4: If the interviewer asks you to build the data model you can do that or make it yourself; for that make sure you have good knowledge of DBMS How we can reduce redundancy?
Tip 5: Which type of database you are going to use? Give reasons for that as well depending on your use case.
Tip 6: Include around 2-3 design patterns in your code.
This was an HM round which included managerial questions majorly and open discussion on your experience and about the company as well. This round was taken by the co-founder.
1. Discussion about the company's future goals and anything you wanna discuss about the business and its scope.
2. Tell me about your achievements.
3. Why do you want to join Zypp electric?
4. What are the exciting features that you have worked on?

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?