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

Senior Software Engineer

NielsenIQ
upvote
share-icon
3 rounds | 7 Coding problems

Interview preparation journey

expand-icon
Journey
Nielsen's recruitment process is highly efficient and swift, encompassing various stages such as skill evaluation, profile matching, and offer rollout. The entire process is meticulously streamlined to ensure a seamless experience.
Application story
After applying for a position at Nielsen through the Naukri portal via a third-party recruiter, I received a call from the HR department to schedule the first round of interviews. During our conversation, the HR representative provided an overview of the entire process, which includes two technical rounds, one managerial round, and a subsequent discussion with HR regarding salary negotiation. Following these stages, the final offer will be extended.
Why selected/rejected for the role?
Yes, I was selected and offered the role of Senior Software Engineer. After 2 weeks, I received the offer letter and was also asked if I was happy with the offered benefits and CTC.
Preparation
Duration: 1.5 Month
Topics: Data Structures and Algorithms (Pointers, Arrays, Strings, Linked Lists, Dynamic Programming), Node.js (Basic + Advanced), MongoDB, JavaScript, Input/Output Questions, Kafka.
Tip
Tip

Tip 1: Practice coding questions related to arrays and strings.
Tip 2: Explain the logic or execution before writing the code.
Tip 3: Ask the interviewer for tips and whether optimization is required.

Application process
Where: Naukri
Eligibility: Graduate Degree
Resume Tip
Resume tip

Tip 1: It is advisable to keep your resume concise and limit it to one page. Clearly mention your skills to ensure they are easily identifiable and comprehensible to the reader.

Tip 2: When describing your experience, highlight specific projects where you utilized your skills and emphasize the improvements you brought on board. Explain how you applied your skills to enhance the project, whether it involved optimizing processes, implementing new features, or resolving issues. This demonstrates your ability to contribute effectively and showcases your skill set in action.

Interview rounds

01
Round
Medium
Video Call
Duration60 Minutes
Interview date2 Aug 2024
Coding problem2

The interview was 1 hour long, and the panel was from the U.S. The main crux of this round was to check my command over the main skills.

1. Merge Two Sorted Arrays Without Extra Space

Given two sorted arrays, arr1[] and arr2[], in non-decreasing order, merge them in sorted order without using any extra space. Modify arr1 so that it contains the first n elements and modify arr2 so that it contains the last m elements. Input: n = 4, m = 5, arr1[] = [1, 3, 5, 7], arr2[] = [0, 2, 6, 8, 9]. Output: arr1[] = [0, 1, 2, 3], arr2[] = [5, 6, 7, 8, 9].

Problem approach

To merge two sorted arrays, `arr1[]` and `arr2[]`, in non-decreasing order without using any extra space, you can follow the steps below:

1. Initialize three variables: `i` as the index for `arr1[]`, `j` as the index for `arr2[]`, and `k` as the index for the merged array (starting from the last index of `arr1[]`).

2. Compare the elements at `arr1[i]` and `arr2[j]`. If `arr1[i]` is greater than `arr2[j]`, swap the elements so that `arr1[i]` contains the smaller value.

3. Move the indices `i` and `k` one step back (`i--` and `k--`) to compare the previous elements of `arr1[]` and `arr2[]`.

4. Repeat steps 2 and 3 until `i` becomes less than 0 or `j` becomes less than 0.

5. After completing the above steps, `arr1[]` will contain the merged sorted array. To modify `arr2[]`, simply copy the remaining elements from `arr2[]` to `arr2[m-1]` in reverse order.

2. Check If Linked List Is Palindrome

Easy
15m average time
85% success
0/40
Asked in companies
AmazonThought WorksQuikr

How can you check if a given linked list is a palindrome?
Input: head: 1 -> 2 -> 1 -> 1 -> 2 -> 1
Output: true
Explanation: The given linked list is 1 -> 2 -> 1 -> 1 -> 2 -> 1, which is a palindrome. Hence, the output is true.

Problem approach

1. Use two pointers, say **fast** and **slow**, to find the middle of the list. **Fast** will move two steps ahead, and **slow** will move one step ahead at a time.  
  1.1 If the list is odd, when **fast->next** is **NULL**, **slow** will point to the middle node.  
  1.2 If the list is even, when **fast->next->next** is **NULL**, **slow** will point to the middle node.  
2. Reverse the second half of the list starting from the middle.  
3. Check if the first half and the reversed second half are identical by comparing the node values.  
4. Restore the original list by reversing the second half again and attaching it back to the first half.  

Try solving now
02
Round
Medium
Video Call
Duration60 Minutes
Interview date6 Aug 2024
Coding problem2

This round is all based on coding question of Data Structure and algorithm.

1. Given an array ‘arr’ containing the weight of ‘N’ distinct items, and two knapsacks that can withstand ‘W1’ and ‘W2’ weights, the task is to find the sum of the largest subset of the array ‘arr’, that can be fit in the two knapsacks. It’s not allowed to break any items in two, i.e an item should be put in one of the bags as a whole.Input : arr[] = {8, 3, 2} W1 = 10, W2 = 3 Output : 13 First and third objects go in the first knapsack. The second object goes in the second knapsack. Thus, the total weight becomes 13.Input : arr[] = {8, 5, 3} W1 = 10, W2 = 3 Output : 11

Problem approach

A recursive solution is to try all the possible ways of filling the two knapsacks and choose the one that gives the maximum weight. To optimize this idea, we need to determine the states of dynamic programming (DP) upon which we will build our solution. After some observation, we can conclude that this can be represented in three states: (i, w1_r, w2_r). Here, ‘i’ represents the index of the element we are trying to store, w1_r represents the remaining space in the first knapsack, and w2_r represents the remaining space in the second knapsack. Thus, the problem can be solved using a 3-dimensional dynamic programming approach with a recurrence relation.

2. Merge Two Sorted Linked Lists

Moderate
15m average time
80% success
0/80
Asked in companies
CIS - Cyber InfrastructureAmazonApple

Given two sorted linked lists consisting of N and M nodes respectively. The task is to merge both of the lists (in place) and return the head of the merged list.

Input: a: 5->10->15, b: 2->3->20

Output: 2->3->5->10->15->20

Input: a: 1->1, b: 2->4

Output: 1->1->2->4

Problem approach

There are two ways to solve this:

Brute Force Way:
In this approach, we use an array of size (n + m), where n and m are the lengths of the respective linked lists. We then store all the elements in a vector, sort the vector, and create a new linked list; this will be our answer.

Using Recursive Merge:
The idea is to proceed with the node in the recursion whose value is lesser. When either of the nodes reaches the end, we append the rest of the linked list.

Follow the steps below to solve the problem:

  1. Check which value is less from both current nodes.
  2. The node with the lesser value makes a recursive call by moving ahead with that pointer and simultaneously appending that recursive call with the node.
  3. Also, add two base cases to check whether one of the linked lists reaches NULL; then append the rest of the linked list.
Try solving now
03
Round
Easy
HR Round
Duration30 Minutes
Interview date13 Aug 2024
Coding problem3

This round is a mix of managerial and HR questions, which mainly focus on the types of projects I have worked on, my tech stack, and some situation-based questions.

1. HR question

Where do you see yourself after 5 years?

Problem approach

I kept my answer in my tech profile format. I aspire to become a technical architect, so I have portrayed that I want to solve bigger problems from which the masses can benefit.

2.

Problem approach

Tip 1: This is a very personal question, so whatever your plans are, be straightforward.

3.

Problem approach

Tip 1: Share something that has created an impact on your project/app's performance or any other metric.

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
company logo
SDE - Intern
1 rounds | 3 problems
Interviewed by Amazon
3319 views
0 comments
0 upvotes
Software Developer
3 rounds | 3 problems
Interviewed by NielsenIQ
840 views
0 comments
0 upvotes
SDE - 1
1 rounds | 3 problems
Interviewed by NielsenIQ
38 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
Senior Software Engineer
1 rounds | 6 problems
Interviewed by Arcesium
3733 views
0 comments
0 upvotes
company logo
Senior Software Engineer
3 rounds | 3 problems
Interviewed by Ernst & Young (EY)
4983 views
0 comments
0 upvotes
company logo
Senior Software Engineer
3 rounds | 3 problems
Interviewed by HCL Technologies
3013 views
3 comments
0 upvotes