Intuit [Off campus offer] | SDE 1| Bangalore, India | May 2021
Anonymous User
22121

Status: New Grad from Tier 1 college
Position: SDE 1 at Intuit
Location: Bangalore, India
Date: 19th May, 2021

I recieved a mail from the recruiter that I have been shortlisted for online assessment for SDE 1 role at Intuit! I have no idea what's their shortlisting criteria, I guess I was lucky enough to get the test link! 😊

Online Assessment, HackerEarth (29th April)

Q1. Friends and Candies: N students are coming home after school. These students are assigned a number from 1 to N. There is a candy shop along the path to home. The ith student wants Ci candies. But the problem is that the shop only has C candies. A student can only take candy from that shop if the following two conditions are satisfied:

  1. The student must be able to take all the candies that he or she wants to take.
  2. All his or her friends must be able to take all the candies they want to take.

There are M pairs of friends among the students. What is the maximum number of students who can take all the candies they want?

Q2. Visited Nodes: You are given an undirected graph that contains N+1 nodes and M edges. These nodes are numbered from 0 to N. Initially, you start at node 0. Each node (except node 0) has a priority associated with it that is denoted by the array denoted as P. You have to follow these commands to visit each node in the path:

  1. You have to start at node O and move to the next unvisited node which is directly connected to node 0 and havng the highest priority.
  2. If the priority is the same for multiple nodes, then you have to select the nodes that have the minimum distance between them.
  3. After going to the next node, you have to again select a connected node that has the highest priority among the remaining unvisited nodes.
  4. If there are no adjacent unvisited node at a point, then you have to traverse back to the previous node from where you came to the present node for the first time.
  5. You cannot traverse the path once you reach the last unvisited node.

If the distance between the node X to node Y is d, then the time elapsed to reach from one node to another is d units. Your task is to find the time arrive at each node (except node 0) for the first time.

Q3. Array Reduction: You are given an array of N positive integers. You have to perform following operations on the elements of the array:

  1. In one successful operation, you can remove two positive numbers a and b from the array and insert their sum i.e. a+b into the position of either element a or b.
  2. To insert the sum a+b in the position of element a the condition 2 * a >= b should be satisfied. Similarly to insert the sum at a position of an element b, condition 2 * b >= a should be satisfied.
  3. If you insert the sum a+b at position of element a then element b will be assigned the value -1. Similarly if you position b then a will be assigned -1;
  4. At the end, only one position will remain in the array that will contain a positive number.

You have to calculate how many distinct combinations can be possible for the given array.

Q4. Cells in a Matrix: You are given a N x N matrix. Initially, each cell is empty. You are given K tasks. In each tasks, you are given a cell (i,j) where i=ith row and j=jth column of the matrix. You have to perform each task sequentially in the given order. Each task is described in cell (i,j). For each task, you have to place X in cell (i,j). After completing each task, print the number of empty cells in matrix.

Completed all the questions and passed all the cases.
The very next day, I recieved a mail from the recruiter saying that I am shortlisted for Technical Interview Round 1.

Virtual Technical Interview Round 1 (30 minutes):

This happened on 7th May 2021. The interview started off with each other's introductions. The interviewer was very kind and was impressed with my OA solutions. We discussed the solutions for few minutes and then jumped onto coding question. At first, it seemed like an elaborate question based on design, scalability and file processing. After a few discussions, it became clear that it was nothing more than counting the occurence of the string in the file. I had to cover edge cases like upper case and lower case. This question took like 10 mins (discussion + coding) so the interviewer asked if there's any way to optimise it. I remembered a few string matching algorithms like Rabin-Karp algorithm, KMP algorithm so I told him that and we had discussion on these algorithms.
Then I was asked HR questions like what triggers you, what makes you happy etc. Finally, he asked me if I had any questions from him and he gave a really detailed answer with enthusiasm.

The very next day, I received a mail that I've been shortlisted for Round 2!

Virtual Technical Interview Round 2 (60 minutes):

There were two interviewers this time, both of them in senior positions. The interview started off with each other's introductions. Asked about my projects and the development knowledge (in my case - angular + spring boot). Then they jumped off straight onto a coding question (LC Hard) - Reverse Nodes in K Group. Discussed it for few minutes and then coded the recursion + classic reversal of linked list approach. Had to dry run the cases given by the interviewer and explain each step. When he was satisfied, he asked if there's any way to optimize it. I explained the stack based approach and he agreed with it.
Then the second interviewer asked me some in depth questions on Abstract Classes, Pure Virtual Function, New and Delete operators, Constructors and Destructors. Gave situations and asked which OOPs concepts are used (medium level, combination of two and more concepts). They also gave very open ended questions and asked me to design a human body using OOPs concepts. Since they were really senior, so I thought they were testing my design capability. Overall, they both were very proactive and one of them even gave me feedback on how I can improve.

After 2 days, I got the offer! 🎉

My impression of Intuit? They are focused on overall personality of the candidate and want to cover every aspect, not just coding. Also, in both rounds the interviewers were really great, showed interest in my questions and answered them in as much detail as possible. The recruiters seemed really invested in the candidates and always replied quickly. This shows that their work culture is really #1!

Preparation:

I started with Leetcode in 2020 begining. I have been grinding it till August and have completed around 330 problems. The harsh truth about interviewing is that you really need to be thorough with the problem patterns and grind them, no other way to get a successful job. Some takeaways from my story when I look back are:

  • Things happen for good, you should just persist through time and good things will happen to you too.
  • Practice in a BFS fashion, broad topics first, top 100 interview questions first, then target the company/topic lists. Know your problem solving patterns.
  • Youtube is an excellent source. Thanks to some really good channels such as Back to Back SWE, Tushar Roy, Pepcoding, and a lot many more, helped me get clearer solutions to problems that seemed tough to solve.
  • If you're preparing for Intuit, make sure to be ready for CS fundamentals and project based questions.
  • Even easy LC questions seems tricky after solving 200+ questions too, so you're not alone.
  • Quality of questions matter, not quantity. After reaching the 250 mark, I repeated all the questions and solved them again. You discover new ways to solve them and learn more! The problem patterns seep into your brains that way.
  • Don't try to memorize the questions but the most common ones get memorized automatically. Templates such as Binary Search, BFS, DFS, LL traversals, Backtracking templates, etc should be really well revised! I have written these in my notebook so that I can read them whenever I want to!
  • There comes a time of burnout when you don't feel like progressing (I faced one). While applying and studying, you get a lot of rejects and no progress as such but do not ever forget your end goal! Work towards it, I know how hopeless one can feel during the journey.
  • Try to enjoy life. I did not to be honest. It looked like a routine to me, although it helped but do not just make Leetcode your life! I had my friends and family to remind me about this!
  • I still am in no way a good coder, but I like to think myself so much better than I was months ago!
  • Checkout Leetcode's Discuss channel often for more experiences and questions. You wouldn't get the same but it surely helps!

I know that was a long post but this is it, my full experience and journey into getting an offer from Intuit. I have recently given interviews at Google India, Amazon and Bloomberg London - will be posting about them soon! Interviewing is a lot about luck, trust me, but the only thing in your hand is practice and perseverance. I was lucky but prepared.

Good luck with your journey!

EDIT: Added my Amazon Interview Experience! Do check it out and share your feedback! 🎉

Comments (18)