intuit logo

Intuit Interviews

19 experiences781 reads111 questions26% success rate
Intuit USA Staff Offer
intuit logo
Intuit
Staff Software EngineerMountain View, CAOffer
November 23, 2025167 reads

Summary

I interviewed for a Staff Software Engineer role at Intuit and received an offer. The process involved a phone screen followed by a comprehensive onsite, focusing on design, architecture, and AI-related challenges relevant to a staff-level position.

Full Experience

Phone Screen (75 mins)

My phone screen began with 1-2 behavioral questions. Following this, I was presented with a standard coding problem, which I'd classify as a LeetCode medium. While I don't recall the exact prompt, it felt straightforward with follow-ups on system scalability and potential issues. The latter part of this round, about 20-25 minutes, was dedicated to AI questions, given my background in building AI applications. We discussed AI-native vs. non-AI-native apps, what LLMs are, how I use AI in my day-to-day life, and some of the inherent dangers of AI.

Onsite

Craft Demo (75 mins)

This round started with a 10-minute presentation where I shared a few slides about my background, hobbies, and proudest project. For the main task, I was given a SpringBoot application repository to set up in advance. It had some endpoints for data fetching, and my goal was to implement new APIs based on provided user stories. The interviewers were keen on my problem-solving approach, testing methodologies, and class design rather than just running code or adding unit tests. I completed the basic implementation and tested it with Postman, though I couldn't write unit tests in time. They mentioned it was acceptable to use ChatGPT for syntax, emphasizing the importance of knowing *what* and *how* to test.

System Design (60 mins)

This interview was a deep dive into the scalability and high-level design of the service I worked on in the Craft Demo. We discussed schema design extensively, weighing the pros and cons of various proposals. There were numerous follow-up questions on expanding the original service with more features, how the database would need to change, query performance considerations, optimizing searches with specific databases, and how to add indexes.

AI Accessor Interview (30 mins)

This round built upon the service from the Craft Demo by adding an AI-related follow-up. The service already used an LLM API, and I was tasked with writing an API to support an AI use case for recommendations. The discussion covered topics like Retrieval Augmented Generation (RAG), LLM hallucination, and prompt engineering.

Hiring Manager (30 mins)

My final round was a standard hiring manager interview with the VP. This focused on behavioral questions, such as what excites me at work and what I consider my superpowers.

Two days later, the recruiter informed me that the team was extending an offer. Reflecting on the experience, I appreciated Intuit's focus on design and architecture for staff-level candidates, which felt more appropriate than an excessive focus on pure coding. Despite not fully completing the coding (e.2.e with unit tests) in both rounds, I received positive feedback, and the interviewers were a pleasure to talk to.

Interview Questions (5)

Q1
AI Concepts and Applications
Other

Discuss key AI concepts such as Large Language Models (LLMs), how they are used in daily life, and the potential dangers of AI. Also, explore the differences between AI-native and non-AI-native applications.

Q2
Develop SpringBoot APIs with User Stories
Data Structures & AlgorithmsMedium

Given a simple SpringBoot application with existing endpoints for data fetching, implement new APIs to support specific user stories. The focus is on problem-solving approach, testing methodology (unit tests, integration tests), and class design. You are allowed to use tools like ChatGPT for syntax but should articulate testing strategies.

Q3
Design a Scalable Service with Database Optimization
System DesignHard

Design a scalable system based on a previously discussed service. Focus on high-level architecture, schema design, and the pros and cons of different proposals. Discuss how to expand the service with new features, impact on the database, query performance optimization, use of specific databases for searches, and indexing strategies.

Q4
Implement AI Recommendation API using LLM
System DesignHard

Extend a service to incorporate an AI-related follow-up, specifically writing an API to support an AI use case for recommendations utilizing an LLM API. The discussion should include concepts like Retrieval Augmented Generation (RAG), LLM hallucination, and prompt engineering.

Q5
Behavioral Questions with Hiring Manager
Behavioral

Standard behavioral questions, including 'What excites you at work?' and 'What are your superpowers?'

Intuit Interview Experience for SWE-2 || Selected
intuit logo
Intuit
Software Development Engineer2.3 yearsOffer
October 30, 202581 reads

Summary

Selected for a Software Development Engineer role at Intuit through a referral. Interview process included a TPI phone round with DSA questions and system design discussions, followed by an onsite loop with four rounds covering coding, system design, AI concepts, and a hiring manager interview.

Full Experience

Profile: Software Development Engineer at a MAANG company with 2.3 years of experience. I applied through a referral from a LinkedIn connection, and the recruiter reached out within two days to schedule the initial interview.

Round 0 (TPI Phone Interview):

It was a 90 minutes round consisting of DSA and discussions on system designing. After a quick introduction recruiter asked 2 DSA questions:

  1. Plus One problem with some variations (https://leetcode.com/problems/plus-one/description/)
  2. Validate IP Address (https://leetcode.com/problems/validate-ip-address/).

After solving this there were some general questions on high level designs of a system and AI - how to ensure an API has no downtime, what models are used in trending AI apps, etc. It was a pretty fun, interesting discussion and the interviewer was very active and engaging.

The round went well, and within a few days, the recruiter scheduled my A4A onsite loop, which consisted of four rounds to be completed on the same day. I was also asked to prepare a PPT for my introduction and set up a given code repository beforehand.

Onsite – 4 Rounds (Same Day)

Round 1 – Craft Demonstration (90 mins)

Started with my introduction and projects from the PPT I had prepared. I shared and after some follow up question on experience they gave me the task.

Task was simple, just need to add another API in the given repo. I discussed my approach and panel grilled a little on the system design aspects. After I completed the basic code there was some discussion around the edge cases and how to handle errors/exceptions. I tested the new APIs on Postman and they seemed to be working as expected. Then there was some discussions on how to improve the efficiency of the functions etc. The entire code was in Python, using Flask for http routings and Docker for containerization of a localised LLM.

I hadn't coded in Python in some time(the only options for the repo are in Python & Java and I've been a C-based coder mostly) so was a little nervous in this round. I definitely believe I could have completed the coding faster had I been working in Python more recently but atleast I completed and managed to run it end-to-end which was good enough I guess.

Round 2 – Assessor (60 mins)

Two interviewers from the first round joined again.

First discussion was around database design for my code earlier. How to add some other entities in the database, defining their relationships to the existing entities. The dB being used in the code was relational so I framed my answers around SQL databases and what joins and normalisation I would use to create and connect new entities. Interviewer asked me to write code for some of the SQL commands I had suggested. Then he asked me how these tables and joins could be transformed into a graph database. I gave him a basic schema of the graph database and node structure I could think of and he seemed satisfied.

The remaining 20 minutes I was asked to solve a given problem on Glider. Question was similar to this- https://leetcode.com/problems/edit-distance/description/. I gave a brute force then optimised dp solution. Thankfully could choose any language to code in this round so back to trusty C++ it was :). Ran and tested the code, seemed to be working fine. The interviewers seemed happy with the solution.

Round 3 – AI Round (30 mins)

This round was more conceptual.

It started with unit testing—I was asked what tests I would write for the API from Round 1. I explained sample positive and negative cases, E2E testing approaches, and monitoring metrics used in production.

The discussion then moved to AI concepts such as- what is an RAG, what are system prompts, what does temperature mean in LLMs?

Round 4 – Hiring Manager (30 mins)

This round for me was a little hectic since the HM seemed to be quite busy that day. This was rescheduled almost 3 times before she could finally join. She asked me about my previous rounds, previous company and the project I had mentioned in my introductory PPT. After some follow-ups on these topics it was generalised HM questions- how do I manage work pressure, why looking for switch etc.

The conversation was short and to the point, and it was hard to read the HM’s reaction.

The recruiter reached out a few days later and confirmed that the overall feedback was positive.

🟢 Verdict: Selected

Interview Questions (3)

Q1
Plus One
Data Structures & Algorithms

Given a number represented as an array of digits, increment the integer by one.

Q2
Validate IP Address
Data Structures & Algorithms

Validate if a given string is a valid IP address (IPv4 or IPv6).

Q3
Edit Distance
Data Structures & Algorithms

Given two words word1 and word2, return the minimum number of operations required to convert word1 into word2. The allowed operations are: inserting a character, deleting a character, or replacing a character.

Intuit || SWE-2 || Bangalore || Accepted
intuit logo
Intuit
swe-2bangalore1.9 yearsOffer
August 14, 202549 reads

Summary

I successfully interviewed for a Software Engineer 2 role at Intuit, receiving an offer after a comprehensive process that included DSA, system design, a take-home Spring Boot project, practical coding, AI/ML concepts, and managerial discussions.

Full Experience

My Intuit SWE-2 Interview Experience (Offer Received 🎉)

I recently interviewed for a Software Engineer 2 role at Intuit and wanted to share my full journey so it can help others preparing for similar roles. I have 1.9 years of experience.

📍 Process Overview

The entire process included a phone screen, a take-home project, and then four onsite rounds conducted on the same day.

Round 0 – Phone Screening (DSA + HLD)

This round focused on Data Structures & Algorithms and High-Level Design. For DSA, I was given three linked list problems:

  1. Reverse a Linked List (expected both iterative and recursive solutions).
  2. Find the Middle of a Linked List.
  3. Reverse nodes in k-sized groups.

All these questions were tested thoroughly with edge cases. For HLD, we discussed concepts like the CAP Theorem and ACID properties. We also delved into my previous project work and the intricacies of transactions and their mechanisms. I received positive feedback and cleared this round.

Round 1 – Take-Home Spring Boot Project

Before the onsite rounds, I was provided with a Spring Boot project and had approximately one week to set it up locally. The expectation was that I would have it running for the subsequent rounds.

Onsite (4 Rounds on the same day itself)

🛠 Round 1 – Spring Boot Development (90 mins, 4 interviewers)

This was a practical development round where I was tasked with developing two new APIs within the provided Spring Boot project. We also had extensive discussions on various topics:

  • Pagination: how, why, and when to use it.
  • Designing the Data Layer and Service Layer.
  • Implementing Global Exception Handling.
  • Security and Rate Limiting.
  • I had to explain my code structure and where each piece of functionality would fit within the project. I developed two APIs end-to-end and the interviewers seemed satisfied.

💻 Round 2 – DSA + HLD (2 interviewers + 60 mins)

This round combined DSA with HLD and debugging. For DSA, I was asked to reverse words in a string in-place using Java, without extra space, which was a bit of a twist since I usually code in C++. I also had to perform time complexity analysis for given loops, making certain assumptions. On the HLD/Debugging front, I was asked to set up a given LLM endpoint locally using a properties file. We discussed pagination, specifically the maximum possible page numbers and what would happen with absurdly large values (I missed part of this discussion). My approach to debugging in a Java client was also explored, and I was asked how I would write test cases for different APIs, including unit and integration tests, though I didn't code them.

🤖 Round 3 – AI/ML Concepts (Scheduled 30 mins → went 45 mins)

This round focused heavily on Artificial Intelligence and Machine Learning concepts. Questions included:

  • What is Machine Learning?
  • How do you know if a model is “trained enough”?
  • Explanation of K-Means Clustering.
  • How images are converted to vectors.
  • What is a Vector Database?
  • How vector similarity is calculated.
  • Basics of Reinforcement Learning.
  • Retrieval Augmented Generation (RAG).
  • Agentic AI / AI Agents / Generative AI.
  • How Neural Networks work.
  • Discussion on AI usage in my previous company.

🧑‍💼 Round 4 – Managerial (30 mins)

The final round was managerial, focusing on my motivations and career path. I was asked:

  • Why Intuit?
  • Why I believed I was a good fit for this particular role.
  • Where I saw myself in 5 years.
  • My expectations regarding team roles and alignment.

Interview Questions (6)

Q1
Reverse a Linked List
Data Structures & AlgorithmsEasy

Reverse a singly linked list. Provide both iterative and recursive solutions and discuss edge cases.

Q2
Find the Middle of a Linked List
Data Structures & AlgorithmsEasy

Find the middle node of a singly linked list. If the list has an even number of nodes, return the second middle node. Discuss edge cases.

Q3
Reverse Linked List in k-Groups
Data Structures & AlgorithmsHard

Given a linked list, reverse the nodes of the list k at a time and return its modified list. Discuss edge cases.

Q4
Reverse Words in a String In-place
Data Structures & AlgorithmsMedium

Given an input string (as a character array), reverse the order of the words in-place. Your solution must use O(1) extra space. Example: 'the sky is blue' becomes 'blue is sky the'. Language specified as Java.

Q5
AI/ML Concepts Discussion
Other

Discussion on various AI/ML fundamentals including: What is Machine Learning? How to determine if a model is 'trained enough'? K-Means Clustering. The process of converting images to vectors. Understanding Vector Databases and how vector similarity is calculated. Basics of Reinforcement Learning. Retrieval Augmented Generation (RAG). Agentic AI, AI Agents, and Generative AI. The working principles of Neural Networks. And how AI is utilized within my previous company.

Q6
Behavioral and Managerial Questions
Behavioral

Questions included: Why are you interested in Intuit? Why do you believe you are a good fit for this specific role? Where do you envision yourself in the next five years? Discussion around team role expectations and alignment with my aspirations.

Preparation Tips

To prepare for such a role, I found it crucial to know my fundamentals thoroughly, encompassing both Data Structures & Algorithms and High-Level Design. It's beneficial to be ready to code in multiple languages, even if I'm stronger in one. For Spring Boot development, a deep understanding of pagination, exception handling, security, and the separation of service and data layers is vital. If given a take-home project, I learned to go beyond just making it run; preparing to extend and modify it extensively is key. Additionally, brushing up on AI basics, even if the role isn't purely AI-focused, proved valuable, as awareness of concepts like RAG and Vector DBs can significantly impress interviewers.

Intuit Interview Experience
intuit logo
Intuit
August 9, 20255 reads

Summary

I describe my two-round interview experience at Intuit, where I faced challenging DSA problems, in-depth OOPS and DBMS questions, and a system design problem. Despite some initial struggles, especially with the first round's DSA and a basic tree traversal problem in the second, I felt the second round went very well.

Full Experience

1. Online Assessment

4 Questions on gilder.ai platform. All the questions were doable, 1 question had a bug in driver code (I guess it was done intentionally).

I solved 2 full and 2 partial (a total of 3 test cases did not pass in the remaining 2 questions)


2. Interview Round 1

Phase 1: (Projects)

It was scheduled for 45 minutes, but lasted only for 30 minutes. At the beginning I was asked to give a pseudo code on my project. I used OOPS heavily in that one, I just drew the UI on a whiteboard for him, explained how the game works and then showed him how I used concepts like Inheritance, Composition etc.. in my project. He seemed very much satisfied with my project and moved on to OOPS

Phase 2: (OOPS)

In OOPS he was asking me some classical theory questions. One such question was:


class A{
protected:
int a;
}

class B: public A{
A* obj = new A();
// can I do obj->a? why or why not?
}

He also asked me how to prevent a class from creating new objects, I suggested him to make the constructor private. Then he gave a follow up on what is the default access specifier in C++. (Another Classic question) He also asked will the properties of abstraction, inheritance, polymorphism be violated if the constructor is private? (I did not understand this question and told him the question was not clear)

Then he moved on to namespaces in C++. Asked about how to do inheritance in C++ when both the classes are in different namespace.

Phase 3: (DSA)

I was given exact 329. Longest increasing path in a matrix problem

The question description was very much modified to make the candidates confusing. I did not understand the question and asked him several clarifications (at a point I was so much scared he will kick me out in the middle of the interview for asking so many clarifications).

Finally, I told him that the first approach I get is of dynamic programming and something similar to level order BFS, and I proceeded with BFS.


The algo was like:

1. push all the coordinates of min element in the queue
2. Add the next element only if it greater and then proceed.
3. Then from the unvisited elements start the level order BFS again by pushing the min elements into the queue.

The answer will be the max value we get from all level order traversals.

He asked me T.C of BFS approach, I told O(m*n). I guess there was some flaw in my approach, my friends told the T.C of BFS will O((m * n)^2), and the correct way was to do is using toposort. The interviewer asked if it can be done using O(n log m). I asked if the rows/ columns are sorted. If so we can try something with binary search. He said they can be in any random order. Then I asked him for hints. He just asked me to answer yes or no. I said no.

I lost all hopes for getting called for the next round after this DSA Hard question.

Finally he asked "Have you taken any AI ML course?". Before he could finish the question I shouted NO, (LOL). He still went on and asked me

Have you used ChatGPT ?

I said yes, politely. Then he asked me what is the difference between ChatGPT reasoning and GitHub Copilot. I became speechless. Then I blabbered something, he said it was fine and this question was not a part of the interview.

Finally during the end of the interview I apologized for asking too many clarifications on the DSA question. To my surprise, he told that he intentionally made the question in a confusing way to test if the candidate asks for clarifications or just assume stuff.


3. Interview Round 2

I was lucky to have some good set of interviewers in this round. They were straight to the point and all their questions were clear.

Phase 1: (Projects)

In this round, they again asked me about the same project. I was instructed to draw the schema for this project. I explained them 3-4 main tables and their relations. Then they asked why I designed it like this and what will happen if I design it in some XYZ way. I told all the advantages and drawbacks of my design and their proposal and proved them that my design is better than their proposal. Then they asked me how my schema was normalized.

Phase 2: (DBMS)

  1. What is normalization? Why do we do normalization
  2. Primary Key, Composite key etc..
  3. 4 different normal forms
  4. Foreign key, and grill on cascade properties
  5. A sql query problem involving sub queries

Phase 3: (OOPS)

  1. grill on static variables and static methods. (Mostly easy only)
  2. What is 'this' inside a class? why do we use this->a and not this.a ?
  3. Polymorphism etc..

OOPS was relatively easy, given that you have already studied it properly

Phase 4: (DSA)

Construct a binary tree using preorder and inorder. I messed up in this question. I got confused with preorder and inorder as I studied it a long back. I told them the first element in inorder will be the root. Then they told I was wrong.. I asked for some time.

I wrote the code for inorder, preorder and did a dry run on a binary tree, explaining all that stuff to them and then I solved the question. I just told them the logic to solve the question, they seemed satisfied.

Phase 5: (LLD)

I haven't studied LLD specifically for interviews. They gave me a question of a vehicle rental system. Seems like it is a classic problem on LLD. I thought they just want to test my OOPS skill using that problem. I realized I was doing LLD only in the middle of the question (;;).

I didn't draw any UML diagram as I was not aware of all those. I just wrote the class and almost working C++ code with the knowledge I had on OOPS concepts like inheritance and polymorphism etc.. and my experience building projects. They gave me some hints on which functions should be present at which place. I just aggreed to whatever they said and made the modifications. They seemed satisfied.


To conclude, the second interview went very well compared to my first interview. However I was pretty worried about messing up with the inorder and preorder as it was quite basic.

4. Final Note

I can understand lot of you are doing hard work, please make sure to not stress out too much during the process. Have faith and trust the process. In my experience getting a job/intern requires much more luck than your hard work.

image.png

Consistency is more important. Make a promise to yourself that you will solve at least one question per day.

I would like to thank the leetcode community for all the support during my preparation and I wish you all GOOD LUCK. Never stop working.

Thank you

Interview Questions (7)

Q1
OOPS Protected Member Access and Constructor Theory
Other

Given the classes:

class A{
protected:
int a;
}

class B: public A{
A* obj = new A();
// can I do obj->a? why or why not?
}

Also asked: how to prevent a class from creating new objects (I suggested making the constructor private); what is the default access specifier in C++; will the properties of abstraction, inheritance, polymorphism be violated if the constructor is private?; and how to do inheritance in C++ when both classes are in different namespaces.

Q2
Longest Increasing Path in a Matrix
Data Structures & AlgorithmsHard

I was given the problem similar to 329. Longest increasing path in a matrix problem. The question description was very much modified to make it confusing, requiring several clarifications.

Q3
ChatGPT vs GitHub Copilot
Other

What is the difference between ChatGPT reasoning and GitHub Copilot?

Q4
DBMS Concepts and SQL Query
Other
  1. What is normalization? Why do we do normalization?
  2. Primary Key, Composite key, etc.
  3. The 4 different normal forms.
  4. Foreign key, and a deep dive into cascade properties.
  5. A SQL query problem involving subqueries.
Q5
OOPS Static Members, 'this' Pointer, and Polymorphism
OtherEasy
  1. Questions on static variables and static methods.
  2. What is 'this' inside a class? Why do we use this->a and not this.a?
  3. Polymorphism, etc.
Q6
Construct Binary Tree from Preorder and Inorder Traversal
Data Structures & Algorithms

Construct a binary tree using its preorder and inorder traversal arrays.

Q7
Vehicle Rental System Design (LLD)
System Design

Design a vehicle rental system. This seemed like a classic Low-Level Design (LLD) problem.

Preparation Tips

I hadn't specifically studied LLD for interviews. I got confused with preorder and inorder as I had studied it a long time ago. I believe consistency is key, making a promise to myself to solve at least one question per day. I also thank the LeetCode community for their support during my preparation.

[Offer] [Declined] - Intuit interview Experience - SDE 2
intuit logo
Intuit
SDE 22 yearsDeclined
July 22, 202543 reads

Summary

I interviewed for an SDE 2 position at Intuit and successfully navigated through eliminator and craft rounds, ultimately receiving an offer. However, I decided to decline the offer as I had a better alternative and was seeking a remote role.

Full Experience

I was referred to Intuit by a friend for an SDE 2 role. After about three weeks, I received a call from the recruiter who gave me an overview of the compensation, expectations, and what to anticipate in the eliminator round.

Eliminator Round

This round began with introductions, and then the interviewer presented a coding question. I was asked to find the total number of ways a robot could travel from the top-left to the bottom-right cell in a grid containing only 0s and 1s, moving only right and down, through cells marked with 1. I discussed my approach, including time and space complexity, and then coded the solution in Java, including the main class. I had some initial typos but fixed them, and my code worked correctly for all test cases provided.

Next, the discussion shifted to GenAI. The interviewer asked about my experience using GenAI, the tools I utilize, and how I apply it in my current role. Following this, I was given a situation-based question: my junior developed an ML application showing 95% accuracy on test data but only 10% in production, and I needed to guide him. I clarified my understanding of the problem and proposed 4-5 ideas and considerations for improvement, which impressed the interviewer.

Another challenge involved GenAI, where I had to write a prompt for a tool like ChatGPT to ensure it returns only correct results in a specific JSON object format, similar to an API response body. I managed to do this effectively, considering edge cases.

With 10 minutes remaining, I received another DSA question, described as similar to the Edit Distance problem. I solved it using both dynamic programming and recursion, satisfying the interviewer.

After two days, I heard back from the recruiter that I had cleared the eliminator round and would proceed to the craft rounds, which consisted of four back-to-back interviews.

Craft Rounds

My first attempt at the craft rounds was unfortunately marred by technical issues—network buffering, Zoom interface issues, and frequent power cuts. The hiring manager seemed annoyed, and the interview ended with a reschedule for the following week, with a strong suggestion to ensure my setup was stable.

A week later, the interviews were rescheduled and I was ready.

Round 1: Craft and Demo (90 mins)

I started with my prepared slide presentation covering my introduction, projects, and achievements. After some follow-up questions on my experience, I was given a task: to add a new API, implement the service layer logic, and write corresponding test code for a Java project using an H2 database and a simple REST API.

I began by discussing the requirements in detail. The panel then grilled me on system design aspects, specifically concerning high load scenarios and retrieving large datasets. I discussed approaches like pagination. After about 15 minutes of grilling, I was allowed to code. I quickly implemented the controller and service layer, demonstrating the output on Postman and writing unit tests for both layers. The panel appeared satisfied, and this round concluded positively.

Round 2: Problem Solving (60 mins)

Two members from the previous panel joined this round. They inquired about my experience and my feedback from the last interview. Then, I was given a DSA question to check if a string containing brackets `()`, `{}`, `[]` was balanced. I initially proposed an incorrect approach but quickly corrected myself with a stack-based solution. The lead engineer seemed confused and initially insisted it would fail. I politely wrote pseudocode, explained my logic thoroughly, and challenged him to provide an input where it would fail. Once he saw the correct output, he was satisfied.

Following this, we delved into system design again, focusing on optimizing for heavy loads. We discussed horizontal and vertical scaling, load balancers, rate limiters, exponential backoff, and the thundering herd problem.

Finally, another DSA question was posed: given a list of key-value pairs, find one pair whose sum of values equals a target. I proposed a brute-force solution, a binary search approach (optimizing space), and a hashmap approach (optimizing time at the cost of space). He was satisfied, and the round ended positively.

Round 3: Team Member Round (30 mins)

A member from Round 1 joined this discussion. It was a light conversation about the team, my experience, and projects. There wasn't any intense grilling, just some general discussion on GenAI and AI, after which the call concluded.

Round 4: HM Round (30 mins)

This was a standard hiring manager round with typical questions I had prepared for. It also ended on a positive note. The HM seemed to initially think I had four years of experience and was quite surprised when he realized I only had two years, which I took as a positive sign that the interviews had gone well.

Outcome

One week later, I received a call from the recruiter informing me that I had qualified and received an offer. However, since I already had a better offer and was specifically looking for a remote position, I gently declined. The recruiter suggested we stay in touch for future opportunities if I ever considered an in-person role.

Interview Questions (8)

Q1
Robot Paths in Binary Grid (Down/Right only)
Data Structures & AlgorithmsMedium

Given a grid, containing 0s and 1s only. There is a robot who will travel from top left cell to bottom right cell via cells which has 1 only. It can move right and down only. Return total number of ways.

Q2
Troubleshooting ML Model Production Accuracy
Other

Consider your junior has created a ML application which is inferring something. He showed that the accuracy is 95% on test data set, but in production its accuracy was just 10%. Guide him.

Q3
Prompt Engineering for JSON Output
Other

Given an input, write a prompt for a GenAI model (e.g., ChatGPT) such that it returns a correct JSON object as a response body, considering edge cases.

Q4
Edit Distance (DP)
Data Structures & AlgorithmsHard

A DSA question similar to the classic Edit Distance problem. The solution involved using dynamic programming and recursion.

Q5
Implement New API with Service Layer & Tests
System Design

Implement a new API, including the service layer logic and corresponding test code. The discussion included system design aspects related to handling high load and huge data retrieval (e.g., pagination). The project was Java-based, using an H2 database and a simple REST API.

Q6
Balanced Parentheses
Data Structures & AlgorithmsEasy

Check if a given string, which contains brackets `()`, `{}`, and `[]`, is balanced or not.

Q7
Scalability and Optimization for Heavy Loads
System Design

Discussion on system design challenges with heavy loads and optimization strategies. Covered concepts such as horizontal scaling, vertical scaling, load balancers, rate limiters, exponential backoff, and the thundering herd problem.

Q8
Two Sum (Key-Value Pairs)
Data Structures & AlgorithmsEasy

Given a list of key-value pairs, find one pair whose sum of values is equal to a target. Any valid pair could be returned.

Intuit | Software Engineer 1 | FTE - Off Campus | Selected
intuit logo
Intuit
Software Engineer 1
July 8, 202510 reads

Summary

I interviewed for a Software Engineer 1 Full-Time position at Intuit through off-campus hiring, which included an online assessment and two technical rounds, leading to my selection.

Full Experience

Online Assessment

5 Coding questions:

  • Two really easy problems (~ CF <=1200)
  • One problem related to maths and coordinate geometry (~ CF 1400)
  • One medium binary search on answer problem (~ CF 1600)
  • One similar to this leetcode problem (~ CF 1600)

Round 1 - Technical (Two Senior SWEs) [5 days after OA]

  • Talking about prior work experience (internships)
  • Talking about projects (focused on one of my project using OOPS heavily)
  • Other questions on OOPS - Runtime polymorphism, analysing given code and predicting the output, why virtual keyword, scope resolution, types of polymorphism
  • Questions about OS - Virtual Memory, Thrashing etc.
  • Questions from Resume about MongoDB and MySQL

Round 2 - Technical (SWE 2 + Senior SWE) [2 days after Round 1]

  • Talking about prior work experience.
  • Deep discussion about OS and DBMS - Mutex, Semaphores, Transactions, .
  • Deep discussion on projects and chosen DB for the project.
  • Two DSA problems

Verdict - Selected

Date of offer - First week of August, 2024

Interview Questions (4)

Q1
Maximum Difference Score in a Grid (LeetCode)
Data Structures & Algorithms

A coding problem similar to the LeetCode problem: Maximum Difference Score in a Grid.

Q2
Object-Oriented Programming Concepts
Other

Questions covered various OOPS concepts including Runtime polymorphism, analyzing given code and predicting the output, the purpose of the virtual keyword, scope resolution, and different types of polymorphism.

Q3
Operating System Fundamentals
Other

Questions focused on Operating System concepts such as Virtual Memory and Thrashing.

Q4
Advanced OS & DBMS Concepts
Other

A deep discussion on Operating System and Database Management System concepts, specifically covering Mutex, Semaphores, and Transactions.

Intuit | Senior Frontend Engineer
intuit logo
Intuit
Senior Frontend Engineer
May 22, 20253 reads

Summary

I had a phone interview for a Senior Frontend Engineer role at Intuit. I successfully solved the coding and OOP problems, but unexpected questions on AI/ML impacted the outcome, leading to a likely no-hire.

Full Experience

Background - Currently working as frontend engineer in India's leading quick-commerce company.

TPI Phone Interview [1.5 hours scheduled, lasted ~45 minutes]

Introduction (5 mins)
Brief self-introduction and discussion around my current projects and responsibilities.

JavaScript Question
Problem:
Write two functions:
A() returns 2 after 2 seconds
B() returns 3 after 3 seconds

Return their sum in two ways:
Parallel execution → Total time: 3 seconds
Sequential execution → Total time: 5 seconds

Solution - used promise.all and normal async await handling, solved in 10 minutes

OOP Question - Classes
Problem:
Create Student and Teacher classes with some shared and some unique properties.

Required functionalities:
getTotalStrength()
getStudentInfo()
getTeacherSubjects()
And a few more operations.

Solution - created a base class SchoolMember, from that extends student and teacher and so on, solved in 15 minutes

Machine coding
Next question was pretty easy, normal todo list to add, delete, mark as complete, search , solved in 10 minutes

Then he ask me about GenAI, RAG, LLM, Finetuning, and more questions related to AI and ML
Wasn’t expecting this as the job description didn’t mention anything AI/ML-related, and I primarily work as a frontend engineer
Answered what I could, but got stuck in some areas due to limited exposure


The interview went well overall — I solved all the coding and design problems efficiently. However, the unexpected AI/ML questions toward the end likely impacted the outcome. It's been over 3 days with no update, so assuming it's a no-hire.

Interview Questions (4)

Q1
Parallel vs. Sequential Promise Execution
Data Structures & Algorithms

Write two functions:
A() returns 2 after 2 seconds
B() returns 3 after 3 seconds

Return their sum in two ways:
Parallel execution → Total time: 3 seconds
Sequential execution → Total time: 5 seconds

Q2
School Member OOP Design
Data Structures & Algorithms

Create Student and Teacher classes with some shared and some unique properties.

Required functionalities:
getTotalStrength()
getStudentInfo()
getTeacherSubjects()
And a few more operations.

Q3
Todo List Machine Coding
Data Structures & Algorithms

Implement a todo list application with functionalities to add, delete, mark as complete, and search for tasks.

Q4
General AI/ML Concepts
Other

Questions about GenAI, RAG, LLM, Finetuning, and other AI/ML-related topics.

Intuit | Senior Software Engineer
intuit logo
Intuit
Senior Software Engineer6.7 years
May 2, 20254 reads

Summary

I interviewed for a Senior Software Engineer role at Intuit, undergoing a multi-round process including system design, a practical coding craft demo, technical design, and an AI assessment. Despite my efforts, I was ultimately rejected, receiving feedback that my code articulation could have been better and noting my lack of experience in AI/ML.

Full Experience

B.Tech - Tier 3 Years of Experience: 6.7 years Current Role: Software Engineer at a Ecomm

Phone Screen Rounds : Graph based question using bfs (I don't remeber exact question since it was taken on March last week) Many system design related questions on how would you scale a db, how would you scale your system, cap theorem, etc

After few weeks got a call for A4A Virtual Interview

1st Round: (craft round) This was a 90-minute craft demo round that began with my introduction, the project which I am working on and later started on the design discussion on the use case which I was provided. Below is the use case which I picked.

Our service receives requests from a client that includes the query param isAdmin=true or isAdmin=false

  • As an Admin user, I should see the first and last names of all players
  • As a regular user, I should only see the first names of all players.

Scope:

  • Plan and implement a new feature in your service
  • Add test coverage

I was asked about how the db schema would look like, how can we scale the system, how can we give role based access to users, how will you add guest role in our service and how will you give attribute level access to guests.

I coded the use case and gave proper production ready code for the use case also wrote the test case.

2nd Round: (Technical Interview)

Design Instagram (HLD & DB schema)

3rd Round: (AI Assessment) Gave me a user story and asked me how would you implement it. It was something related to calling LLM api and generate player nickname based on a given country Also asked me use cases like where do you think you can use AI in ecommerce. Discussions on AI/ML.

4th Round: (Technical Manager Interview) Asked me questions based on my current project, roles and responsibility.

Verdict - Rejected Feedback - Code articulation could have been bit better (Not sure what this meant) No experience in AI/ML

If anyone have any queries then feel free to comment.

Interview Questions (3)

Q1
Implement Role-Based Access for Player Data
Data Structures & Algorithms

Our service receives requests from a client that includes the query param isAdmin=true or isAdmin=false. As an Admin user, I should see the first and last names of all players. As a regular user, I should only see the first names of all players. Plan and implement this new feature in your service, including test coverage. Discuss database schema, system scalability, role-based access for existing roles (admin/regular), how to add a guest role, and how to provide attribute-level access to guests.

Q2
Design Instagram (HLD & DB Schema)
System DesignHard

Design Instagram, focusing on High-Level Design (HLD) and Database Schema.

Q3
Implement Player Nickname Generation using LLM API
Other

Given a user story, implement a solution involving calling an LLM API to generate a player nickname based on a given country.

Intuit | SDE 2 | 2 years experience
intuit logo
Intuit
SDE 22 years
April 5, 20252 reads

Summary

I interviewed for an SDE 2 role at Intuit. The interview included a craft coding round with a unique problem involving musical instrument frequencies, but I was ultimately rejected.

Full Experience

Round 1: Craft Coding Round

Musical Instrument:
Context: 
Musical Instrument works on frequencies. 
A good Musical play is a one in which each note always emits frequencies which are never the
same. For simplicity we will assume frequencies to be the counts. 
For eg: 
{sa, re sa, ga,ma, ma, pa, ma}
Sa is repeated 2 times
Re -&gt; 1 times
Ga -&gt; 1 times
Ma -&gt; 3 times. 
The above example is not a Good play, because the frequencies emitted are 2,1,1,3 (1 is repeated
two times). To make it a good play, we have to the frequencies unique. 
 
How  to  make it as a good play ?
For example: Remove 3 “Ma” and 1 “Re” (or “Ga”) . This becomes a good Musical play.But,  Number
of removals is 2.
OR
if I remove 1 “Ga” . Then each is repeated uniquely which aren&#39;t the same.  Number of removals  is 1.
Minimum  is min (2,1) = 1
 
Problem Stmnt
So given an array , you have to return the minimum number of removals needed to have unique
frequencies. 
For example
S = [aaabbbcc] 
1) You can delete 2 &#39;b&#39;s resulting in the good string &quot;aaabcc&quot;.  Total: 2 
2) Another way is to delete 1 &#39;b&#39; and 1 &#39;c&#39; resulting in the good string &quot;aaabbc&quot;. Total: 2
Output: min (2,2) ~ 2
S= [abcabc]
You can delete 2 of either a, b , c and decrement the other by 1 (remove 2-a and 1-b) minimum
removals is min (2+1) =  3
Either remove 2a OR 2b OR 2c and decrement the rest by 1. So total is 3.
S = [&quot;bbcebab&quot;]
Output: 2
1 &lt;= s &lt; 10^5
S contains LowerCase letters only.

Verdict: Rejected

Interview Questions (1)

Q1
Minimum Removals for Unique Frequencies (Musical Instrument Problem)
Data Structures & Algorithms

Musical Instrument: Context: Musical Instrument works on frequencies. A good Musical play is a one in which each note always emits frequencies which are never the same. For simplicity we will assume frequencies to be the counts. For eg: {sa, re sa, ga,ma, ma, pa, ma} Sa is repeated 2 times Re -> 1 times Ga -> 1 times Ma -> 3 times. The above example is not a Good play, because the frequencies emitted are 2,1,1,3 (1 is repeated two times). To make it a good play, we have to the frequencies unique.

How to make it as a good play ? For example: Remove 3 “Ma” and 1 “Re” (or “Ga”) . This becomes a good Musical play.But, Number of removals is 2. OR if I remove 1 “Ga” . Then each is repeated uniquely which aren't the same. Number of removals is 1. Minimum is min (2,1) = 1

Problem Stmnt So given an array , you have to return the minimum number of removals needed to have unique frequencies. For example S = [aaabbbcc]

  1. You can delete 2 'b's resulting in the good string "aaabcc". Total: 2
  2. Another way is to delete 1 'b' and 1 'c' resulting in the good string "aaabbc". Total: 2 Output: min (2,2) ~ 2 S= [abcabc] You can delete 2 of either a, b , c and decrement the other by 1 (remove 2-a and 1-b) minimum removals is min (2+1) = 3 Either remove 2a OR 2b OR 2c and decrement the rest by 1. So total is 3. S = ["bbcebab"] Output: 2 1 <= s < 10^5 S contains LowerCase letters only.
Intuit | SE2 | Interview Experience | Accepted
intuit logo
Intuit
SE2
March 31, 20253 reads

Summary

I successfully interviewed for a Software Engineer 2 position at Intuit, passing through technical screening, a craft demo, assessor's round, team fitment, and hiring manager rounds, ultimately receiving and accepting the offer.

Full Experience

Time to give back to the community. I am posting a bit late but it's never too late.

R1 - Technical Screening

  • Valid parentheses
  • debug recursion function f(n){ if (n==0){ reutrn } f(n-1) f(n-1) print(n) }
  • "1110010101" given a binary string, check if it is divisible by 3. Given cannot convert to decimal number

Loop rounds

R2 - Craft Demo Got an assignment of Key generation service. Have to come up with a LLD, HLD and production ready code with a PPT to showcase each step. Questions asked while showcasing the assignment

  • why we had came up with NoSql and issue with nosql
  • partitioning
  • how availability is handled in nosql

R3 - Assesors round

  • prodcuer consumer problem in multi threaded environment
  • Data structure - max the element picked from array given the element which will be picked adjacent elements will get 0

R4 - Team Fitment

  • Design a system which will automate the manual work between tasks of two seprate entities which are chained together suppose Org1 manages task1 and task1 status will be sent to Org2 system. Right now manual operational work is there, optimize this and provide a automated solution
  • decorator design pattern problem

R5 - Hiring Manager

  • Leadership questions
  • cultural fitment

A day after received call from recruiter that i have cleared the interviews. Finally, i have accepted the Offer

Interview Questions (9)

Q1
Valid Parentheses
Data Structures & Algorithms

Determine if the input string has valid parentheses.

Q2
Debug Recursive Function
Data Structures & Algorithms

Debug the given recursive function: f(n){ if (n==0){ reutrn } f(n-1) f(n-1) print(n) }

Q3
Check if Binary String is Divisible by 3
Data Structures & Algorithms

Given a binary string, e.g., '1110010101', check if it is divisible by 3 without converting it to a decimal number.

Q4
Design Key Generation Service
System Design

Design a Key generation service. This involved coming up with a Low-Level Design (LLD), High-Level Design (HLD), and production-ready code with a PPT to showcase each step. Follow-up questions included: why NoSQL was chosen and its issues, partitioning strategies, and how availability is handled in NoSQL.

Q5
Producer-Consumer Problem
Data Structures & Algorithms

Implement or discuss the producer-consumer problem in a multi-threaded environment.

Q6
Max Element from Array with Adjacent Zeroing
Data Structures & Algorithms

Data structure problem: Maximize the element picked from an array, given that when an element is picked, its adjacent elements will become 0.

Q7
Design Automated Workflow System
System Design

Design a system to automate manual work between tasks of two separate entities that are chained together. For example, Org1 manages task1 and its status is sent to Org2's system; optimize this manual operational work into an automated solution.

Q8
Decorator Design Pattern Problem
Other

A problem related to the decorator design pattern.

Q9
Leadership and Cultural Fit Questions
Behavioral

General leadership and cultural fitment questions asked by the hiring manager.

SDE 2 | Intuit | Bangalore | Dec 2024
intuit logo
Intuit
SDE 2bangalore2.5 yearsRejected
January 2, 202557 reads

Summary

I interviewed for an SDE 2 role at Intuit, going through multiple rounds including online assessment, phone screens, and onsite interviews. Although I successfully completed most technical tasks, I was ultimately rejected due to identified issues in error handling and exception management in my API implementations.

Full Experience

Application and Online Assessment

I was contacted directly by a recruiter on LinkedIn for an SDE 2 position at Intuit. I have 2.5 years of experience, currently working as a Software Engineer at a FAANG-level company. I was given an Online Assessment (OA) with a 2-day deadline.

The OA consisted of:

  • 2 DSA Questions: One on linked lists and another on arrays, both of medium difficulty.
  • 5 MCQs: Related to core technical concepts.

Two days later, the recruiter informed me that I scored 94% on the OA and invited me to proceed with the phone screen rounds.

Phone Screen Rounds

1st Phone Screen

I was asked to solve a graph-based DSA problem similar to the 'rotten tomatoes' problem (LeetCode 994 - Rotten Oranges). I discussed my approach in detail, implemented the solution, and successfully ran the code during the interview.

2nd Phone Screen

In this round, I was given a medium-level DSA problem, similar to 'finding the maximum rectangle in a histogram' (LeetCode 84 - Largest Rectangle in Histogram). I explained my approach, and after the interviewer agreed, I proceeded to code the solution. The code worked correctly.

After a few days, the recruiter informed me that the feedback from these rounds was positive, and they wanted to proceed with the next stage of interviews. They also shared a code repository that I needed to set up locally for use during the onsite interviews.

Onsite Interview Rounds

1st Round (90 minutes)

This session began with questions about my current project and the tech stack I'm using. The discussion then shifted to tasks involving the provided code repository:

  • Implementing a new POST API: The API would save player details into a database. I was asked about the payload structure, error handling, and logging. I successfully implemented and tested the API using Postman.
  • Integrating an LLM API: I was given a URI and tasked with creating an API that would take a prompt as input, call the LLM API, and return the response. I implemented this as well and demonstrated it to the panel.

2nd Round (DSA)

This was a DSA-focused round. I was asked a problem similar to 'next permutations of an array' (LeetCode 31 - Next Permutation). I explained my approach, coded the solution, and passed all test cases provided by the interviewer.

3rd Round

The first 30 minutes focused on engineering fundamentals and best practices. Afterward, I was asked to implement pagination on the GET API from the shared code repository. I completed the task and demonstrated the functionality using Postman.

4th Round (Hiring Manager)

This was the hiring manager round, lasting about 30 minutes. The questions focused on my day-to-day responsibilities, team collaboration, and cultural fit within the organization.

Outcome

Two days later, the recruiter informed me that the feedback was not positive. I was told that the primary issues were related to the error codes I used and improper exception handling in the API implementations.

Reflection

This experience highlighted areas for improvement in my error handling and API design practices. While I was able to complete most tasks successfully, the feedback emphasized the importance of attention to detail, particularly when it comes to handling edge cases and ensuring robust implementations. It was a valuable learning experience overall.

Interview Questions (6)

Q1
Graph-based problem (similar to Rotten Oranges)
Data Structures & AlgorithmsMedium

I was asked to solve a graph-based DSA problem similar to the 'rotten tomatoes' problem (LeetCode 994 - Rotten Oranges).

Q2
Maximum Rectangle in Histogram
Data Structures & AlgorithmsHard

I was given a medium-level DSA problem, similar to 'finding the maximum rectangle in a histogram' (LeetCode 84 - Largest Rectangle in Histogram).

Q3
Implement Player Details POST API
Other

I was tasked with implementing a new POST API that would save player details into a database. I was also asked about the payload structure, error handling, and logging.

Q4
Integrate LLM API
Other

I was given a URI and tasked with creating an API that would take a prompt as input, call the LLM API, and return the response.

Q5
Next Permutation of an Array
Data Structures & AlgorithmsMedium

I was asked a DSA problem similar to 'next permutations of an array' (LeetCode 31 - Next Permutation).

Q6
Implement Pagination on GET API
Other

I was asked to implement pagination on the GET API from the shared code repository.

Intuit | SDE2 | Bangalore | Dec 2024
intuit logo
Intuit
SDE IIBangalore2.5 yearsRejected
January 1, 202551 reads

Summary

I recently interviewed for an SDE2 role at Intuit in Bangalore. While I successfully navigated most technical challenges, including solving several DSA problems and implementing API functionalities, I ultimately received a rejection due to identified issues in my API error handling and exception management.

Full Experience

I applied for an SDE2 position at Intuit in Bangalore after being directly contacted by a recruiter on LinkedIn. The process began with an Online Assessment (OA) which I had two days to complete. The OA comprised two medium-difficulty DSA questions (one on linked lists, one on arrays) and five MCQs covering core technical concepts.

Two days later, I was informed that I scored 94% on the OA, leading to an invitation for phone screen rounds.

Phone Screen Rounds:

1st Phone Screen:

I was presented with a graph-based DSA problem, quite similar to the "rotten tomatoes" problem. I thoroughly discussed my approach, implemented the solution, and successfully ran the code during the interview.

2nd Phone Screen:

This round involved another medium-level DSA problem, reminiscent of "finding the maximum rectangle in a histogram." I explained my approach, and once the interviewer agreed, I proceeded to code the solution, which worked correctly.

Following these rounds, I received positive feedback and was invited to the next stage – onsite interviews. The recruiter also shared a code repository that I needed to set up locally for the upcoming sessions.

Onsite Interview Rounds:

1st Round (90 minutes):

This session started with questions about my current project and tech stack. The focus then shifted to the provided code repository. My tasks included:

  • Implementing a new POST API: This API was designed to save player details into a database. I discussed the payload structure, error handling, and logging, and successfully implemented and tested the API using Postman.
  • Integrating an LLM API: I was given a URI and tasked with creating an API that would take a prompt as input, call the LLM API, and return the response. I implemented this successfully and demonstrated it to the panel.

2nd Round:

This was a DSA-focused round. I was asked a problem similar to "next permutations of an array." I explained my approach, coded the solution, and passed all test cases provided by the interviewer.

3rd Round:

The first 30 minutes concentrated on engineering fundamentals and best practices. Afterward, I was asked to implement pagination on the GET API from the shared code repository. I completed the task and demonstrated the functionality using Postman.

4th Round (Hiring Manager Round - 30 minutes):

This round focused on my day-to-day responsibilities, how I collaborate with teams, and cultural fit within the organization.

Outcome:

Unfortunately, two days later, the recruiter informed me that the feedback was not positive. The primary issues identified were related to the error codes I used and improper exception handling in my API implementations.

Reflection:

This experience provided valuable insights, particularly highlighting areas for improvement in my error handling and API design practices. While I managed to complete most tasks, the feedback underscored the importance of meticulous attention to detail, especially regarding edge cases and ensuring robust implementations. Overall, it was a significant learning experience for me.

Interview Questions (7)

Q1
Graph Problem (similar to Rotten Oranges)
Data Structures & AlgorithmsMedium

I was asked to solve a graph-based DSA problem, specifically one similar to the "rotten tomatoes" problem. This involves determining the minimum time required for all fresh oranges in a grid to rot, given that a rotten orange can infect its neighbors.

Q2
Maximum Rectangle in Histogram
Data Structures & AlgorithmsMedium

I was given a medium-level DSA problem, similar to "finding the maximum rectangle in a histogram." The goal is to find the largest rectangular area in a histogram where the bars have varying heights and are of unit width.

Q3
Implement New Player Details POST API
Other

I needed to implement a new POST API that would save player details into a database. This involved designing the payload structure, considering various aspects of error handling (e.g., invalid input, database errors), and implementing proper logging mechanisms for traceability and debugging. I also had to demonstrate the API's functionality.

Q4
Integrate LLM API
Other

I was tasked with creating an API endpoint that would accept a user prompt as input. This API needed to call an external Large Language Model (LLM) API, for which a URI was provided, and then return the response received from the LLM back to the client. I also had to demonstrate its functionality.

Q5
Next Permutation
Data Structures & AlgorithmsMedium

I was asked a DSA problem similar to "next permutations of an array." The problem typically involves rearranging numbers in an array into the lexicographically next greater permutation of numbers. If such an arrangement is not possible, it must be rearranged to the lowest possible order (i.e., sorted in ascending order).

Q6
Implement Pagination on GET API
Other

I was asked to implement pagination functionality on an existing GET API within the shared code repository. This involved modifying the API to accept parameters like page number and limit (or pageSize) and returning a subset of data along with possibly metadata like total count or total pages. I also had to demonstrate the functionality.

Q7
Hiring Manager Round - Behavioral Questions
Behavioral

During the hiring manager round, the questions focused on my day-to-day responsibilities in my current role, how I approach team collaboration and handle conflicts, and assessing my cultural fit within the organization. This typically involved situational and experience-based questions.

Intuit | SDE2 | Bangalore | Dec 2024
intuit logo
Intuit
SDE IIbangalore2.5 yearsRejected
January 1, 202534 reads

Summary

I interviewed for an SDE2 role at Intuit in Bangalore in December 2024. After multiple rounds covering online assessment, phone screens, and onsite challenges focusing on DSA, API implementation, and system fundamentals, I was ultimately rejected. The primary feedback I received pointed to issues with error handling and exception management in my API solutions.

Full Experience

Application and Online Assessment

I was directly reached out to by a recruiter on LinkedIn for an SDE2 position. Following the initial contact, I received an Online Assessment (OA) which I needed to complete within two days. The OA consisted of two Data Structures & Algorithms (DSA) questions – one focused on linked lists and another on arrays, both of which I found to be of medium difficulty. Additionally, there were five Multiple Choice Questions (MCQs) testing core technical concepts.

Two days later, the recruiter informed me that I had scored 94% on the OA, which led to an invitation for the phone screen rounds.

Phone Screen Rounds

1st Phone Screen

In this round, I was presented with a graph-based DSA problem that was very similar to the 'Rotten Tomatoes' problem. I discussed my approach thoroughly, implemented the solution in the provided coding environment, and successfully ran the code during the interview, demonstrating its correctness.

2nd Phone Screen

For the second phone screen, I tackled a medium-level DSA problem, which closely resembled 'finding the maximum rectangle in a histogram'. I clearly explained my thought process and approach to the interviewer, and once we aligned on the strategy, I proceeded to code the solution. My code worked as expected and passed the test cases.

A few days passed, and I received positive feedback from these rounds. The recruiter then informed me that I would be moving forward to the onsite interview stage. They also provided access to a code repository that I was required to set up locally in preparation for the upcoming rounds.

Onsite Interview Rounds

1st Round

This was a 90-minute session that began with an in-depth discussion about my current projects and the technology stack I'm working with. Subsequently, the focus shifted to tasks related to the shared code repository. My responsibilities included:

  • Implementing a new POST API: The API's purpose was to save player details into a database. I was asked to consider the payload structure, error handling mechanisms, and logging strategies. I successfully implemented this API and verified its functionality using Postman.
  • Integrating an LLM API: I received a URI for an existing Large Language Model (LLM) API. My task was to create an API that would take a prompt as input, call the given LLM API, and then return its response. I completed this integration and demonstrated it to the panel.

2nd Round

This round was purely focused on Data Structures and Algorithms. I was given a problem that was similar to 'next permutations of an array'. I walked through my approach, coded the solution, and successfully passed all the test cases provided by the interviewer.

3rd Round

The initial 30 minutes of this round were dedicated to engineering fundamentals and best practices discussions. Following this, I was asked to implement pagination functionality on the GET API that was part of the shared code repository. I completed this task and effectively demonstrated the new paginated functionality using Postman.

4th Round (Hiring Manager Round)

This 30-minute session was with the hiring manager. The questions primarily revolved around my day-to-day responsibilities, how I collaborate within a team, and my cultural fit within the organization. It was a behavioral-focused discussion.

Outcome

Two days after the onsite interviews, the recruiter contacted me to convey that the feedback was not positive. I was specifically told that the main issues identified were related to the error codes I used and improper exception handling within my API implementations. This experience was a valuable learning opportunity, highlighting areas for significant improvement in my API design and robustness.

Interview Questions (6)

Q1
Rotting Oranges (Graph BFS)
Data Structures & AlgorithmsMedium

During my first phone screen, I was asked to solve a graph-based DSA problem that was very similar to the 'Rotten Oranges' problem. The core task was to determine the minimum time required for all fresh oranges in a given grid to become rotten. Each minute, any fresh orange adjacent (4-directionally) to a rotting orange also becomes rotten. If it's impossible for all fresh oranges to rot, I should return -1. I discussed my approach, implemented the solution, and successfully ran the code during the interview.

Q2
Largest Rectangle in Histogram
Data Structures & AlgorithmsHard

In my second phone screen, I was given a medium-level DSA problem. This problem was analogous to 'finding the maximum rectangle in a histogram'. I was provided with an array of integers representing the heights of bars in a histogram, where each bar has a width of 1. My goal was to find the area of the largest rectangle within this histogram. I explained my approach to the interviewer, and upon their agreement, I proceeded to code the solution, which worked correctly.

Q3
Implement Player Details POST API
Other

During an onsite round, I was tasked with implementing a new POST API designed to save player details into a database. The interviewer engaged me in discussions about the optimal payload structure for player data, how to effectively handle various error conditions (e.g., invalid input, database errors), and the logging mechanisms I would integrate for debugging and monitoring. I successfully implemented the API and confirmed its functionality through testing with Postman.

Q4
Implement LLM Integration API
Other

I was provided with a specific URI for an existing Large Language Model (LLM) API and given the task to create a new API that would act as an intermediary. My API needed to accept a user-provided prompt as input, forward this prompt to the given LLM API, and then relay the LLM's response back to the client. I successfully implemented this integration and demonstrated its working to the interview panel.

Q5
Next Permutation
Data Structures & AlgorithmsMedium

In a DSA-focused onsite round, I was asked a problem similar to 'next permutations of an array'. The problem required me to find the next lexicographically greater permutation of numbers in a given array of integers. If no such greater arrangement is possible (i.e., the array is in descending order), I was to rearrange it to the lowest possible order (ascending order). The modification had to be done in-place. I explained my approach, coded the solution, and passed all test cases provided by the interviewer.

Q6
Implement Pagination for GET API
Other

I was given an existing GET API from the shared code repository and tasked with implementing pagination functionality for it. This involved modifying the API to accept query parameters such as page_number and page_size. The API then needed to return only a subset of the data corresponding to the requested page, along with relevant metadata like the total count of items. I successfully completed this task and demonstrated the paginated output using Postman.

Intuit SDE 2 | Interview Experience | Selected
intuit logo
Intuit
SDE 2Offer
November 24, 202455 reads

Summary

I recently interviewed for an SDE 2 position at Intuit and successfully received an offer. The interview process was comprehensive, including an online test, two phone screenings, and an onsite portion covering DSA, system design, a craft demo, and conceptual AI questions.

Full Experience

Online Test

The online test consisted of MCQs covering basic CS fundamentals and SQL. Following that, I tackled two LeetCode medium Data Structures and Algorithms questions. I recall one of them, but not the second.

Phone Screening 1 (60 minutes)

This round had two DSA questions. We also discussed basic Java concepts like threading, Runnable, Callable, and Singleton class.

Phone Screening 2 (60 minutes)

Again, two DSA questions were presented. This round also featured a system design question on an online bidding system, where I had to address scalability and performance. Additionally, there were questions on Java, Spring Boot, how MVC works, how Spring creates beans, and some design patterns.

Onsite Interview

Craft Demo (90 minutes)

I was provided with boilerplate code and had to set it up locally. I chose the Backend option. The panel gave me several user stories:

  1. Create a REST API that returns a list of players, with details depending on an isAdmin request parameter.
  2. Add JUnit test cases for the API.
  3. Demonstrate proper API writing practices.

The panel wanted to see the running code.

Technical Round (60 minutes)

I faced two DSA questions, fortunately, ones I had encountered before in earlier rounds. This round also extended the Craft Demo by asking me to add pagination and sorting to the API I had built. I implemented this using JPA's Specification<> and explained its internal workings. Additional questions covered Java, threading, design patterns, and microservices patterns like Resiliency Design Patterns.

AI/ML Round (30 minutes)

Given my background in ML projects, I explained the working and algorithms used in my projects. We discussed questions related to AI-native applications, when to use or not use AI, and its advantages/disadvantages. I also had a Java question to create a producer-consumer problem using a blocking queue, which I partially coded with the interviewer's help.

Manager Round (30 minutes)

This round involved standard managerial questions.

Outcome

The recruiter reached out two days later with positive feedback, resulting in a selection.

Interview Questions (14)

Q1
Max Number with Given Sum and Digit Count
Data Structures & AlgorithmsMedium

Find the maximum number with a given sum of digits and digit count.

Q2
Max Perimeter Rectangle of Ones
Data Structures & AlgorithmsMedium

Given a matrix with zeros and ones, find the maximum perimeter rectangle with all ones.

Q3
Max Sum of Non-Adjacent Elements
Data Structures & AlgorithmsMedium

Given an array of integers, find the maximum sum of elements such that no two elements are adjacent.

Q4
Longest Consecutive Subsequence
Data Structures & AlgorithmsMedium

Given an array of positive integers, find the longest subsequence such that all the elements are consecutive.

Q5
Tree Height (Recursive & Iterative)
Data Structures & AlgorithmsEasy

Given a tree, find the height of the tree using both recursive and iterative approaches.

Q6
Design Online Bidding System
System DesignHard

Design an online bidding system and answer questions related to scalability and performance enhancement.

Q7
REST API for Player List (Admin/User)
OtherMedium

Create a REST API that takes isAdmin as a request parameter and returns a list of all players with their first and last names if the admin has called the API. Otherwise, it should return only the first name.

Q8
JUnit Tests for REST API
OtherMedium

Add running JUnit test cases for the REST API I created.

Q9
Follow Proper API Writing Practices
Other

Follow proper API writing practices.

Q10
Add Pagination and Sorting to REST API
OtherMedium

Add pagination and sorting to the API I had created earlier.

Q11
What Makes an App AI-Native?
Behavioral

What makes an app AI-native?

Q12
When to Use/Not Use AI?
Behavioral

When should you use AI, and when should you not?

Q13
Advantages and Disadvantages of AI
Behavioral

Advantages and disadvantages of AI.

Q14
Producer-Consumer using Blocking Queue (Java)
Data Structures & AlgorithmsMedium

Create a producer-consumer problem using a blocking queue in Java.

Intuit | SDE2 | Bengaluru | Rejected
intuit logo
Intuit
SDE IIBengaluru3 yearsRejected
August 14, 202432 reads

Summary

I applied for an SDE-2 role at Intuit through a referral and went through five rounds, including coding, system design, and behavioral questions. Despite a strong performance in technical assessments like LRU Cache and system design for BookMyShow, I was ultimately rejected after the final team member rounds.

Full Experience

I recently applied for an SDE-2 role at Intuit via a referral. My resume was shortlisted, and I was scheduled for a phone screening 5 days later. This initial round lasted 60 minutes and began with an introduction, followed by a 25-minute discussion about my current team's work, where I was asked to draw a High-Level Design (HLD) diagram and answer follow-up questions. Next, I spent 15 minutes designing APIs for a BookMyShow-like platform, discussing my approach and handling subsequent queries. The round concluded with a 20-minute discussion on the approach, pseudocode, and time complexity for the LRU Cache problem. I successfully passed this round and was then assigned a craft project to complete over two weeks.

For the Craft Round, which was a 60-minute session with a four-person panel, I presented a detailed PowerPoint. This presentation covered the assumptions I made for the project, its Functional and Non-Functional requirements, the chosen Tech Stack, High-Level Design (HLD) and Low-Level Design (LLD), API definitions in Postman, and the Database Schema. During this round, I fielded questions specifically about the craft project, how I handled corner and edge cases, the distinctions between PUT and PATCH HTTP methods, differences between Path Parameters and Query Parameters, various database design related queries, and questions concerning authorization.

The Assessor Round, lasting 45 minutes, involved solving the "Product of Array Except Self" problem. I was also tasked with writing SQL statements based on a given problem statement and engaged in a discussion comparing Monolithic versus Microservice architectures.

I then had two consecutive Team Member Rounds, each lasting 30 minutes. The first round primarily focused on my current project within my organization, followed by discussions on Design Patterns and various Caching Mechanisms. The second team member round was a typical Behavioral interview. I was asked about my motivations for wanting to leave my current organization and how I would approach debugging a production issue if one arose. Ultimately, I was rejected from the position.

Interview Questions (11)

Q1
Design APIs for a BookMyShow-like Platform
System Design

Design APIs for a platform similar to BookMyShow, discussing the approach and answering follow-up questions.

Q2
LRU Cache
Data Structures & AlgorithmsMedium

Discussion on the approach, pseudocode, and time complexity for implementing an LRU Cache.

Q3
Differentiate PUT vs PATCH
Other

Explain the differences between HTTP PUT and PATCH methods.

Q4
Differentiate Path Param vs Query Param
Other

Explain the differences and use cases for Path Parameters vs Query Parameters in REST APIs.

Q5
Product of Array Except Self
Data Structures & AlgorithmsMedium

Solve the "Product of Array Except Self" problem.

Q6
Write SQL Statements
Other

Write SQL statements based on a given problem statement.

Q7
Discussion on Monolith vs Microservice
System Design

Discuss the advantages, disadvantages, and trade-offs between Monolithic and Microservice architectures.

Q8
Discuss Design Patterns
System Design

Discuss various software design patterns.

Q9
Discuss Caching Mechanisms
System Design

Discuss different caching mechanisms and their use cases.

Q10
Why Leave Current Organization?
Behavioral

Why are you looking to leave your current organization?

Q11
How to Debug a Production Issue?
Behavioral

Given a production issue, describe your approach to debugging and resolving it.

Intuit Senior software engineer interview experience
intuit logo
Intuit
senior software engineerRejected
March 20, 202347 reads

Summary

I interviewed for a Senior Software Engineer position at Intuit after being laid off from Amazon. The process included an online assessment, a HLD/LLD round, and a system design round, but unfortunately, I was rejected.

Full Experience

I was laid off from Amazon and decided to pursue a Senior Software Engineer role at Intuit. The interview process consisted of three rounds.

Round 1: Glider.ai test
This round involved 10 objective questions covering Java and design patterns. Additionally, there was a coding problem to solve.

Round 2:
This round focused on High-Level Design (HLD) and Low-Level Design (LLD) concepts, along with a data structures and algorithms question.

Round 3:
This was a system design round where I was asked to design a 'craft app' from end to end. I believe I struggled in this round, which ultimately led to my rejection.

I proposed using a technology stack that included Spring Boot and Java for APIs, Docker for containerization, Docker Compose for orchestration, Postgres as the database, Jaeger for tracing, Swagger UI for testing, KeyCloak for directory services (though not fully utilized), Krakend as an API Gateway, and Postman for end-to-end testing. Despite my efforts, I received a rejection.

Interview Questions (3)

Q1
Maximum N-Digit Number with Sum K
Data Structures & Algorithms

Find the maximum n-digit number whose sum of digits is equal to k.

Q2
Zigzag Traversal of Binary Tree
Data Structures & Algorithms

Implement zigzag level order traversal of a binary tree.

Q3
Design Craft App
System Design

Design a 'craft app' from end to end.

Intuit Bangalore SDE 2 | Rejected
intuit logo
Intuit
sde 2bangaloreRejected
July 2, 202240 reads

Summary

I interviewed for an SDE-2 role at Intuit Bangalore in June 2022, going through several technical rounds including system design, a craft demo, and coding challenges. Despite clearing most rounds, I was ultimately rejected after the final coding assessment.

Full Experience

I had my interview process with Intuit for the SDE-2 position in Bangalore in June 2022. It consisted of multiple rounds:

  1. 1st Telephonic (Zoom) Screening round: I was asked to design a circuit breaker. This was a high-level discussion with no coding involved. I passed this round.
  2. 2nd Telephonic Screening Round: The interviewer asked me to design a URL shortener, which is a standard HLD problem. I also discussed a problem related to product of array except self. I passed this round as well.
  3. Craft Demo: For this round, I was given a problem statement and input files/data beforehand. The task was to design a system to score similarities between two transactions from two given files. We discussed the High-Level Design (HLD), potential challenges, and the benefits of using multithreading. There was no coding involved, only a discussion. I successfully cleared this round.
  4. Coding interview (Assessor round): In this round, I faced two coding problems. First, I was given the problem to flatten a binary tree to a linked list, which I unfortunately couldn't solve. The second problem was to search a 2D matrix. Additionally, I was asked to create a multithreading program where the first thread prints odd natural numbers and the second prints even natural numbers, scheduled alternately. There were also various core Java questions on Garbage Collection and Collections. Despite my efforts, I was rejected after this round.

Interview Questions (7)

Q1
Design a Circuit Breaker
System Design

Design a circuit breaker system. Focus on high-level design principles without writing code.

Q2
Design a URL Shortener
System DesignMedium

Design a URL shortening service. This is a standard High-Level Design problem.

Q3
Product of Array Except Self
Data Structures & AlgorithmsMedium

Given an integer array nums, return an array answer such that answer[i] is equal to the product of all the elements of nums except nums[i]. The product of any prefix or suffix of nums is guaranteed to fit in a 32-bit integer. You must write an algorithm that runs in O(n) time without using the division operator.

Q4
Design a Transaction Similarity Scoring System
System Design

Design a system that scores the similarity between two transactions from two given files. Discuss the High-Level Design (HLD), potential challenges, and the benefits of using multithreading for this system.

Q5
Flatten Binary Tree to Linked List
Data Structures & AlgorithmsMedium

Given the root of a binary tree, flatten the tree into a 'linked list': The 'linked list' should use the same TreeNode class where the right child pointer points to the next node in the list and the left child pointer is always null. The 'linked list' should be in the same order as a pre-order traversal of the binary tree.

Q6
Search a 2D Matrix
Data Structures & AlgorithmsMedium

You are given an m x n integer matrix with the following two properties: Each row is sorted in non-decreasing order. The first integer of each row is greater than the last integer of the previous row. Given an integer target, return true if target is in the matrix, otherwise return false. You must write an algorithm that runs in O(log(m * n)) time complexity.

Q7
Multithreaded Odd-Even Printer
Data Structures & AlgorithmsMedium

Implement a multithreaded program where the first thread prints only odd natural numbers and the second thread prints only even natural numbers. The threads should be scheduled to print alternately, one after another.

Intuit | SDE2 (frontend) | bangalore | October 2021 [Offer]
intuit logo
Intuit
SDE2 (frontend)Bangalore, IndiaOffer
December 8, 202140 reads

Summary

I successfully interviewed for an SDE2 (frontend) position at Intuit in Bangalore, India, and received an offer after completing four onsite rounds covering a craft demo, data structures and algorithms, JavaScript, and a hiring manager discussion.

Full Experience

I had an engaging interview experience at Intuit for an SDE2 (frontend) role in October 2021. The process consisted of four onsite rounds.

Round 1 (Craft Demo, 1 hour)

The recruiter had shared a document the day before with a rough design for an application. My task was to build a Meeting Rooms app using React and GraphQL APIs before the interview. During this round, the interviewer reviewed my code and then asked me to implement a couple of additional features live. We also discussed various frontend-specific questions.

Round 2 (DS & Algo, 1 hour)

This round focused on Data Structures and Algorithms. The primary coding question I faced was LeetCode's 3Sum problem. Following that, I was given a follow-up question, the KSum problem. Since some time was remaining, we also covered a few frontend questions.

Round 3 (JavaScript, 1 hour)

This round was entirely dedicated to JavaScript. The questions spanned various topics including Polyfills, ECMAScript features, Recursion concepts, and how Data Structures are implemented or utilized within JavaScript.

Round 4 (Hiring Manager, 30 minutes)

The final round was with the Hiring Manager. We discussed my past projects in detail, focusing on my contributions and impact. This round also assessed my fit with the team and company culture through a series of behavioral questions.

Interview Questions (3)

Q1
Build Meeting Rooms App with React & GraphQL
Other

I was tasked with building a Meeting Rooms application using React and GraphQL APIs. This application needed to be completed before the interview. During the round, the interviewer checked my code and asked me to add a couple of features to the existing app. I was also asked some general frontend questions.

Q2
3Sum
Data Structures & AlgorithmsMedium

I was given the LeetCode 3Sum problem.

Q3
KSum
Data Structures & AlgorithmsMedium

This was a follow-up question to the 3Sum problem, requiring a generalization for 'k' elements.

Intuit | OA | SDE Intern | August 2021 | India
intuit logo
Intuit
SDE InternBangalore
August 25, 202158 reads

Summary

I recently participated in the Intuit Online Assessment for an SDE Intern position in August 2021. The OA consisted of four distinct coding challenges, including a classic N-Queens problem, a variation of the Heaters problem, a complex permutation problem with specific positional constraints, and a unique 2D string vector transformation task.

Full Experience

Intuit visited our campus for SDE Intern hiring in August 2021. The online coding round was quite challenging, featuring four distinct problems. I had to solve them within the given time limit. The problems covered a range of topics from standard backtracking to more intricate data manipulation and custom constraint handling, requiring careful thought and implementation.

Interview Questions (4)

Q1
N-Queens Problem
Data Structures & Algorithms

The classic N-Queens problem, where the goal is to place N non-attacking queens on an N×N chessboard.

Q2
Heaters Problem Variation
Data Structures & Algorithms

This was a variation of the LeetCode Heaters problem. Instead of given house positions, the total number of houses (N) was provided, and it had to be assumed that a house exists at every positive integer value up to N. After determining the minimum radius required to heat all houses, the answer needed to be returned with a decimal precision of 9 (e.g., 1.000000000 instead of 1).

Q3
Permutations with Positional Constraints
Data Structures & Algorithms

Given an array, I had to return all the possible permutations of the array under specific conditions:

  • If a number x was present in a special array provided as input, then the permutation must follow the condition: perm[x] < perm[x+1]. This meant that if, for example, the number 3 was in the special array, then the number at the 3rd index (0-indexed) of the permutation should always be less than the number at the 4th index.
  • If a number y was not present in the special array, then it should follow the condition: perm[y] > n * perm[y+1], where n is the size of the input array (not the special array).

Q4
2D Vector String One-Hot Encoding
Data Structures & Algorithms

I was given a 2D vector of strings where each row was of the form {Position, RandomString}. The task was to return a new 2D vector of strings such that the number of columns would be equal to 1 + Number of unique strings in Column 2 of the input matrix. Each of these new columns represented a unique string from the input, arranged in lexicographical order. For every i-th row in the output, the first value again represented the position (i.e., i), and subsequently, the column representing the i-th string of the input matrix was set to 1, with all other string-representing columns set to 0.

For example:
Input:

0 Berkeley
1 Berkeley
2 Berkeley
3 Columbia
Output:
0 1 0
0 1 0
0 1 0
0 0 1
Explanation matrix:
Position      isThisBerkeley      isThisColumbia
0                    1                           0
1                    1                           0
2                    1                           0
3                    0                           1
Note that the column headers are arranged lexicographically.

Have a Intuit Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Intuit.