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

SDE - 1

project44
upvote
share-icon
3 rounds | 4 Coding problems

Interview preparation journey

expand-icon
Journey
I got this opportunity through a referral. I have a good level of proficiency in data structures and algorithms, such as arrays, trees, graphs, dynamic programming, divide and conquer, and greedy algorithms.
Application story
I applied through a referral from a friend. After some days, I received a call from HR stating that my application was accepted, and there would be three rounds: the first would be a HackerRank test, followed by two interviews.
Why selected/rejected for the role?
I was selected for this role. I excelled at approaching the problems asked in the interview rounds. In the first round, I was asked an ad-hoc problem, which I solved in less time than expected, and the interviewer was very pleased. In the second round, the interviewer seemed less interested in conducting the interview, but I went through it nonetheless.
Preparation
Duration: 2 months
Topics: DSA, OOPS, Low level Design, Dynamic Programming, High level design
Tip
Tip

Tip 1: Cover as many problems properly in DSA (Data Structures and Algorithms) as possible. 
Tip 2: Always ask relevant questions to the interviewer before starting to attempt the problem.
Tip 3: Always cover the points written in your resume properly

Application process
Where: Referral
Eligibility: NO
Resume Tip
Resume tip

Tip 1: Include some projects or previous experience on your resume. 

Tip 2: Ensure thorough preparation of everything written on your resume.

Interview rounds

01
Round
Easy
Online Coding Interview
Duration90 minutes
Interview date5 Oct 2023
Coding problem1

You can attempt the test at any time of your comfort. But once it starts you have to finish it in the allocated time.

1. Maximizing Profit with Task Deadlines

Moderate
30m average time
70% success
0/80
Asked in companies
OracleCIS - Cyber InfrastructureExpedia Group

Given a list of tasks with deadlines and total profit earned on completing a task, find the maximum profit earned by executing the tasks within the specified deadlines. Assume that each task takes one unit of time to complete, and a task can’t be executed beyond its deadline. Also, only a single task will be executed at a time.

Problem approach

We can easily solve this problem by following a Greedy approach. The idea is simple – consider each task decreasing order of their profits and schedule it in the latest possible free slot that meets its deadline. If no such slot is there, don’t schedule the task.

Try solving now
02
Round
Easy
Video Call
Duration60 minutes
Interview date10 Oct 2023
Coding problem1

It was a face-to-face interview with a senior software engineer. The interviewer was very friendly and explained the problem properly.

1. Rod cutting problem

Moderate
40m average time
75% success
0/80
Asked in companies
Dream11UberGoldman Sachs

Given a rod of length n and a list of rod prices of length i, where 1 <= i <= n, find the optimal way to cut the rod into smaller rods to maximize profit.
For example, consider the following rod lengths and values:

Input: length[] = [1, 2, 3, 4, 5, 6, 7, 8]price[] = [1, 5, 8, 9, 10, 17, 17, 20] 
Rod length: 4  
Answer: Cut the rod into two pieces of length 2 each to gain revenue of 5 + 5 = 10

Problem approach

It can be solved using dynamic programming.
We will solve this problem in a bottom-up manner. In the bottom-up approach, we solve smaller subproblems first, then solve larger subproblems from them. The following bottom-up approach computes T[i], which stores the maximum profit achieved from the rod of length i for each 1 <= i <= n. It uses the value of smaller values I already computed.

Try solving now
03
Round
Easy
Video Call
Duration60 minutes
Interview date13 Oct 2023
Coding problem2

It was the final round of interviews. He asked me about 2 coding problems, followed by questions about expectations and my availability to start. The interviewer seemed disinterested throughout the interview. Most of the time, he was not looking at me or my screen.

1. Reverse List In K Groups

Hard
15m average time
85% success
0/120
Asked in companies
SAP LabsSamsungIBM

Given a linked list, write a function to reverse every k node (where k is an input to the function).
Example: 
Input: 1->2->3->4->5->6->7->8->NULL, K = 3 
Output: 3->2->1->6->5->4->8->7->NULL 
Input: 1->2->3->4->5->6->7->8->NULL, K = 5 
Output: 5->4->3->2->1->8->7->6->NULL

Problem approach

The following steps are required for this Algorithm:
1. Create a dummy node and point it to the head of input i.e. dummy->next = head.
2. Calculate the length of the linked list which takes O(N) time, where N is the length of the linked list.
3. Initialize three-pointers prev, curr, next to reverse k elements for every group.
4. Iterate over the linked lists till next!=NULL.
5. Points curr to the prev->next and next to the curr next.
6. Then, Using the inner for loop reverse the particular group using these four steps:
curr->next = next->next
next->next = prev->next
prev->next = next
next = curr->next
7. This for loop runs for k-1 times for all groups except the last remaining element, for the last remaining element it runs 
for the remaining length of the linked list – 1.
8. Decrement count after for loop by k count -= k, to determine the length of the remaining linked list.

Try solving now

2. LRU Cache Implementation

Moderate
25m average time
65% success
0/80
Asked in companies
OYOHikeWalmart

What is an LRU cache? Write the implementation of get and put in the LRU cache.

Problem approach

As the name suggests when the cache memory is full, LRU picks the data that is least recently used and removes it to make space for the new data. The priority of the data in the cache changes according to the need of that data i.e. if some data is fetched or updated recently then the priority of that data would be changed and assigned to the highest priority, and the priority of the data decreases if it remains unused operations after operations.
LRUCache (Capacity c): Initialize LRU cache with positive size capacity c.
get (key): Returns the value of Key ‘k’ if it is present in the cache otherwise it returns -1. Also updates the priority of data in the LRU cache.
put (key, value): Update the value of the key if that key exists, Otherwise, add a key-value pair to the cache. If the number of keys exceeds the capacity of the LRU cache then dismiss the least recently used key.

Try solving now

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
3319 views
0 comments
0 upvotes
company logo
SDE - 2
4 rounds | 6 problems
Interviewed by Expedia Group
2580 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - 1
5 rounds | 12 problems
Interviewed by Amazon
114579 views
24 comments
0 upvotes
company logo
SDE - 1
4 rounds | 5 problems
Interviewed by Microsoft
57824 views
5 comments
0 upvotes
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by Amazon
34961 views
7 comments
0 upvotes