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

Software Backend Engineer

Ula
upvote
share-icon
2 rounds | 4 Coding problems

Interview preparation journey

expand-icon
Journey
I had some coding knowledge when I joined college. Then, I did not work on it until my 2nd year, but after my 2nd year, I worked a lot on my coding skills. I got many offers and finally decided to join Cisco as an intern in my 4th year. After that, I got a PPO and started working full-time there.
Application story
ULA visited our campus for hiring, and I applied for the backend role. There were three choices: backend, frontend, and test role. I got moved to the interviews after clearing the test.
Why selected/rejected for the role?
Rejected. In last round I was not selected, reason is still unclear to me, but it was a good learning experience.
Preparation
Duration: 4 months
Topics: Data Structures, Algorithms, Aptitude, OOPS
Tip
Tip

Tip 1: Must do Previously asked Interviews and Online Test Questions.
Tip 2: Must have good knowledge of DSA
Tip 3: Do at least 2 good projects; you must know every bit of them.

Application process
Where: Campus
Eligibility: 70% marks in 10th,12th, B.Tech ( For M.Tech students) and current CGPA 7.0 and above, with no active backlog(s).
Resume Tip
Resume tip

Tip 1: Have at least two good projects explained in short with all important points covered.
Tip 2: Every skill must be mentioned.
Tip 3: Focus on skills, projects, and experiences more.

Interview rounds

01
Round
Easy
Video Call
Duration60 mins
Interview date19 Nov 2021
Coding problem2

This was purely a DSA round, where I was asked 2 interview questions.

1. Ninja And Chocolates

Moderate
20m average time
80% success
0/80
Asked in companies
FacebookSalesforceD.E.Shaw

Ninja is hungry and wants to eat his favorite chocolates but his mother won’t let him eat since he has already eaten enough chocolates. There are ‘N’ jars filled with chocolates. His mother has gone to the market and will home come after ‘M’ minutes. The ninja can eat up to ‘X’ chocolates per minute. Every minute when his mother is not there, he chooses any jar and takes out ‘X’ chocolates from that jar, and eats them. If any jar has less than ‘X’ chocolates, then he eats all of the chocolates in that jar but won’t eat any more chocolates during this minute. Your task is to print ‘X’ the minimum chocolate-eating speed of Ninja such that he eats all the chocolates within ‘M’ minutes before his mother comes back.

Problem approach

Initially, sort the given array. And declare a variable to store the minimum difference, and initialize it to INT_MAX. Let the variable be min_diff. Find the subarray of size m such that the difference between the last (maximum in case of sorted) and first (minimum in case of sorted) elements of the subarray is minimum. We will run a loop from 0 to (n-m), where n is the size of the given array and m is the size of the subarray. We will calculate the maximum difference with the subarray and store it in diff = arr[highest index] – arr[lowest index]. Whenever we get a diff less than the min_diff, we will update the min_diff with diff.

Try solving now

2. Maximum Sum

Moderate
35m average time
70% success
0/80
Asked in companies
DunzoAdobeArcesium

You are given an array “ARR” of N integers. You are required to perform an operation on the array each time until it becomes empty. The operation is to select an element from the array(let’s say at ith index i.e ARR[i]) and remove one occurrence of the selected element from the array and remove all the occurrences of (ARR[i]-1) and (ARR[i]+1) from the array(if present). Your task is to maximize the sum of selected elements from the array.

For example, let’s say the given array is [2, 3, 3, 3, 4, 5].

The maximum possible sum for the given array would be 14. Because if we select one of the 3’s from the array, then one 3 and all occurrences of (3-1) and (3+1) i.e 2 and 4 will be deleted from the array. Now we left with {3,3,5} elements in the array. Then again we select 3 in the next two steps and in both steps 3 will be deleted also (3-1) and (3+1) doesn't exist in the array so nothing extra to delete in both steps. Now we left with only {5} and in the next step, we select the 5 and delete it. Then the array becomes empty. Thus the sum of selected elements will be 3+3+3+5 = 14.

Problem approach

Initialize two variables prev0 and prev1 to 0 and -999999 respectively.
Loop through the input array from index 0 to n-1.
Compute two new variables curr0 and curr1 as follows.
curr0 is the maximum of (prev0 + a[i]) and (prev1 – a[i]) 
curr1 is the maximum of (prev0 – a[i]) and (prev1 + a[i])
Update prev0 to curr0 and prev1 to curr1 for further iteration.
At last return final answer stored in prev0.

Try solving now
02
Round
Easy
Video Call
Duration60 minutes
Interview date29 Nov 2021
Coding problem2

In this round, I was asked basic questions on system design. Then, I was asked my past internship experience on backend, followed by DSA questions.

1. Decreasing Subsequences

Moderate
0/80
Asked in companies
IBMPegasystemsGoogle inc

Ninja is fond of sequences. He has a set of numbers and wants to make minimum decreasing subsequences such that all numbers are part of exactly one subsequence. Can you help Ninja with this challenge?

You are given an array ‘ARR’ having ‘N’ elements.Your task is to divide all ‘N’ elements of the array into a minimum number of strictly decreasing subsequences. Each number can be in one subsequence only. Find the minimum number of such strictly decreasing subsequences.

For Example
If 'ARR' is [4,2,1,3] ,it can be splitted into two subsequences as [4,2,1] , [3] or [4,3],[2,1].  
Problem approach

Count many subarrays twice. This can also be improved and the idea is based on fact that a sorted(decreasing) subarray of length ‘len’ adds len*(len-1)/2 to the result.

Try solving now

2. Reconstruct Itinerary

Moderate
15m average time
85% success
0/80
Asked in companies
American ExpressUberFacebook

You are given a matrix of flight 'TICKETS', where the 'i'th row represents 'i’th flight ticket. 'TICKETS'[i] = [SOURCE, DESTINATION] represents that there is a one-way flight starting from the city 'SOURCE' and ending at city 'DESTINATION'. All the flight tickets belong to a man who is initially in city "DEL".

You are supposed to reconstruct the journey satisfying the following conditions:

1. He should begin his journey from “DEL”.

2. He should use all the tickets and complete the journey.

3. He must use all the tickets only once.

Note:
1. Journey means the order in which the cities will be visited.

2. The given tickets have at least one itinerary.

3. If multiple valid itineraries are possible, then return the itinerary that is a lexicographically smallest itinerary.
Problem approach

Build a map to store each departure location and its destinations array. Sort the destinations array. Now, we assume that the departure airport 'JFK' is the root node for this tree, and its destinations are the children. Since the destinations are sorted, the children are arranged alphabetically from left to right. For each destination, if it is also a departure airport, then its children are the related destinations. Hopefully, by now, you get an idea of the structure of the tree. Run a post-order traversal of the tree; as a result, 'JFK' now is the last airport visited, hence the Greedy part. Finally, we reverse the result as the return value.

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
4656 views
0 comments
0 upvotes
SDE - Intern
3 rounds | 13 problems
Interviewed by Ula
602 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
3451 views
0 comments
0 upvotes