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

SDE - 1

Nagarro Software
upvote
share-icon
2 rounds | 5 Coding problems

Interview preparation journey

expand-icon
Journey
My journey has been full of learning, practice, and self-improvement, even though I have not cracked the interview yet. I started by building strong fundamentals in computer science subjects and gradually moved on to problem-solving using data structures and algorithms. Every interview experience has helped me identify gaps in my understanding and improve my approach. Instead of getting discouraged, I treat each rejection as feedback and motivation to work harder. This journey has taught me patience, consistency, and the importance of strong fundamentals, which I believe will eventually help me succeed.
Application story
I applied for this role through an online job portal and the company’s hiring platform. After submitting my application, I was shortlisted for an online coding assessment, followed by a technical interview. The overall process was structured and smooth, with clear communication regarding timelines and next steps until the interview was completed.
Why selected/rejected for the role?
I was rejected because, although my fundamentals were fairly strong, I could not demonstrate enough confidence and clarity while solving and explaining problems within the limited interview time. This experience helped me realize the importance of practicing under time constraints and communicating clearly, which will strengthen my performance in future interviews.
Preparation
Duration: 4 months
Topics: Data Structures, Algorithms, OOPs, DBMS, Operating Systems, Recursion
Tip
Tip

Tip 1: Focus on building strong fundamentals before jumping to advanced problems.

Tip 2: Practice coding problems regularly and analyze better or optimized approaches.

Tip 3: Revise concepts and explain solutions out loud to improve interview communication.

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

Tip 1: Keep the resume concise and focused on core skills and relevant projects.

Tip 2: Clearly explain your role and impact in projects, rather than just listing the tools used.

Interview rounds

01
Round
Easy
Online Coding Interview
Duration60 minutes
Interview date8 Aug 2025
Coding problem2

The online assessment was conducted as the first screening round before the interview. It was a time-bound, proctored test on a coding platform with clear instructions. The assessment focused on evaluating core computer science fundamentals through MCQs and basic problem-solving skills through DSA coding questions. The difficulty level ranged from easy to medium, aiming to test conceptual clarity, logical thinking, and clean implementation rather than advanced optimizations.

1. Nth Fibonacci Number

Easy
0/40
Asked in companies
HCL TechnologiesIBMThales

The n-th term of Fibonacci series F(n), where F(n) is a function, is calculated using the following formula -

    F(n) = F(n - 1) + F(n - 2), 
    Where, F(1) = 1, F(2) = 1


Provided 'n' you have to find out the n-th Fibonacci Number. Handle edges cases like when 'n' = 1 or 'n' = 2 by using conditionals like if else and return what's expected.

"Indexing is start from 1"


Example :
Input: 6

Output: 8

Explanation: The number is ‘6’ so we have to find the “6th” Fibonacci number.
So by using the given formula of the Fibonacci series, we get the series:    
[ 1, 1, 2, 3, 5, 8, 13, 21]
So the “6th” element is “8” hence we get the output.
Problem approach

Step 1: I first understood the definition of the Fibonacci sequence and identified the base cases (n = 0 and n = 1).
Step 2: I defined a recursive function where the function calls itself for (n−1) and (n−2).
Step 3: I returned the sum of these two recursive calls to compute the result for n.
Step 4: I tested the logic with small values of n to ensure that the recursion flow and base cases were correct.

Try solving now

2. Largest Element in the Array

Easy
10m average time
90% success
0/40
Asked in companies
MakeMyTripOracleMorgan Stanley

Given an array ‘arr’ of size ‘n’ find the largest element in the array.


Example:

Input: 'n' = 5, 'arr' = [1, 2, 3, 4, 5]

Output: 5

Explanation: From the array {1, 2, 3, 4, 5}, the largest element is 5.
Problem approach

Step 1: I initialized a variable to store the maximum value, starting with the first element of the array.
Step 2: I traversed the array once to find the maximum element by comparing each element with the current maximum.
Step 3: I traversed the array again to count how many times the maximum element appeared.
Step 4: I returned both the maximum value and its frequency.

Try solving now
02
Round
Medium
Video Call
Duration20 minutes
Interview date12 Aug 2025
Coding problem3

The interview round was conducted during normal daytime working hours and lasted around 20 minutes. It was not a late-night interview. The environment was calm, professional, and distraction-free, which made it comfortable to think and communicate solutions. There were no other significant activities during the round apart from the technical discussion. The interviewer was polite, patient, and supportive, and focused on understanding my fundamentals, thought process, and clarity of concepts rather than only the final answers.

1. Stack using queue

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

Implement a Stack Data Structure specifically to store integer data using two Queues.


There should be two data members, both being Queues to store the data internally. You may use the inbuilt Queue.


Implement the following public functions :

1. Constructor:
It initializes the data members(queues) as required.

2. push(data) :
This function should take one argument of type integer. It pushes the element into the stack and returns nothing.

3. pop() :
It pops the element from the top of the stack and, in turn, returns the element being popped or deleted. In case the stack is empty, it returns -1.

4. top :
It returns the element being kept at the top of the stack. In case the stack is empty, it returns -1.

5. size() :
It returns the size of the stack at any given instance of time.

6. isEmpty() :
It returns a boolean value indicating whether the stack is empty or not.
Operations Performed on the Stack:
Query-1(Denoted by an integer 1): Pushes an integer data to the stack. (push function)

Query-2(Denoted by an integer 2): Pops the data kept at the top of the stack and returns it to the caller. (pop function)

Query-3(Denoted by an integer 3): Fetches and returns the data being kept at the top of the stack but doesn't remove it, unlike the pop function. (top function)

Query-4(Denoted by an integer 4): Returns the current size of the stack. (size function)

Query-5(Denoted by an integer 5): Returns a boolean value denoting whether the stack is empty or not. (isEmpty function)
Example
Operations: 
1 5
1 10
2
3
4

Enqueue operation 1 5: We insert 5 at the back of the queue.
  Queue: [5]

Enqueue operation 1 10: We insert 10 at the back of the queue.
  Queue: [5, 10]

Dequeue operation 2: We remove the element from the front of the queue, which is 5, and print it.
  Output: 5
  Queue: [10]

Peek operation 3: We return the element present at the front of the queue, which is 10, without removing it.
  Output: 10
  Queue: [10]

IsEmpty operation 4: We check if the queue is empty.
  Output: False
  Queue: [10]
Problem approach

Step 1: I first clarified the requirement that stack operations must be implemented using only queue operations.

Step 2: I decided to use two queues to simplify the logic and clearly simulate stack behavior.

Step 3: For the push operation, I enqueued the new element into the empty queue and then moved all elements from the other queue into it.

Step 4: I swapped the queue references so that the front of the queue always represents the top of the stack.

Step 5: For the pop and top operations, I directly dequeued from or accessed the front of the active queue.

Step 6: I explained the time complexity trade-off, where the push operation is costly while pop remains efficient.

Try solving now

2. Database Basics

  • What is normalization, and why is it required? (Learn)
  • What is the difference between a primary key and a foreign key? (Learn)
Problem approach

Tip 1: Understand DBMS concepts using real database table examples instead of memorizing definitions.
Tip 2: Be clear about use cases and advantages, not just differences.
Tip 3: Practice explaining concepts in a structured way (definition → purpose → example).

3. Process Management

  • What is a process, and how is it different from a thread?
  • What is deadlock, and how can it be prevented? (Learn)
Problem approach

Tip 1: Focus on understanding OS concepts through process life-cycle and scheduling flow diagrams.
Tip 2: Relate theoretical concepts to real system behaviour, such as multitasking or CPU sharing.
Tip 3: Practice answering OS questions with a clear structure: definition, working, and impact.

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 the purpose of the return keyword?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
3 rounds | 3 problems
Interviewed by Nagarro Software
0 views
0 comments
0 upvotes
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by Nagarro Software
917 views
0 comments
0 upvotes
company logo
SDE - 1
2 rounds | 4 problems
Interviewed by Nagarro Software
1209 views
0 comments
0 upvotes
company logo
SDE - 1
2 rounds | 4 problems
Interviewed by Nagarro Software
748 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - 1
5 rounds | 12 problems
Interviewed by Amazon
114869 views
24 comments
0 upvotes
company logo
SDE - 1
4 rounds | 5 problems
Interviewed by Microsoft
58031 views
5 comments
0 upvotes
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by Amazon
35057 views
7 comments
0 upvotes