CureFit had conducted interviews for summer internships(2021) on our campus in the month of August 2020. The entire process consisted of
- 1 online coding Round
- 2 Technical Rounds
- 1 Hiring Manager Round
Due to the pandemic situation, the entire process was virtual and taken on Google Meet.
Online Coding Round: This round consisted of 2 coding questions on HackerEarth for a duration of 60 minutes. Questions are as follows:
- Pacific Atlantic Water Flow
- Link: https://leetcode.com/problems/pacific-atlantic-water-flow/ (Exactly same)
- Hint: DFS on matrix
- I had not seen the question earlier but I could solve it in one go.
- The problem had a bit long problem description which I don’t remember. But overall it was just an implementation question. Using a couple of maps I was able to pass all test cases.
- TIP: Do not try to aim for an optimized algorithm in one go. Most of the time a brute force solution will be able to pass at least some if not all test cases fetching some partial marks and something is definitely better than nothing.
- In my case, the brute force algorithm was able to pass all test cases.
Around 18-20 students were shortlisted thereafter.
Technical Round 1: This round began with a brief introduction followed by a healthy discussion on a coding question that lasted for roughly around 45-50 minutes. The question for this round is given below.
- You are given some subarrays and you need to return anyone arrays using which we can generate all subarrays in the input.
- Eg: If input is [1,5,4], [1,6] and [5,10] then one possible output is [1,5,4,6,10], other possible output is [1,5,4,10,6].
- This question is similar to Alien Dictionary GFG.
- I approached it using topological sorting.
- Thereafter, the interviewer asked some questions on BFS, DFS, when is topological sorting applicable, what change will you make if generating such an array is not always possible, etc.
- Tip: Always ask clarification questions to the interviewer before starting to code. For this question, I asked whether we need to return anyone’s arrays or all the arrays. After that, since I was using topological sorting I asked whether the input is such that the array is always possible (since topological sorting works only for acyclic graphs) etc.
- I was asked to code on a Googledoc.
I was able to code the problem and also answer the follow-up questions.
Technical Round 2: We straightforwardly jumped to the coding question. The question for this round is given below.
- Given 2 arrays A, B output an array such that for every element of B put the sum of all elements in A which are divisible by B[i].
- I asked to code in VS Code with screen sharing turned on.
- I easily came up with a brute force code but of course, was asked to optimize.
- Thereafter, there was some minor change made to the questions and was again made to optimize.
I could optimize the code only after a few hints given by the interviewer. So overall it was not a very good round for me.
Hiring Manager Round: This round was taken by a senior developer. The round began with him giving his introduction. He had my resume in front and asked me to select any one project which I liked the most. I selected a project based on blockchain. Some questions on the project and blockchain in general followed. He even checked the source code on Github. If you have some basic knowledge of the workflow behind blockchain then you could easily answer those questions.
Some students were also asked some coding questions and some HR questions in this round.
That’s it !! The process ended.
Verdict: Selected!! (Total 3 selections)