Dunzo | Software Developer | Bengaluru India Interview Experience
Summary
I successfully navigated a multi-round interview process for a Software Developer role at Dunzo in Bengaluru, India, covering coding, system design, and behavioral aspects. I felt confident about receiving an offer after the final HR discussion.
Full Experience
I interviewed for the Software Developer position at Dunzo in Bengaluru, India. The interview process was quite extensive, consisting of six distinct rounds.
My first challenge was a HackerRank test, which presented two coding problems. One was the classic 'Longest Palindromic Subsequence', and the other was a graph-related problem that required a DFS approach.
Round 2 was a technical interview focused on coding. I was asked to implement a multicache and delve into how to effectively manage synchronization issues within it.
The third round was another technical coding session where I faced three specific problems: 'Inversion count with merge sort', 'Finding the number of islands', and a problem about counting 'Number of subarrays with M odd numbers'.
Round 4 moved onto system design. The core task was to design the Facebook homepage, which involved discussing various architectural considerations and components.
Following that, I had a manager round (Round 5). This was more of a casual conversation about my previous work experiences and my motivations for wanting to join Dunzo.
Finally, I progressed to the HR round (Round 6). This discussion covered general HR questions, including my career aspirations and why I was interested in working at Dunzo. After completing all these rounds, I felt very positive and was confident that I would receive an offer.
Interview Questions (6)
Given a string s, find the length of the longest palindromic subsequence within it. A subsequence is a sequence that can be derived from another sequence by deleting some or no elements without changing the order of the remaining elements.
Implement a multicache system and explain your approach to handling concurrency and synchronization challenges within this caching mechanism. Discuss potential issues like cache coherence and how to ensure data integrity across multiple threads or processes accessing the cache.
Given an array of integers, write a function to find the total number of inversions in the array using the merge sort algorithm. An inversion is a pair of indices (i, j) such that i < j and arr[i] > arr[j].
You are given an m x n 2D binary grid which represents a map of '1's (land) and '0's (water). An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water. Determine the number of islands.
Given an array of integers nums and an integer k, return the number of 'good' subarrays. A 'good' subarray is one that contains exactly k odd numbers.
Design the system architecture for the Facebook homepage. Consider core features like the news feed, user profiles, notifications, friend suggestions, and key design considerations such as scalability, latency, data consistency, and reliability. Discuss the various components involved, their interactions, and how you would handle potential bottlenecks.