Addepar is a global technology and data company with a decade-long track record in empowering investment professionals to make smarter financial decisions. With a presence in over 40 countries, Addepar's platform aggregates portfolio, market, and client data, managing over $5 trillion in assets. The platform integrates seamlessly with over 100 software, data, and service partners to deliver comprehensive solutions to various firms.
As a Software Engineer at Addepar, you'll join a dynamic team focused on building the next generation wealth management software. This role requires tackling complex problems to deliver outstanding features that cater to clients of all sizes. You will work with cutting-edge technologies to implement robust solutions in a collaborative environment.
Explore your path at Addepar on Interview Query and prepare to make an impact in the financial technology landscape!
The first step is to submit a compelling application that reflects your technical skills and interest in joining Addepar as a Software Engineer. Whether you were contacted by an Addepar recruiter or have taken the initiative yourself, carefully review the job description and tailor your CV according to the prerequisites.
Tailoring your CV may include identifying specific keywords that the hiring manager might use to filter resumes and crafting a targeted cover letter. Furthermore, don’t forget to highlight relevant skills and mention your work experiences.
Once your CV is shortlisted, a recruiter from Addepar's Talent Acquisition Team will make contact to verify key details such as your experiences and skill level. Standard questions like "Who are you?" and "What are you looking for?" will be asked. This is primarily a screening call to ensure alignment with the company’s values and minimum requirements for the role.
This call typically takes about 30 minutes.
If you pass the HR screening, the next step is a technical screen conducted over Zoom with an engineer. During this 1-hour session, you will encounter a coding question. This round aims to test your problem-solving skills and technical knowledge.
Be prepared for questions on designing systems like a key/value store or other problem statements such as:
In some scenarios, you may be given a take-home assignment. Addepar sometimes sends a project with a specific challenge that aligns closely with the job description. You may be given about 3 hours to complete it. Example assignments might include:
If you successfully clear the take-home assignment, you will be invited for onsite interviews. This typically involves multiple 1:1 rounds with different engineers. The onsite interview includes:
Interview problems might include: - Implement a function that provides the longest incrementing path in a 2D array. - Solve a regular expression matching problem from LeetCode. - Debug an issue in a Python HTTP client.
Quick Tips For Addepar Software Engineer Interviews
Typically, interviews at Addepar vary by role and team, but commonly Software Engineer interviews follow a fairly standardized process across these question topics.
Write a SQL query to select the 2nd highest salary in the engineering department. Write a SQL query to select the 2nd highest salary in the engineering department. If more than one person shares the highest salary, the query should select the next highest salary.
Write a function to merge two sorted lists into one sorted list. Given two sorted lists, write a function to merge them into one sorted list. Bonus: What's the time complexity?
Create a function missing_number
to find the missing number in an array.
You have an array of integers, nums
of length n
spanning 0
to n
with one missing. Write a function missing_number
that returns the missing number in the array. Complexity of (O(n)) required.
Develop a function precision_recall
to calculate precision and recall metrics from a 2-D matrix.
Given a 2-D matrix P of predicted values and actual values, write a function precision_recall to calculate precision and recall metrics. Return the ordered pair (precision, recall).
Write a function to search for a target value in a rotated sorted array. Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. You are given a target value to search. If the value is in the array, then return its index; otherwise, return -1. Bonus: Your algorithm's runtime complexity should be in the order of (O(\log n)).
Is this a fair coin? You flip a coin 10 times, and it comes up tails 8 times and heads twice. Determine if the coin is fair based on this outcome.
Write a function to calculate sample variance from a list of integers.
Create a function that takes a list of integers and returns the sample variance, rounded to 2 decimal places. Example input: test_list = [6, 7, 3, 9, 10, 15]
. Example output: get_variance(test_list) -> 13.89
.
Is there anything suspicious about the A/B test results with 20 variants? Your manager ran an A/B test with 20 different variants and found one significant result. Evaluate if there is anything suspicious about these results.
How to find the median in a list with more than 50% of the same integer in O(1) time and space?
Given a sorted list of integers where more than 50% of the list is the same repeating integer, write a function to return the median value in (O(1)) computational time and space. Example input: li = [1,2,2]
. Example output: median(li) -> 2
.
What are the drawbacks and formatting changes needed for messy student test score data? You have student test scores in two different layouts (dataset 1 and dataset 2). Identify the drawbacks of these layouts, suggest formatting changes to make the data more useful for analysis, and describe common problems seen in messy datasets.
Would you think there was anything fishy about the results of an A/B test with 20 variants? Your manager ran an A/B test with 20 different variants and found one significant result. Would you suspect any issues with these results?
How would you set up an A/B test to optimize button color and position for higher click-through rates? A team wants to A/B test changes in a sign-up funnel, such as changing a button from red to blue and/or moving it from the top to the bottom of the page. How would you design this test?
What would you do if friend requests on Facebook are down 10%? A product manager at Facebook reports a 10% decrease in friend requests. What steps would you take to address this issue?
Why would the number of job applicants decrease while job postings remain the same? You observe that the number of job postings per day has remained constant, but the number of applicants has been decreasing. What could be causing this trend?
What are the drawbacks of the given student test score datasets, and how would you reformat them for better analysis? You have data on student test scores in two different layouts. What are the drawbacks of these formats, and what changes would you make to improve their usefulness for analysis? Additionally, describe common problems in "messy" datasets.
How would you evaluate whether using a decision tree algorithm is the correct model for predicting loan repayment? You are tasked with building a decision tree model to predict if a borrower will pay back a personal loan. How would you evaluate if a decision tree is the right choice, and how would you assess its performance before and after deployment?
How does random forest generate the forest and why use it over logistic regression? Explain the process by which a random forest generates its ensemble of trees. Additionally, discuss why one might choose random forest over logistic regression for certain problems.
When would you use a bagging algorithm versus a boosting algorithm? Compare two machine learning algorithms. Describe scenarios where you would prefer a bagging algorithm over a boosting algorithm, and discuss the tradeoffs between the two.
How would you justify using a neural network for a business problem and explain its predictions to non-technical stakeholders? Your manager asks you to build a neural network model to solve a business problem. How would you justify the complexity of this model and explain its predictions to non-technical stakeholders?
What metrics would you use to track the accuracy and validity of a spam classifier? You are tasked with building a spam classifier for emails and have completed a V1 of the model. What metrics would you use to evaluate the accuracy and validity of the model?
Q: What is the interview process at Addepar like? The interview process at Addepar typically begins with an HR recruiting call to discuss your background and what you're looking for. This is usually followed by multiple technical interviews. These can include coding questions, system design problems, and algorithmic challenges, often conducted through shared coding platforms or over Zoom. Some candidates may also be given take-home assignments. If you pass these stages, you may be invited for an onsite interview that can include several rounds with different team members.
Q: What kinds of technical questions can I expect in the interview? The technical questions at Addepar often range from data structure design, such as designing a key/value store that supports transactions, to more complex algorithms, like file sorting, regular expression matching, and graph traversal algorithms. Candidates have reported LeetCode-style questions, such as solving Sudoku puzzles or finding the longest incrementing path in a 2D array.
Q: How should I prepare for an Addepar interview? To prepare for an Addepar interview, it's essential to brush up on data structures and algorithms commonly found in competitive programming. Platforms like Interview Query can provide valuable practice with questions similar to those asked during Addepar interviews. Reviewing your recent projects and being able to discuss your problem-solving approaches and technical decisions is also crucial.
Q: What is the role of a Software Engineer at Addepar? A Software Engineer at Addepar works on designing and building the next generation of investment management software. They collaborate closely with product managers, designers, and other engineers to develop features that meet the needs of Addepar's clients. Engineers are involved in the entire software development lifecycle, from requirements gathering to deployment, ensuring high-quality, scalable code.
Q: What is the company culture like at Addepar? Addepar prides itself on its collaborative and innovative company culture. They value employees who act like owners, build together, champion clients, drive innovation, and embrace learning. Addepar fosters a welcoming environment where diverse perspectives are encouraged, and continuous learning is a shared responsibility. The company also emphasizes inclusion and belonging, ensuring reasonable accommodations for individuals with disabilities.
Embarking on your journey towards a Software Engineer position at Addepar offers a glimpse into a multi-faceted and challenging interview process that is not only designed to test your technical prowess but also to immerse you deeply into the company's vibrant and innovative culture. Whether it's through HR recruiting calls, technical screens over Zoom, take-home assignments, or nuanced functional rounds with various team members, Addepar ensures a thorough evaluation of your skills and fit for their engineering roles.
If you want more insights about the company, check out our main Addepar Interview Guide, where we have covered many interview questions that could be asked. We've also created interview guides for different roles, such as software engineer and data analyst, where you can learn more about Addepar’s interview process for different positions.
At Interview Query, we empower you to unlock your interview prowess with a comprehensive toolkit, equipping you with the knowledge, confidence, and strategic guidance to conquer every Addepar interview question and challenge.
You can check out all our company interview guides for better preparation, and if you have any questions, don’t hesitate to reach out to us.
Good luck with your interview!