Unthinkable Solutions LLP interview experience Real time questions & tips from candidates to crack your interview

Jr. Associate software engineer

Unthinkable Solutions LLP
upvote
share-icon
3 rounds | 6 Coding problems

Interview preparation journey

expand-icon
Journey
There were three rounds in total. The first round lasted 60 minutes and consisted of three coding questions based on Data Structures and Algorithms (DSA). The second round was 20 minutes long and included one DSA-based coding question. The third round was a pen-and-paper coding test with two coding questions. Students were evaluated based on their performance in these rounds. Following this, there were two personal interview rounds.
Application story
I applied through a campus drive. Initially, 550 students were shortlisted for the first round. After the first coding round, 300 students advanced to the next stage. Following the second coding round, the number of remaining students was reduced to approximately 60. After the pen-and-paper round, only 12 students remained. Finally, after the HR round, 5 students were selected.
Why selected/rejected for the role?
Yes, I was selected, and looking back, I would say the process ranged from moderately difficult to hard. Each stage was designed to test a combination of technical skills, problem-solving abilities, and logical thinking. The first round challenged my coding skills with DSA-based questions, while the second round required quick thinking and efficient solutions within a limited time. The pen-and-paper round tested my ability to code without relying on an editor, emphasizing logical clarity and precision. Finally, the interviews assessed not only my technical knowledge but also my communication skills and overall personality. The entire process was a valuable learning experience that pushed me to perform at my best. Although it was challenging, the sense of accomplishment after clearing all stages made it well worth the effort.
Preparation
Duration: 2 Months
Topics: Array, binary search, strings, DBMS, OOPs, aptitude
Tip
Tip

Tip 1: Practice DSA
Tip 2: Focus on OOPs and DBMS
Tip 3: Maintain consistency

Application process
Where: Campus
Eligibility: 7 CGPA + No active backlogs, (Salary Package: 5 LPA)
Resume Tip
Resume tip

Tip 1: Highlight skills in your resume and add internship details if you have completed any.
Tip 2: Highlight achievements and core skills along with soft skills.

Interview rounds

01
Round
Medium
Online Coding Test
Duration60 minutes
Interview date23 Nov 2024
Coding problem3

There were three questions, and we were allotted one hour to solve them.

1. N-th Fibonacci Number

Moderate
40m average time
70% success
0/80
Asked in companies
MathworksAmazonOracle

You are given an integer ‘N’, your task is to find and return the N’th Fibonacci number using matrix exponentiation.

Since the answer can be very large, return the answer modulo 10^9 +7.

Fibonacci number is calculated using the following formula:
F(n) = F(n-1) + F(n-2), 
Where, F(1) = F(2) = 1.
For Example:
For ‘N’ = 5, the output will be 5.
Problem approach

I used recursion for solving the problem.

Try solving now

2. Best Time to Buy and Sell Stock II

Moderate
0/80
Asked in company
Unthinkable Solutions LLP

You are given an array of integers, 'PRICES' of size 'N', where 'PRICES[i]' is the price of a given stock on 'i'th day.

On each day, you may decide to buy and sell the stock. You can only hold at most one share of the stock at any time. However, you can buy it and then immediately sell it on the same day.

Return the maximum profit you can achieve.

Note: You can't sell a stock before you buy one.

Example:
Let's say, 'PRICES' = [7, 1, 5, 4, 3, 6]

Purchase stock on day two, where the price is one, and sell it on day three, where the price is five, profit = 5 - 1 = 4.
Purchase stock on day five, where the price is three, and sell it on day six, where the price is six, profit = 6 - 3 = 3.
Total Profit is 4+3 = 7. Hence we return 7.
Problem approach

The idea is to traverse the array from left to right and do the following:

Find a local minimum and then a local maximum.

Compute the difference between the two and add it to the result.

Try solving now

3. Sliding Maximum

Moderate
25m average time
85% success
0/80
Asked in companies
AmazonAmerican ExpressSquadstack

You are given an array 'ARR' of integers of length 'N' and a positive integer 'K'. You need to find the maximum elements for each and every contiguous subarray of size K of the array.

For example
'ARR' =  [3, 4, -1, 1, 5] and 'K' = 3
Output =  [4, 4, 5]

Since the maximum element of the first subarray of length three ([3, 4, -1]) is 4, the maximum element of the second subarray of length three ([4, -1, 1]) is also 4 and the maximum element of the last subarray of length three ([-1, 1, 5]) is 5, so you need to return [4, 4, 5]. 
Problem approach

The idea is very basic: run a nested loop. The outer loop will mark the starting point of the subarray of length K, while the inner loop will run from the starting index to index + K and print the maximum element among these K elements.

Try solving now
02
Round
Hard
Face to Face
Duration20 minutes
Interview date23 Nov 2024
Coding problem1

1. Longest Common Subsequence

Moderate
0/80
Asked in companies
AmazonVisaRed Hat

You have been given two Strings “STR1” and “STR2” of characters. Your task is to find the length of the longest common subsequence.

A String ‘a’ is a subsequence of a String ‘b’ if ‘a’ can be obtained from ‘b’ by deletion of several (possibly, zero or all) characters. A common subsequence of two Strings is a subsequence that is common to both Strings.

Problem approach

Use a standard approach like recursion.

Try solving now
03
Round
Hard
Face to Face
Duration60 minutes
Interview date23 Nov 2024
Coding problem2

1. Koko Eating Bananas

Moderate
25m average time
70% success
0/80
Asked in companies
AtlassianTennrUnthinkable Solutions LLP

A monkey is given ‘n’ piles of bananas, where the 'ith' pile has ‘a[i]’ bananas. An integer ‘h’ is also given, which denotes the time (in hours) in which all the bananas should be eaten.


Each hour, the monkey chooses a non-empty pile of bananas and eats ‘m’ bananas. If the pile contains less than ‘m’ bananas, then the monkey consumes all the bananas and won’t eat any more bananas in that hour.


Find the minimum number of bananas ‘m’ to eat per hour so that the monkey can eat all the bananas within ‘h’ hours.


Example:

Input: ‘n’ = 4, ‘a’ =  [3, 6, 2, 8] , ‘h’ = 7

Output: 3

Explanation: If ‘m’ = 3, then 
The time taken to empty the 1st pile is 1 hour.
The time taken to empty the 2nd pile is 2 hour.
The time taken to empty the 3rd pile is 1 hour.
The time taken to empty the 4th pile is 3 hour.
Therefore a total of 7 hours is taken. It can be shown that if the rate of eating bananas is reduced, they can’t be eaten in 7 hours.
Problem approach

The idea is to solve the problem by applying binary search.

The lower limit of speed is 1 banana/hour, as Koko must eat at least one banana per hour, and the upper limit is the maximum number of bananas among all piles.
Apply binary search on the possible range of answers to find the minimum speed at which Koko can eat all the bananas within K hours.
If the current speed (mid) is sufficient to eat all the bananas within the given K hours, update the minimum eating time and continue the search in the lower half of the range to check for slower eating speeds.
Otherwise, search in the upper half of the range, as we need to increase the eating speed.

Try solving now

2. Search In A Row Wise And Column Wise Sorted Matrix

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

You are given an 'N * N' matrix of integers where each row and each column is sorted in increasing order. You are given a target integer 'X'.


Find the position of 'X' in the matrix. If it exists then return the pair {i, j} where 'i' represents the row and 'j' represents the column of the array, otherwise return {-1,-1}


For example:
If the given matrix is:
[ [1, 2, 5],
  [3, 4, 9],
  [6, 7, 10]] 
We have to find the position of 4. We will return {1,1} since A[1][1] = 4.
Problem approach

The idea is to remove a row or column in each comparison until an element is found. Start searching from the top-right corner of the matrix. There are three possible cases:

x is greater than the current element: This means that all the elements in the current row are smaller than the given number, as the pointer is already at the right-most element and the row is sorted. Thus, the entire row is eliminated, and the search continues from the next row.

x is smaller than the current element: This means that all the elements in the current column are greater than the given number. Thus, the entire column is eliminated, and the search continues from the previous column, i.e., the column immediately to the left.

The given number is equal to the current element: This will end the search.

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
3 rounds | 7 problems
Interviewed by OYO
4657 views
0 comments
0 upvotes
company logo
SDE - Intern
2 rounds | 3 problems
Interviewed by Amazon
961 views
0 comments
0 upvotes
company logo
SDE - 1
2 rounds | 5 problems
Interviewed by Meesho
6450 views
0 comments
0 upvotes
company logo
SDE - 1
3 rounds | 9 problems
Interviewed by Salesforce
3452 views
0 comments
0 upvotes