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

Software Developer

BONAMI SOFTWARES
upvote
share-icon
3 rounds | 18 Coding problems

Interview preparation journey

expand-icon
Journey
I started my journey by gaining admission to NSUT. After exploring different programming languages and seeking guidance from seniors, I began coding in C++ because it is beneficial for competitive programming. After learning C++, I started studying full-stack development through Coding Ninjas. I have worked on projects related to full-stack development.
Application story
I applied for the job through their LinkedIn page, and a few days later, I received a call from HR, who confirmed that I had been shortlisted for a face-to-face interview at Bonami's company office. All other rounds were also conducted on the office premises.
Why selected/rejected for the role?
I was not selected after the third technical round as I was unable to provide proper solutions on the spot for the DSA questions, specifically related to graphs and trees, that they asked.
Preparation
Duration: 1 months
Topics: HTML, CSS, React, SQL, Rest API, DSA, JavaScript, MongoDB, NodeJS
Tip
Tip

Tip 1: Create interactive projects based on full-stack development.

Tip 2: Practice at least 250 questions on DSA.

Tip 3: Do not include anything in your resume that you are not confident about.

Application process
Where: Linkedin
Eligibility: 7 CGPA, (Salary Package - 8 LPA)
Resume Tip
Resume tip

Tip 1: Keep your resume short and concise.
Tip 2: Avoid including false information on your resume.
Tip 3: Exclude irrelevant details from your resume.

Interview rounds

01
Round
Medium
Online Coding Test
Duration60 minutes
Interview date16 Dec 2024
Coding problem3

I was given three coding questions to solve. The questions were of easy to medium difficulty level.

1. First Missing Positive

Moderate
18m average time
84% success
0/80
Asked in companies
SalesforceProtiumQualcomm

You are given an array 'ARR' of integers of length N. Your task is to find the first missing positive integer in linear time and constant space. In other words, find the lowest positive integer that does not exist in the array. The array can have negative numbers as well.

For example, the input [3, 4, -1, 1] should give output 2 because it is the smallest positive number that is missing in the input array.

Problem approach

Create a visited array to keep track of which numbers from the original array are present. For each positive number in the input array, mark its corresponding position in the visited array. After that, go through the visited array to find the first position that isn’t marked. The first unmarked index tells us the first missing positive number.

Try solving now

2. Reverse List In K Groups

Hard
15m average time
85% success
0/120
Asked in companies
Paytm (One97 Communications Limited)SAP LabsSamsung

You are given a linked list of 'n' nodes and an integer 'k', where 'k' is less than or equal to 'n'.


Your task is to reverse the order of each group of 'k' consecutive nodes, if 'n' is not divisible by 'k', then the last group of nodes should remain unchanged.


For example, if the linked list is 1->2->3->4->5, and 'k' is 3, we have to reverse the first three elements, and leave the last two elements unchanged. Thus, the final linked list being 3->2->1->4->5.


Implement a function that performs this reversal, and returns the head of the modified linked list.


Example:
Input: 'list' = [1, 2, 3, 4], 'k' = 2

Output: 2 1 4 3

Explanation:
We have to reverse the given list 'k' at a time, which is 2 in this case. So we reverse the first 2 elements then the next 2 elements, giving us 2->1->4->3.


Note:
All the node values will be distinct.


Problem approach

Use a stack to store the nodes of the given linked list. First, push the k nodes of the linked list onto the stack. Then, pop the nodes one by one while keeping track of the previously popped node. Point the next pointer of the previous node to the top element of the stack. Repeat this process until you reach the end of the linked list.

Try solving now

3. Rearrange array elements.

Easy
15m average time
85% success
0/40
Asked in companies
Info Edge India (Naukri.com)Barclays

Given an array ‘A’ having ‘N’ integers and an integer ‘m’. You need to rearrange the array elements such that after re-arrangement difference of array elements with ‘m’ should be in a sorted fashion.

If the difference between any two array elements and ‘m’ is the same, then the element which comes first in the given array will be placed first in the re-arranged array.

For Example
If we have A =  [3, 5, 7, 9, 2, 6]  and m = 5.
Difference of array elements with m : [2, 0, 2, 4, 3, 1].
Array after rearrangement : [5, 6, 3, 7, 2, 9].
Problem approach

Use a hash set or dictionary to store elements that have already been processed.
Initialize the index of the result array to 0.
Traverse through the input array. If an element is not in the hash set, place it at the current result index and insert it into the set.

Try solving now
02
Round
Medium
Face to Face
Duration45 minutes
Interview date16 Dec 2024
Coding problem8

This round was conducted immediately after the coding round. It was the first technical round. I was asked two coding questions, theoretical DSA-related questions, as well as SQL and web development-related questions.

1. Balanced Parentheses

Moderate
10m average time
90% success
0/80
Asked in companies
SnapdealDell TechnologiesOLX Group

Given an integer ‘N’ representing the number of pairs of parentheses, Find all the possible combinations of balanced parentheses with the given number of pairs of parentheses.

Note :

Conditions for valid parentheses:
1. All open brackets must be closed by the closing brackets.

2. Open brackets must be closed in the correct order.

For Example :

()()()() is a valid parentheses.
)()()( is not a valid parentheses.
Problem approach

I solved this question using a stack.
Push all the opening brackets onto the stack. Whenever you encounter a closing bracket, check if the top of the stack is the corresponding opening bracket. If this is true, pop the stack and continue the iteration. In the end, if the stack is empty, it means all brackets are balanced or well-formed. Otherwise, they are not balanced.

Try solving now

2. Sort An Array of 0s, 1s and 2s

Easy
10m average time
90% success
0/40
Asked in companies
DirectiZS AssociatesBNY Mellon

You have been given an array/list 'arr' consisting of 'n' elements.


Each element in the array is either 0, 1 or 2.


Sort this array/list in increasing order.


Do not make a new array/list. Make changes in the given array/list.


Example :
Input: 'arr' = [2, 2, 2, 2, 0, 0, 1, 0]

Output: Final 'arr' = [0, 0, 0, 1, 2, 2, 2, 2]

Explanation: The array is sorted in increasing order.
Problem approach

Traverse the array once and count the number of 0s, 1s, and 2s, denoted as c0, c1, and c2, respectively. Then, traverse the array again, placing c0 (the count of 0s) 0s first, followed by c1 1s, and finally c2 2s.

Try solving now

3. BFS vs DFS

What is the difference between the Breadth First Search (BFS) and Depth First Search (DFS)? (Learn)

4. Time Complexity

What is the time complexity of enqueue and dequeue operations in a Queue? (Learn)

5. Hash Collisions

How are collisions handled in a hash data structure? (Learn)

6. React events

Create an event in React.

7. Class Component vs Functional Component

Explain the difference between functional and class components in React. (Learn)

8. SQL

What is the difference between BETWEEN and IN operators in SQL? (Learn)

03
Round
Hard
Face to Face
Duration60 minutes
Interview date17 Dec 2024
Coding problem7

This round was conducted the day after the first technical round. I was informed by phone that I had been selected for the second technical round. In this round, I was asked two coding questions, DSA-based questions, questions from my resume, and questions about my projects. 

1. Graph Valid Tree

Moderate
30m average time
70% success
0/80
Asked in companies
Indeedalibaba

You are given N nodes labelled from 0 to N - 1 and a list of undirected edges( each edge is a pair of nodes). Your task is to find out if these edges make a valid tree. If they make a valid tree return true, else return false.

Tree is a special graph. It has the following properties.

• It is connected
• It has no cycle.

Example :

If n = 5 and if there are 4 edges i.e [ [0, 1], [0, 2], [0, 3], [1, 4]] so the graph formed will look like this:-

Here this graph is connected and it has no cycle so it is a tree.
Problem approach

Depth First Traversal can be used to detect a cycle in an undirected graph. If we encounter a visited vertex again, we can conclude that there is a cycle.

Try solving now

2. Count Univalue Subtrees

Moderate
30m average time
70% success
0/80
Asked in companies
IBMInfosysGoogle

You are given a binary tree. Return the count of unival sub-trees in the given binary tree. In unival trees, all the nodes, below the root node, have the same value as the data of the root.

For example: for the binary tree, given in the following diagram, the number of unival trees is 5.

alt-text

Problem approach

Traverse the tree in a bottom-up manner. For every subtree visited, return true if the subtree rooted under it is single-valued and increment the count. The idea is to use count as a reference parameter in recursive calls and use the returned values to determine whether the left and right subtrees are single-valued or not.

Try solving now

3. LRU Cache Implementation

Which data structures are used for implementing LRU cache? (Learn)

4. Tree Data Structures

  • What is a B-tree data structure? What are the applications for B-trees? (Learn)
  • Explain the concept of a minimum-spanning tree. (Learn)

5. Graph Traversal Techniques in DFS BFS

Discuss the time and space complexity of graph operations: Traversal (DFS, BFS), insertion, and deletion. (Learn)

6. Dijkstra’s Algorithm

Explain Dijkstra’s algorithm and its applications. (Learn)

7. Hash Table Load Factor

What is the load factor of a hash table and what should be the optimal load factor for a hash table?

Here's your problem of the day

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

Skill covered: Programming

Which SQL keyword removes duplicate records from a result set?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by OYO
1632 views
0 comments
0 upvotes
Software Engineer
3 rounds | 7 problems
Interviewed by BONAMI SOFTWARES
130 views
0 comments
0 upvotes
company logo
SDE - 1
3 rounds | 9 problems
Interviewed by Salesforce
1101 views
0 comments
0 upvotes
company logo
System Engineer
2 rounds | 2 problems
Interviewed by Tata Consultancy Services (TCS)
879 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
Software Developer
5 rounds | 14 problems
Interviewed by Microsoft
3255 views
1 comments
0 upvotes
company logo
Software Developer
6 rounds | 12 problems
Interviewed by SAP Labs
2003 views
0 comments
0 upvotes
company logo
Software Developer
3 rounds | 8 problems
Interviewed by Tata Consultancy Services (TCS)
0 views
0 comments
0 upvotes