Summary
I underwent an on-campus interview process for an SDE-1 role at Curefit in Bangalore in August 2022. The process included a coding round with two medium-to-hard questions, followed by three technical interview rounds, with the HR round being skipped. Although my specific outcome wasn't stated, the selection process involved a mix of hires and rejections from a pool of around 30 shortlisted candidates.
Full Experience
The interview process for the SDE-1 role at Curefit was quite rigorous. It started with a Coding Round conducted on Hackerearth, where I was given 1 hour 30 minutes to solve two medium-to-hard questions. The first question was Stone Game VIII. The second question was a problem about finding the minimum number of computers to connect for full internet coverage within a given range, for which I provided a detailed description and example, as I was unable to find a specific LeetCode link.
Around 30 people were shortlisted for the interview rounds, specifically those who solved both coding questions. We had 3 Technical rounds, each lasting 45 minutes, as our HR round was skipped for some reason.
In the interviews, some Common Questions asked to all of us included 'Tell me about Yourself,' 'Tell me about one of your projects,' 'What do you know about Curefit,' and a general overview of my resume. For some candidates, questions related to Operating Systems (OS) and Computer Networks (CN) were also asked, but I was fortunate not to receive them.
Round 1 involved a choice between problems such as counting indices for equal even/odd sums after removal, a topological sort problem similar to Course Schedule II, writing algorithms for any five sorting algorithms I knew, or finding the first common element in two BSTs.
Round 2 focused on dynamic programming and more challenging problems. I was asked one from a set that included House Robber Problem, finding the k-th smallest sum made by subset subarrays, or the Burst Balloons Problem.
Round 3 was mostly like an HR round, involving discussions about my resume and projects, and providing time for me to ask questions about the organization. However, a simple problem was also posed. The questions asked in this round included House Robber Problem again, a custom sorting problem for 'a/A' and 'b/B' characters, or the 'First Common Element in Two BSTs' problem. It was evident that they used a rotating question bank, as questions asked in Round 1 for one person might be asked in Round 2 for another.
A critical point to note is that interviewers were not satisfied until the most optimal approach (with respect to both time and space complexity) was explained. If I got stuck, they were willing to provide help upon asking. Also, I usually didn't need to code the entire solution; pseudo-code was accepted, as they primarily cared about my thought process and presentation, though a few interviewers preferred live coding on a platform.
Interview Questions (14)
Given an array of binary numbers "arr" where arr[i] represents the state of a computer (0 means it can't be connected to internet and 1 means it can be connected to internet). It's also given that a computer can connect to another computer (only if one of them is connected to internet) in the range [i-k+1, i+k-1] (inclusive). Output the minimum number of computers that need to be connected to the internet such that every computer will be connected to the internet. Print -1 in case not possible.
Example:
arr:- 1 0 0 1 1 1 0 0 1
k:- 3
Output:
3
Explanation:
connect computer at index 0, 3, 8 to the internet
A standard introductory question to get to know the candidate's background, experiences, and aspirations.
Candidates are asked to describe one of their projects in detail, often from their resume, focusing on their role, challenges, and outcomes.
Questions about the candidate's knowledge of Curefit and their motivation for joining the company.
A general discussion about the candidate's resume, typically an overview without delving too deeply into specific details, sometimes used to guide the conversation.
Given an array of integers, count how many indices exist such that if the element at that index is removed, the sum of elements at even indices in the remaining array equals the sum of elements at odd indices.
Example:
arr = [1, 1, 2, 1, 1]
Answer:
1 (remove element at index 2, then sum of even indices elements = sum of odd indices elements)
Write the algorithm or pseudo-code for any five sorting algorithms you are familiar with (e.g., Bubble Sort, Merge Sort, Quick Sort, Insertion Sort, Selection Sort).
Given two Binary Search Trees (BSTs), find and print the first common element encountered during a traversal (e.g., in-order traversal). Print -1 if no common element is found.
Given an array of integers, find the k-th smallest sum that can be formed by any of its subset subarrays.
Given an array of characters containing only 'a', 'A', 'b', 'B'. Sort this array such that all 'a's and 'A's appear at the beginning, followed by all 'b's and 'B's, while maintaining their relative order (if multiple 'a's/ 'A's or 'b's/ 'B's are present).
Example:
arr = ['a', 'A', 'b', 'a', 'A', 'B', 'b']
Output:
arr = ['a', 'A', 'a', 'A', 'b', 'B', 'b']
Preparation Tips
During the interviews, I learned that Curefit extensively uses Flutter. Therefore, I'd strongly recommend adding any Flutter-based projects or prior experience with Flutter to your resume if you're applying. It's also crucial to remember that interviewers prioritize optimal solutions (time and space complexity); be prepared to discuss them thoroughly. Don't hesitate to ask for help if you get stuck, as they are often willing to provide hints. While full code implementation might not always be required, presenting your thought process and pseudo-code effectively is key, though some interviewers may still prefer actual coding.