Addepar interview experience Real time questions & tips from candidates to crack your interview

SDE - Intern

Addepar
upvote
share-icon
4 rounds | 6 Coding problems

Interview preparation journey

expand-icon
Journey
I began my DSA journey with very simple problems, gradually moving to advanced topics through consistent daily practice, coding contests, and hackathons. This discipline not only improved my problem-solving skills but also gave me the confidence to face tough challenges. When Addepar visited our campus in July–August 2025, more than 2000 students applied. I was fortunate to be among the 40 shortlisted after clearing the online assessment. From there, the journey became more exciting and challenging. We were invited to the company’s office, where the environment was welcoming yet highly competitive, as many top students from other institutes in Pune had also gathered. One by one, candidates went through multiple rounds of interviews ranging from resume screening and HR discussions to intense coding and managerial interviews. With each stage, the competition grew tougher, and many students were filtered out. In the end, only 5–6 students made it through, and I feel grateful to have been one of them.
Application story
I first came across the Addepar opportunity through our TPO portal, which then redirected me to the Naukri website for the actual application process. The eligibility criteria required a minimum of 8 CGPA, and after meeting that, I successfully submitted my application. Shortly after, I received confirmation and was invited to participate in the selection process, which included an online assessment followed by further interview rounds.
Why selected/rejected for the role?
I believe I was selected because of my strong problem-solving ability and consistent preparation. In the coding round, which was scheduled for an hour, I was able to solve the problems within 30 minutes, which left a strong impression on the interviewers. This gave us extra time to engage in a friendly discussion about their journey and experiences, which helped build a good rapport. In the final managerial round, I was tested thoroughly on concepts from my resume, internship projects, system design, full-stack technologies, cloud, and DevOps. By confidently handling those challenging and in-depth questions, I was able to demonstrate both technical depth and practical exposure, which ultimately led to my selection.
Preparation
Duration: 12 months
Topics: Data Structures, OOPS, Algorithms, DBMS, Full Stack Development, Cloud Technologies, Operating System
Tip
Tip

Tip 1: Solve at least 300 quality DSA problems covering varied topics.
Tip 2: Participate regularly in timed coding contests to sharpen speed and accuracy.
Tip 3: Revise core concepts consistently and focus on identifying problem patterns instead of just memorizing solutions.

Application process
Where: Campus
Eligibility: 8 CGPA, (Stipend: 50k per month)
Resume Tip
Resume tip

Tip 1: Showcase strong projects that demonstrate problem-solving and development skills.
Tip 2: Keep your resume concise, relevant, and completely truthful.

Interview rounds

01
Round
Easy
Online Coding Interview
Duration135 minutes
Interview date2 Aug 2025
Coding problem2

The test window was open from 11:00 AM on 2nd Aug to 11:59 PM on 3rd Aug, with a total duration of 2 hours 15 minutes. The environment was competitive but well-organized, and since it was proctored, a quiet place with stable internet was mandatory. The instructions were clearly mentioned regarding plagiarism, AI tools, and webcam monitoring. The test had 48 MCQs on aptitude, DSA, Core fundamentals, Web & API and 2 coding problems.

1. k-th node from the end of the linked list

Easy
15m average time
85% success
0/40
Asked in companies
AppleHikeIntuit

Given the head node of the singly linked list and an integer ‘k’, , find the value at the kth node from the end of the linked list.

For example:

Linked List

For the above-linked list, if k=2, then the value at the kth i.e second node from the end is ‘12’.
Note :
1.You don’t need to take any input. It has already been taken care of. Just implement the given function and return a pointer pointing to the k-th element from the last of the linked list.
2.It is guaranteed that k<=size of the linked list.
Problem approach

Step 1 : Naive / two-pass approach (what you might try first):
Traverse the list once to compute its length len.
If N > len, return -1.
Otherwise traverse again to the (len - N + 1)-th node from the start and return its value.
This is simple and works, but it does two traversals. 

Step 2 : Optimized / expected approach (two-pointer, one pass):
Use two pointers fast and slow, both starting at head.
Move fast forward by N steps.
If during this initial move fast becomes NULL before finishing the N steps, that means N > length → return -1.
If fast becomes NULL exactly after the N steps, then N == length and the answer is head.
Now move both fast and slow forward simultaneously (one step at a time) until fast becomes NULL.
When fast reaches NULL, slow will point to the Nth node from the end.
Return slow->data.
This does a single pass and O(1) extra space (the commonly accepted “one-pass” solution). 
Example walkthrough: list 1 -> 2 -> 3 -> 4, N = 3
Move fast ahead 3 steps (after those moves fast points to 4).
Move fast and slow together once: fast → NULL, slow → 2. Return 2.

Try solving now

2. Minimum Tax Path in a Tree

Ninja
0/200
Asked in company
Addepar

You are given a city's road network, which forms an unrooted, undirected tree with n toll plazas (nodes), numbered 0 to n-1. Each plaza i has a tax[i]. The roads are given by a 2D array path.


You are also given a list of journeys, where each journey is a trip from a start node to an end node. The total tax for a single journey is the sum of taxes of all nodes on the unique simple path between the start and end nodes.


Before starting any journeys, you have a one-time opportunity to reduce costs. You can select any set of nodes to receive a discount, with one critical constraint: no two selected nodes can be adjacent. For every node you select, its tax is permanently halved (integer division).


Your task is to strategically choose the set of non-adjacent nodes for the tax discount to minimize the sum of total taxes over all given journeys.


Problem approach

Step 1: I first represented the toll plazas and connections as a graph using an adjacency list, since the given paths form a tree and ensure a unique path between any two nodes.

Step 2: For each journey (start, end), I performed a DFS/BFS to find the path and calculated the total tax cost by summing up all the node taxes along that path.

Step 3: Then I considered the optimization rule where we can halve the tax of some non-adjacent nodes. I realized this is similar to choosing an independent set in a tree where adjacent nodes cannot both be halved.

Step 4: To solve this, I applied a Tree DP approach:
dp[u][0] → max saving if node u is not halved.
dp[u][1] → max saving if node u is halved (then children cannot be halved).
I solved it recursively to maximize the savings.

Step 5: Finally, I computed the initial total tax across all journeys, then subtracted the maximum savings obtained from the DP. This gave me the minimum possible tax sum for all journeys.

Try solving now
02
Round
Medium
HR Round
Duration30 minutes
Interview date11 Aug 2025
Coding problem1

The HR round was held in the morning at the company office. The environment was welcoming and comfortable. The HR interviewer was very friendly, professional, and made me feel at ease throughout the conversation. The discussion lasted for about 20–30 minutes. She began by introducing herself and then asked me a series of behavioural and situational questions, along with some tricky ones to assess communication and mindset.

1. HR Questions

  • Introduce yourself.
  • Tell me about your internship experience.
  • Share some of your achievements (I highlighted my hackathon and DSA competition wins).
  • What motivates you to keep performing at this level?
  • Why do you want to work with our company?
  • How would you explain your project to a non-technical person?
  • Several other questions related to career goals, teamwork, and handling challenges.
Problem approach

Tip 1: Stay confident and answer naturally as HR looks for honesty and personality fit, not just perfect answers.
Tip 2: Support your answers with real experiences (internship learnings, hackathon experiences, or teamwork examples).
Tip 3: For tricky questions, keep it simple and avoid jargon. For example, while explaining a project to a non-technical user, use day-to-day analogies.

03
Round
Hard
Face to Face
Duration60 minutes
Interview date11 Aug 2025
Coding problem1

Timing: Afternoon
Environment: Professional and welcoming proctored coding in a shared Hackerrank Collab session.
Any other significant activity: The interviewer gave multiple follow-ups to push for optimizations and asked for time/space complexity for each improvement.
How the interviewer was: Friendly and experienced (background in fintech); they guided the discussion and probed deeper with tricky edge-case follow-ups.

1. Stock Ledger Reconciliation

Hard
0/120
Asked in company
Addepar

You are an auditor for a financial firm, tasked with reconciling stock inventories from three different ledgers: a starting ledger, a transactions ledger, and a final ledger. Each ledger is represented as a list of strings.


start list: Contains the initial count of each stock at the beginning of the day. Format: "{stock_name}:{count}".


transactions list: Contains all the buy (+) or sell (-) transactions that occurred during the day. Format: "{stock_name}:{change}". A positive change is a buy, a negative change is a sell.


final list: Contains the expected final count of each stock at the end of the day. Format: "{stock_name}:{count}".


Your task is to calculate the actual final stock counts by applying the transactions to the starting counts and then compare this result with the final ledger. You must generate a "reconciliation report" that lists all stocks with discrepancies.


Problem approach

Step 1: Parse each string record carefully and convert it into structured data (e.g., (stockName, quantity, value)); validate format and handle malformed entries.
Step 2: For lists 1 and 2 (the input lists to be combined), insert/update an entry for each stock in an unordered_map (or equivalent) to aggregate counts/values.
Step 3: Parse the third list (the expected/final list) into a separate map expectedMap with the same structure.
Step 4: For every stock in the aggregated map, compute the difference vs expectedMap (missing stock in expected → difference = aggregated value; stock only in expected → difference = -expected value, etc.). Build the reconciliation report entries for these differences.
Step 5: Include any stocks present only in expectedMap (not in aggregated) in the report as well.
Step 6: Return the reconciliation report in the required output format (sorted or unsorted depending on the problem statement). If the interviewer asked, also provide a human-readable summary (e.g., “AAPL: +10 units, GOOG: -5 units”), and handle rounding/precision for monetary values.
Step 7: Explain and implement optimizations when asked: use hashing for O(1) lookups, streaming parsing if lists are huge, and pay attention to memory usage.

Try solving now
04
Round
Hard
Face to Face
Duration60 minutes
Interview date11 Aug 2025
Coding problem2

Timing: Post Lunch
Environment: Formal and focused, office setting, one-on-one with the manager.
Significant activity: Deep technical discussion; asked to draw architectures and explain end-to-end implementations of projects.
How the interviewer was: Manager was experienced, direct, and probing, asked many follow-ups and pushed on tradeoffs, scalability, and implementation details.

1. System Design

The manager asked for a deep dive on projects listed on my resume: draw the architecture, explain components and data flow, describe how you implemented key modules, and answer detailed questions about scalability, reliability, data structures, cloud services, and deployment.

Problem approach

System design / architecture

1) I clarified the scope and requirements (functional and non-functional) before drawing anything.
2) I sketched a high-level diagram showing major components (UI, backend services, databases, caches, load balancers, external integrations).
3) I explained data flow for core use-cases and identified where state is stored and how it’s accessed.
4) I described chosen technologies (frontend stack, backend framework, DB choice) and why each fit the use-case.
5) I discussed scaling strategies (horizontal scaling, stateless services, caching, sharding) and failure handling (retries, circuit breakers, monitoring).
6) I detailed deployment and CI/CD (how I built, tested, and deployed changes), and any cloud services used (e.g., storage, managed DB, container orchestration).
7) I explained design trade-offs (consistency vs availability, cost vs performance) and why I picked certain approaches.
8) I finished with possible improvements and next steps (e.g., optimizations, adding observability, cost reduction).

Implementation and technical detail questions
1) I justified data structure choices for key features (e.g., why use a trie/hashmap/heap/graph for a specific problem).
2) I described algorithms and complexity (time & space) for important modules and showed how I optimized them.
3) On follow-ups I gave code-level ideas or pseudocode for critical parts and described edge cases I’d test for.

Important corner cases & topics the manager probed (be prepared to cover these):
1) Handling high request volume and burst traffic (rate limiting, autoscaling).
2) Data consistency and how to handle eventual consistency vs strong consistency.
3) Database schema design for large-scale data, indexing, and query patterns.
4) Failure scenarios and recovery (partial failure, network partitions).
5) Security concerns (authentication, authorization, data encryption).
6) Cost trade-offs when using managed cloud services vs self-managed infra.
7) Edge cases from resume projects (unexpected inputs, latency spikes, third-party failures).

Tips for similar managerial rounds:
Tip 1: Always start by clarifying requirements and constraints.
Tip 2: Draw a clear high-level diagram first, then zoom into components the interviewer cares about.
Tip 3: Explain trade-offs explicitly, interviewers love to hear the why.
Tip 4: Use real metrics from your past projects if available (e.g., “reduced latency by X%”), it shows impact.

2. Behavioural Assessment

They asked behavioural questions about ownership, conflict resolution, and team dynamics.

Problem approach

1) I gave concrete examples where I took ownership (define the problem, planned implementation, drove execution, measured results).
2) For conflicts, I explained a structured approach: listen, find common ground, propose data-backed solutions, and escalate only when necessary.
3) I emphasized teamwork examples from hackathons/internships where I coordinated stakeholders and delivered on time.

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by OYO
4657 views
0 comments
0 upvotes
company logo
SDE - Intern
2 rounds | 3 problems
Interviewed by Amazon
961 views
0 comments
0 upvotes
company logo
SDE - 1
2 rounds | 5 problems
Interviewed by Meesho
6450 views
0 comments
0 upvotes
company logo
SDE - 1
3 rounds | 9 problems
Interviewed by Salesforce
3452 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - Intern
3 rounds | 6 problems
Interviewed by Amazon
15481 views
4 comments
0 upvotes
company logo
SDE - Intern
4 rounds | 7 problems
Interviewed by Microsoft
15339 views
1 comments
0 upvotes
company logo
SDE - Intern
2 rounds | 4 problems
Interviewed by Amazon
10142 views
2 comments
0 upvotes