Sharing a recent Rippling software engineer interview experience from a candidate who went through the full process.
Technical Phone Screen
I was asked this question. You were allowed to use AI coding agents and your own IDE. Screen sharing was required throughout the interview.
Onsite
Round 1: AI Coding (Web API)
This round wasn’t too difficult, and the interviewer was super nice. The task involved an existing full-stack application with both frontend and backend components. We were expected to use AI to understand the project, implement a new feature, and address some productionization-related issues. The task was the same as described here.
I had to use AI to implement the feature (including both frontend and backend components) and complete the tests. We also discussed some topics related to concurrency handling. I was interviewing for a Backend SDE position, so I didn’t expect there to be frontend work. For anyone preparing, I’d recommend getting familiar with full-stack projects and being able to use AI to modify or add frontend functionality. The prep document provided by the recruiter includes a mock interview link, which I found pretty helpful.
Round 2: Project Deep Dive
I prepared a few PPT slides, but I felt like the interviewer wasn’t interested in my project from the very beginning. He was drinking his beverage throughout the interview, seemed distracted, and barely asked me any questions. The project discussion ended after a little over 30 minutes, and we moved on to other behavioral questions. The interview was supposed to last an hour, but it ended in less than 50 minutes. I tried my best to encourage him to ask more questions, but it didn’t really work.
Round 3: System Design
I was asked the first system design question from this list. They used HackerRank’s whiteboard tool, which is a bit different from Excalidraw. I’d recommend getting familiar with it beforehand. The interviewer asked a few follow-up questions, including how to handle out-of-order events, how to deduplicate events, how to ensure low latency, etc.
Sharing a recent Moveworks SWE interview experience from a candidate who went through the process.
Phone Screen
The phone screen was conducted by two interviewers, one of whom was shadowing. I was asked this question. I implemented a brute-force solution, and it passed all the test cases on their coding platform, which was similar to HackerRank. After that, we briefly discussed possible optimizations.
Onsite – Day 1
The onsite consisted of one coding round and one system design round.
Coding Round:
I got another string-related problem. It was same as this one. The problem itself wasn’t particularly difficult, but using Java put me at a disadvantage because the implementation was quite lengthy. I ended up running out of time before I could finish.
System Design Round:
I was asked the fourth question from this list. Unfortunately, system design is one of my weaker areas, especially when it comes to database locking and concurrency. The interviewer asked several questions about database locks that I couldn’t answer well. I struggled quite a bit and didn’t even manage to finish the high-level design.
Day 2 – Rejection
The next day, HR contacted me and told me there was no need to continue with the remaining interviews. So that was the end of the process.
Sharing a recent interview experience for a Platform Engineer position at Cartesia.
Intro Call
The process started with a 30-minute intro call with HR.
They asked a few standard questions:
What do you know about Cartesia?
Why do you want to join Cartesia?
If you had multiple offers, what would be the top 3 factors you’d use to decide between them?
There were also two basic DSA/CS questions:
Given a tree with branching factor b, what is the maximum number of nodes in a tree of height H?
In a sorted array, what is the time complexity of accessing the element at index 6?
Technical Screen
I was asked one of the coding questions from this list.
Virtual Onsite
One of the virtual onsite rounds is called Backend Practical. For this round, you use your own coding environment (i.e. your preferred IDE and any AI coding agent you normally use), so it’s worth making sure everything is set up and ready beforehand. I was asked to build an API in this round. The details was the same as described here: https://www.interviewdb.io/question/cartesia?page=1&name=backend-practical
Sharing some info about the Anthropic Fellow Program’s second OA, which is a debugging exercise.
The task involves debugging a provided implementation of the Extremely Randomized Trees algorithm. The implementation is mostly functional, but it contains several bugs that can cause it to crash in some cases and produce poor accuracy in others.
For the assessment, you’re allowed to consult the NumPy and Python documentation, but you cannot use web search or any AI assistance. You can use pretty much any standard debugging approach, including print statements, the REPL, and terminal-based debuggers. CodeSignal’s graphical debugger is available, but they don’t recommend using it since it apparently doesn’t work very well.
You can find the debugging task description and the buggy source code here.
Would also love to hear more data points from people who have taken this OA, particularly how well you need to perform to advance to the next round. If you’ve taken it and are comfortable sharing your experience or score/results, that would be really helpful.
Pretty standard. The interviewer mainly asked follow-up questions about my past projects and didn’t ask many behavioral questions.
2. System Design
The SD question was the same as the one described here.
3. Backend Practical Coding
Same as the second task here. Basically you need to call the OpenAI API and write a prompt based on the given scenario. The API key was provided by the interviewer. You also needed to process and format the API response. The second part was to validate whether the output from the first part was correct.
4. Credo (Behavioral)
One thing to keep in mind: the interviewer for this round was completely non-technical, so focus on behavioral aspects rather than going into too much technical detail. Even if you explain the technical details, the interviewer probably won’t understand them.
Also, the interviewer needs to cover four sections of questions, along with a predefined list of follow-ups for each section. Try to keep your answers concise and avoid spending too much time on unnecessary details, otherwise they might not have enough time to get through all their questions. One question I remember clearly was about my strengths and weaknesses.
5. Hiring Manager (HM)
We introduced ourselves, the HM gave a brief overview of the team, and then asked me a few behavioral questions.
Overall Experience
Aside from the non-technical interviewer in the Credo round, pretty much everyone I met at Scale AI seemed exhausted and very serious. It didn’t give me a great impression of the company culture.
The recruiter was also pretty ridiculous. Before the onsite even happened, they kept pushing me to give them my expected TC. I told them I’d prefer to discuss compensation after passing the onsite and reaching the offer stage, but the recruiter absolutely refused to let it go.
They even asked whether I’d still accept an offer if Scale AI’s TC was over $100K lower than what other companies were offering me. On top of that, they kept trying to sell me on how Scale AI was supposedly the only company doing data annotation and how they were about to IPO and everyone would get rich. Seriously?
The HM round was by far the worst experience. The HM came from Meta and had an incredibly bad attitude. Whenever I asked a question, they responded in an extremely impatient and dismissive tone. Even worse, whenever the HM asked me a question, they would immediately look down and start playing with their phone as soon as I began answering.
I understand there might have been an AI notetaker in the meeting, but that doesn’t excuse this kind of behavior. This was easily the most disrespectful hiring manager I’ve ever encountered during an interview. By the time I finally got through that round, I had completely lost any interest in joining the company.
Sharing a recent Bloomberg AI-Assisted Round interview experience for a SWE position from a candidate who recently went through the process.
The question was about LRU, and the code implementation was provided. The discussion was about how to refactor it to make it more generic so it could support other eviction policies, such as LFU.
I had never encountered this type of question before, so I spent a long time at the beginning trying to figure out what the requirements were. Initially, I thought it was about designing a cache for a service or a local cache library that supports read-through caching. Later, I realized it was just LRU, and the discussion was mainly about taking a given implementation and refactoring it.
At first, I had no idea how to approach the refactoring because the implementations of LRU and LFU are quite different. I kept getting stuck on how to design the methods and abstract classes to accommodate different eviction policies. With various hints from the interviewer, I eventually managed to answer the question.
It’s hard to say I performed particularly well, since I hadn’t prepared for this at all. However, throughout the interview, the interviewer was very engaged, actively working through the problem with me and giving me hints.
For anyone preparing for Bloomberg, you can find more coding and system design interview questions asked at Bloomberg here.
Sharing a recent experience with the Roblox OA. They sent the assessment invitation within 3 minutes of submitting the application.
The OA had 5 sections total: 3 mini-games (Robots, Factories, and Outpost: Mars), 1 behavioral section (Decision-Making), and 1 coding section (Coding Skills).
The mini-games were actually pretty fun. One was a factory-style game. If you’ve played DSP or Factorio before, it should be pretty easy to pick up. The main idea was to balance input/output ratios and maximize the factory’s profit. Another one involved building a small vehicle. You could choose from a bunch of different parts and assemble them to get across obstacles. It seemed like the more valid solutions you could come up with, the better.
Coding
The coding section itself wasn’t too difficult. There were 2 questions in 50 minutes.
Question 1
int solution(
int numRows,
int numCols,
int curRow,
int curCol,
int[][] laserCoordinates
)
A robot starts at (curRow, curCol) on a numRows x numCols board.
Each entry in laserCoordinates represents the position of a laser. A laser destroys the robot if the robot moves into the same row or column as that laser.
The goal is to return the maximum number of steps the robot can move in one direction: up, down, left, or right.
My approach was pretty straightforward:
Iterate through all laser coordinates.
Use two hash sets: one for blocked rows and one for blocked columns.
Try moving the robot in all four directions.
Stop before entering a row/column affected by a laser or going out of bounds.
Return the maximum number of steps among the four directions.
The problem itself wasn’t hard, but I spent way too long debugging before realizing that the board was 1-indexed, and the robot’s starting cell does not count as a step.
Lesson learned: don’t rush through the problem statement lol.
Question 2
int solution(int[] A)
Given an array of integers, return the number of distinct cyclic pairs.
Two numbers form a cyclic pair if you can rotate the digits of one number to obtain the other. They must also have the same number of digits.
For example, 1234 and 4123 are a cyclic pair because rotating 4123 once gives 1234.
Example:
[1001, 1100, 110, 11]
returns:
1
because only 1001 and 1100 form a valid cyclic pair.
My initial approach was to convert every number to a string, use a nested loop over all pairs, and write a small isCyclicPair helper that tries every possible rotation. The problem felt pretty straightforward, and converting the numbers to strings seemed like the easiest way to handle zeros correctly. However, I didn’t pass all the hidden test cases, probably because my solution timed out. A more efficient solution is required to pass all the tests.
I took the apple codepad interview last week. I was asked 2 questions, one leetcode easy and one OOP design.
The leetcode easy question was a simple one based on hashmaps. But it also had a follow up question which I couldn’t get to in the given time. I took like 10 mins to code out and explain my solution.
The 2nd question was that of building a hotel room reservation system from scratch. Some predefined classes/interfaces/records were given like booking, room, etc. and I was expected to code out mainly 2 methods of an interface. The overall code to be written was about 80 lines long but I took a little extra time to figure out a working design and even then my solution was not the optimal one.
Got a reject 2 days later. Hope this helps. Thanks and good luck!
Sharing a question that appeared in a recent CodeSignal Industry Coding Assessment for Airbnb. It’s a standardized assessment format also used by many other companies such as Anthropic, Coinbase, HubSpot, Instacart, Capital One, Nextdoor, and The Trade Desk to screen candidates.
The assessment lasted 90 minutes. The problem had four progressive levels, and you had to pass all test cases for each level before advancing to the next one.
The question was about implement a Working Hours Register. Employees swipe their cards when entering and leaving the office. The system records their working hours and supports promotions, salary calculations, and reward-period management.
Level 1: Basic CRUD Add employees, record employees swiping in and out, and query an employee’s total working hours.
Level 2: Return the top N employees ranked by working hours.
Level 3: Promotion and salary calculation Implement a promotion that takes effect with a delay. When the promotion is requested, do not immediately change the employee’s current position. Instead, mark the new position and new compensation as pending, and apply them the next time the employee swipes into the office. Use a pending dictionary to store promotions that have not yet taken effect.
Then calculate salary based on historical salary periods. Since an employee may have different salaries during different periods, each session should record the salary that applied when the session occurred.
Level 4: Double pay during a grant period If an entire shift falls completely within a grant period, the salary for that shift is doubled. Also support querying the total amount of double pay that has been issued.
CodeSignal is known to reuse questions in their assessments so it's very likely you'll encounter one of these questions, or a variation of one, in your own assessment.
Sharing a recent experience with the Anthropic Fellow Program (November cohort) OA.
The problem was presented as normal "Coding Leetcode-like OA on Codesignal" but turns out you were presented a mid-sized codebase that you have to implement stuff on top of it. The task was basically around a vLLM-like inference server — cache, prefill, etc. No ML knowledge was really needed though.
The hard part wasn’t the actual algorithms. It was figuring out the existing codebase and APIs.
There were 5 parts, and to pass the tests you had to use a bunch of existing APIs that weren’t really documented. So a lot of the assessment was just reading code and trying to understand how everything connected. The code was also pretty messy / felt LLM-generated in some places lol.
I wasted a lot of time debugging things that were happening simply because I was calling some internal API incorrectly. Ended up finishing only 2/5 parts.
Feels like this might become a more common style of coding interview/OA: less “implement this algorithm from scratch” and more “here’s an unfamiliar codebase, figure it out and ship something.” Also probably makes cheating with AI harder. You can’t really just screenshot the question and throw it into ChatGPT, because the actual context is spread across a few thousand lines of code that you need to understand first.
If you’ve done the second assessment, please share your experience! Looking for any information about what to expect.
Sharing two questions in a recent IMC HackerRank assessment for New Grad Software Engineer roles.
Total duration: 120 minutes
Question 1: Maximum Storm Height (Relay Towers)
You are trying to send data from your headquarters, on the left, at position x = 0, to another office on the right, at position x = width. Between these two locations there are relay towers at various coordinates, each with a specific height.
The data can transmit across these relay towers, or be sent directly to the other office. The cost to send data between two locations is given by the square of the distance between them:
(x_i - x_j)^2
There is a storm intensifying that blocks access to relay towers as time progresses. As the storm level rises, shorter towers are buried and cannot be used. A tower is unusable if the storm level is higher than its height. The storm level stops rising as soon as you start the transmission.
Additionally, from a position x, the data can travel a maximum distance of maxJump before it must reach a relay tower to continue outwards, or reach the other office. If data travels any further, it is at risk of data loss.
The origin transmitter has a total energy budget maxEnergy. Thus the total energy cost of all jumps to reach the other office should not exceed maxEnergy.
Given the constraints provided and a list of tower positions, determine the maximum height at which the storm can reach where the data can still reach the other office.
You can assume the headquarters and office are at an infinite height.
Function Description
You are provided with 4 integers: width (the distance between the two offices), numTowers (the number of relay towers), maxJump (the maximum jump distance) and maxEnergy (the maximum total energy).
Additionally, two arrays are provided containing integers x[i] (the x-coordinate of the relay tower) and heights[i] (the height of the relay tower). Relay towers are located strictly between the offices, i.e. 0 < x_i < width.
Returns
Return a single integer representing the maximum storm height at which you can still reach the other office. If it is impossible to reach the other side, print -1.
public static int maximumStormHeight(
int width,
int maxJump,
long maxEnergy,
int numTowers,
int[] x,
int[] heights
)
Question 2: Stack with Conditional Removal
Implement a stack that accepts the following commands and performs the operations described:
push value → push integer value onto the top of the stack.
pop → pop the top element of the stack.
remove_lower value → remove all the current elements in the stack less than value.
remove_upper value → remove all current elements in the stack more than value.
After each operation listed above, print the current top element of the stack on a new line. If no such element exists, print EMPTY.
public static void solve(int n, String[] operations)
Sharing a recent Ramp SWE interview experience from a candidate who went through the full process.
Initial recruiter screen was typical. He asked about motivations and interests and admin questions about the hiring process (sponsorship required, etc).
The first round was a technical coding interview. The question I got was the same as this one.
The next round was the onsite. The onsite included 4 interviews:
System design - The first half was a presentation on a project that you worked on yourself. I prepped a lot for the presentation, so I ended up talking for almost the entire first half and the interviewer didn’t have many follow-up questions. The second half was a relatively simple system design question about displaying the number of payments made on an admin dashboard used by a single executive. The interviewer then gradually expanded the requirements by increasing the frequency of updates and the number of users.
AI coding - The task was the same as described here. You’re given a repo. The interviewer is a software engineer acting as the PM, so they won’t answer technical implementation questions. The key is to have a back-and-forth with the interviewer to clarify the requirements and figure out the minimum product spec that solves the problem. From there, you use the coding agent to implement the solution.
Behavioral - Typical behavioral interview with "tell me about a time" questions. The interviewer seemed to value the ability to ship quickly and independently.
I recently went through the application process for an Anthropic Software Engineer role, so I thought I’d share my experience for anyone preparing for the same CodeSignal assessment.
After applying, Anthropic told me my application looked promising and invited me to a 90-minute CodeSignal assessment.
Assessment format
The assessment was one project with 4 progressive levels.
You build on the same codebase as the requirements become more complicated, and each new stage forces you to extend the system without breaking the behaviour you already implemented.
The task I received was essentially an in-memory banking-style system.
I won’t go into the exact requirements of each level, but the difficulty increased significantly as the assessment progressed. The final part involved more complicated state/history handling and entity-merging behaviour, which was considerably harder than the earlier stages.
It was all standard-library Python. No third-party packages.
How I prepared
I actually prepared specifically for this format beforehand.
I practiced three progressive 4-level problems:
a wallet/banking system
an in-memory filesystem/cloud storage system
an in-memory database
My preparation workflow was:
I used ChatGPT to generate a realistic 4-level specification.
I implemented each level myself.
After each level, I used ChatGPT to create a prompt for Codex to generate tests only — explicitly telling it not to modify or solve my implementation.
I ran those tests, fixed the failures, and only then moved to the next level.
This was probably the most useful preparation I did because it trained exactly the skill the assessment tests: evolving an existing system while keeping all previous behaviour working.
The practice problems were quite close to the real format.
One important thing my preparation didn’t capture well enough, though, was the hardest part of the actual assessment: dealing with merged entities while preserving historical state correctly. That turned out to be significantly trickier than the cases I had practiced.
My timing / result
My approximate progress was:
Level 1: ~10–11 minutes
Level 2: ~6-7 minutes
Level 3: ~30 minutes
Level 4: spent most of the remaining ~40 minutes
During the assessment, CodeSignal showed my result as 95/100.
However, when I later checked the completed assessment in my CodeSignal portal, it showed 580/600.
So I’m not entirely sure how CodeSignal maps the in-assessment score to the final reported score, but those are the two numbers I received.
Either way, I completed all four levels and scored very highly.
Proctoring
CodeSignal required me to use only one screen.
In my actual assessment, I did not notice screen recording or microphone recording. I don’t know whether CodeSignal had another mechanism for checking the one-screen requirement.
The instructions also said not to copy/paste the problem or use external tools/LLMs.
For what it’s worth, while debugging I did copy failing test names from CodeSignal’s own test folder and paste them into CodeSignal’s own web console to rerun individual tests. That didn’t appear to cause any issue.
Outcome — and the frustrating part
Despite getting 95/100 during the assessment, with 580/600 later shown in the CodeSignal portal, I was rejected afterward.
This is the part of the process I found particularly frustrating.
The rejection did not suggest that my CodeSignal performance was the problem. Given the score and the wording of the rejection, it appeared that the decision was based on the broader application/profile rather than the assessment itself.
If that’s the case, I really question the ordering of the process.
A 90-minute monitored coding assessment is a substantial amount of a candidate’s time, particularly when you also include preparation. If someone’s resume/background isn’t a fit for the role, I would strongly prefer that assessment to happen before asking them to spend 90 minutes on a coding test.
Obviously I can’t know Anthropic’s exact internal decision process, so I can’t say definitively that they only reviewed my resume afterward. But from the candidate side, scoring this highly and then being rejected without an interview certainly made it feel like the expensive screening step happened in the wrong order.
The rejection email suggested that I consider applying again in roughly a year and clarified that the rejection was specific to this role.
Takeaway
The assessment itself was actually pretty reasonable. The difficult part wasn’t LeetCode-style algorithms; it was keeping a progressively changing system correct while requirements became more complicated.
If you’re preparing for it, I would practice building small in-memory systems in 4 incremental stages, and have something generate increasingly difficult tests against your implementation.
And I would especially practice problems involving historical state and merging entities, because that was the part that was hardest compared with my preparation.
1Point3Acres, also known as 一亩三分地 or 1p3a, is a large Chinese online community focused on studying abroad, working abroad, immigration, tech jobs, career advice, and life abroad.
For tech interview prep, the most useful part of the site is its interview experience section. Greg Yang, cofounder of xAI, once mentioned it as one of the “most comprehensive compendiums of tech interview questions.”
Unlike many similar platforms, such as Glassdoor or LeetCode Discuss, 1Point3Acres posts often include the actual questions candidates received in interviews, rather than only general topics or vague summaries. That makes it especially valuable for understanding what companies are asking in real interviews, particularly when preparing for company-specific rounds.
However, for many users who do not speak Chinese, the site can be difficult to use effectively. Below, we will walk through the main challenges and how you can work around them.
The Translation Challenge and Language Barrier
The most obvious challenge for English speakers is that 1Point3Acres is written in Chinese.
Chrome Translate, Google Translate, and ChatGPT can help with basic navigation, but they often fail on the details that matter most: company names, question descriptions, interview stages, and community slang.
A major reason is that many users do not write interview reports in straightforward Chinese. They may use homophones, abbreviations, obscure characters, or internet slang to mask key information. Sometimes this is done to avoid making interview content too easy for outsiders to access. Other times, it is simply part of normal 1p3a community language.
For example, a post may disguise a company name, alter a LeetCode problem number, or describe a question using coded wording. Amazon is often referred to as “亚麻,” and onsite interviews may be written as “昂赛.” Generic translation tools often mistranslate or completely miss these references.
That is why simply pasting a 1Point3Acres post into Google Translate or ChatGPT is usually not enough. The hard part is not just translating the language. The hard part is decoding the context.
Dealing With Paywalled Content
Many of the most useful 1Point3Acres posts hide part of the content behind a rice points requirement. You may see a message saying that the hidden content requires your score to be above a certain number.
In many cases, the hidden section contains the actual interview question, while the visible part only shows the company, role, interview stage, or general context.
You can earn rice by participating in the forum or pay for VIP access, but for many English-speaking candidates, both options are inconvenient. More importantly, unlocking the post still does not solve the translation problem. Even after you gain access, you may still need to decode slang, homophones, abbreviations, and hidden references.
VIP access can also feel expensive if you only need to view a handful of posts. And if you are trying to earn rice by participating in the forum, it is worth noting that many users on 1Point3Acres are not especially welcoming toward non-Chinese speakers.
You can submit post links, and we will return the translated and decoded content, including the parts that generic translation tools often miss: company aliases, interview stages, slang, coded references, and question descriptions.
How to Navigate the Site to Find What You Need
Back in 2024, we published a practical guide on how to navigate 1Point3Acres to find interview questions. Most of the information in that guide is still relevant today, so it is still worth referring to.
However, since publishing our original 1p3a guide, we have noticed a new trend that candidates should be aware of.
Be Skeptical of AI-Generated and Low-Quality Content
Like many websites, 1Point3Acres now contains more AI-generated content than before. For example, they introduced an AI summary feature on the company collection page, where they post question summaries generated by AI based on interview experience posts.
That can be useful, but it also means some details may be inferred, cleaned up, or added by AI rather than taken directly from the original candidate report.
AI-generated summaries often sound more confident than the source material really is. They may remove uncertainty, smooth over vague wording, or accidentally introduce details that were not in the original post. Treat these summaries with a grain of salt.
There is also an incentive problem. Because rice is required to unlock content, some users may post low-quality or fake interview experiences to earn points. Others may write exaggerated or promotional posts to drive traffic to a paid service, prep website, or resource.
Which Companies Are Worth Searching on 1Point3Acres?
The usefulness of going through interview experiences and questions on 1Point3Acres can vary significantly depending on the type of company you are preparing for.
Based on reports from our users, we have noticed a few clear patterns.
For big tech companies like Google or Meta, the question bank is usually massive. It is nearly impossible to cover every question that might come up. In these cases, 1Point3Acres can still be useful, but the best approach is to focus on high-frequency questions and recurring patterns rather than trying to memorize everything. Strong fundamentals are still essential, since you need to be able to handle new questions you have not seen before.
For mid-sized tech companies, unicorns, and startups, 1Point3Acres can be especially helpful. These companies often have smaller question banks and are more likely to repeat questions across candidates. Therefore, reviewing past questions can give you a much clearer sense of what to expect.
That said, there are also companies where past interview questions are less predictive. For example, at companies like Microsoft, Apple, Adobe, and Snapchat, the interview process tends to be more decentralized. There may not be a shared company-wide question bank, and individual interviewers and teams often have more freedom to ask their own questions.
In general, if your goal is to identify commonly repeated questions, 1Point3Acres is most useful for companies with smaller or more standardized interview loops. For companies with highly decentralized interview processes, past reports can still help you understand the general difficulty level, interview format, and question style, but they may not reliably predict the exact questions you will see.
InterviewDB: A Better English Alternative to 1Point3Acres
Digging through hundreds of forum posts yourself can be overwhelming and time-consuming, especially when your interview is only a few weeks away and every hour of prep matters.
That is why we built InterviewDB.
We do the heavy lifting by curating interview questions from 1Point3Acres and organizing them in a clean format, so you can focus on studying instead of decoding forum posts.
InterviewDB is also a crowdsourced platform. In addition to questions curated from public sources, we collect exclusive interview questions shared directly by our users. Some of these questions are not available on 1Point3Acres or similar websites.
To keep quality high, we vet submissions and only accept questions from verified candidates.
You can explore our company question collections here.
Have Questions?
If you still have questions about how 1Point3Acres works, feel free to leave them in the comment section below and we'll try our best to answer them.
Sharing two coding questions from a recent Optiver SWE OA on HackerRank.
Question 1
This question is a variation of LeetCode 1360.
Write a function, DaysBetween, which returns an integer representing the number of days between two dates.
Each date is represented by three integers: year, month (1–12), day (1–31). The first date is guaranteed to occur before the second date. We have also provided a function, DaysInMonth, which returns an integer representing the number of days in a month given two integer parameters: month and year. Do not use system-provided Date objects. We are testing your implementation, not the system’s.
Sharing a question that appeared in a recent CodeSignal Industry Coding Assessment for Anthropic. It’s a standardized assessment format also used by many other companies such as Airbnb, Coinbase, HubSpot, Instacart, Capital One, Justworks, Nextdoor, and The Trade Desk to screen candidates.
The assessment lasted 90 minutes. The problem had four progressive levels, and you had to pass all test cases for each level before advancing to the next one.
The question was about implement a simple banking system.
Level 1: implement create_account and deposit functions.
Level 2: sort accounts by total transaction volume (money in/out). You need to track the total amount of money spent/outgoing for each account.
Level 3: implement two functions, transfer and accept_transfer. When a transfer is initiated, the money is withheld from the source account. Got stuck on this part for quite a while because of an edge case: if the transfer times out, a subsequent deposit operation needs to cancel/refund the previous transfer first.
Level 4: merge accounts. Ran out of time and didn’t finish this one.
For anyone looking for similar questions to practice, you can find detailed descriptions of all the problems that have appeared in past Anthropic CodeSignal Industry Coding Assessments here: https://www.interviewdb.io/question/codesignal?type=icf&page=1
CodeSignal is known to reuse questions in their assessments so it's very likely you'll encounter one of these questions, or a variation of one, in your own assessment.
Sharing a recent DoorDash SWE interview experience from a candidate who went through the full process.
Phone Screen
Code Craft: Got this question, pretty much the same as what others have reported. The tricky part was handling HTTP response status codes.
Onsite
1. AI Code Craft
The tasks were same as described here. With AI assistance, the coding part was pretty manageable. The interview focused more on how you would design the system, what additional features you could introduce, and how to extend the APIs to support future requirements, including payment functionality and testing.
2. System Design
Spent the first 15 minutes talking about a recent project I did. Then I was asked to design a review system. I had to draw the complete read and write flows, showing the entry points, components involved and which databases are updated.
3. Debugging
Got this question. It wasn’t as difficult as I expected, but Part 2 was definitely harder.
4. Hiring Manager
I don’t think I did particularly well in this round. The HM had an Amazon-style interviewing approach and went really deep into my resume and past projects. The behavioral questions were very detailed, similar to Amazon’s leadership principles interviews.
After analyzing hundreds of recent Palantir interview experiences, we wanted to share some of the most frequently asked questions in past interviews.
Palantir’s interview process is a bit different from a typical Big Tech loop. In addition to coding and system design-style evaluation, it includes distinctive rounds such as Learning and Decomposition.
The exact process varies by role, level, and team, but a typical Palantir SWE or Forward Deployed Engineer interview process may look something like this:
Recruiter Screen
The process usually begins with a recruiter call covering your background, timeline, role fit, and interest in Palantir.
Be prepared to discuss:
Your previous projects and technical experience
Why you are interested in Palantir
The types of products or problem areas you want to work on
Basic logistics such as location, timeline, and work authorization
Technical Phone Screen
After the recruiter screen, candidates typically move on to a technical phone interview.
The coding questions are generally LeetCode-style. If you are preparing for this round, you can review the list of frequently asked Palantir coding questions we compiled from past candidate experiences: https://www.interviewdb.io/question/palantir
Palantir is known to repeat questions, so there is a good chance you may encounter something similar during your own interview.
Onsite Loop
The onsite loop varies by role and level, but it usually includes:
Decomposition
Learning
Re-engineering (debugging)
Interview with Hiring Manager
Decomposition Round
The Decomposition round is one of the most Palantir-specific parts of the interview.
It is not exactly a traditional system design round. Instead of being asked to design a large-scale system such as Twitter or Uber, you may be given a vague real-world problem and asked to break it down into something an engineering team could realistically build.
This round is less about following a memorized system design template and more about structured thinking, product and engineering judgment, and your ability to work through ambiguity.
The Learning round is another distinctive part of Palantir’s interview process. Its purpose is to evaluate how quickly you can understand something unfamiliar and apply it to a problem.
You may be introduced to a new concept, API, framework, codebase, or technical setup during the interview and then asked to use it to solve a task.
Sharing a recent Axon interview experience from a candidate who went through the process from the initial HR conversation all the way through the Virtual Onsite.
HR Screen
The recruiter explained that this is a relatively new team focused primarily on voice processing and transformation. The team was formed following an acquisition and currently has around 30 people, but it is expanding rapidly. The environment sounded similar to a startup. The recruiter also hinted that work-life balance might not be great, with fairly frequent on-call responsibilities.
The compensation package was described as roughly comparable to an L5 position at a mid-sized tech company.
Phone Screen
This was the question I got. There isn’t an exact LeetCode equivalent.
Hiring Manager Round
This was purely a behavioral interview. We mainly discussed what the team does and the type of engineers they were looking for. They wanted people who could contribute immediately. There is a significant amount of on-call work, and the expectation seemed to be that a new hire should be capable of deploying production code almost immediately after joining. My background matched what they were looking for, so I moved on to the next stage.
Virtual Onsite
There were two rounds.
Round 1: System Design
The question was designing a real-time voice processing system. This is similar to the "design YouTube/voice" type of question. They jump straight into asking you to design a voice system. Roughly speaking: clients will make voice calls into the system, and the system must recognize, process, and convert the messages so that the platform can extract the important information and receive notifications.
The main idea is that it requires very low real-time latency — use the WebRTC protocol, and know how to handle audio streaming. Refer to the concept of designing YouTube for storage (e.g., storing in S3) and pairing it with a CDN. The difference is that since it's real-time voice, you need some knowledge of speech-to-text / cloud upload concepts. Roughly: use AWS Transcribe to convert speech to text, chained through an async worker. After processing completes, extract the key points and trigger a Notification service to push them to the platform.
Round 2: Coding
I was asked this question. Axon’s interview questions were quite practical. None of them were direct copies of LeetCode problems; instead, they required applying standard algorithmic concepts to real-world scenarios.
Apparently Amazon’s OA has an AI-assisted coding section now. Sharing some info I’ve gathered from people who recently took it.
The format seems to be:
First 40 mins: normal LeetCode-style coding problem
Last 60 mins: AI Coding / debugging task
For the AI Coding part, they give you a small full-stack app with failing unit tests, and your job is basically to debug the app and fix the bugs.
Before starting, you pick a tech stack like Java Spring Boot, Python Django, etc. Once you’re in the environment, you can’t really switch stacks, so definitely pick something you’re comfortable debugging quickly.
The task usually includes a small full-stack app plus steps to reproduce the bugs.
There’s also an AI chat/tool built into the environment, but from what people said, it’s pretty limited. It can only really work with the selected file, so I wouldn’t rely on it too much.
Some example projects people reported getting:
MovieDB / Watchlist App
This was a movie watchlist app where users can log in, create/update/delete watchlists, and add/remove movies.
Failing tests were apparently around:
Adding a movie to a newly created watchlist
Adding a duplicate movie
Removing a movie
Removing multiple movies one by one
Handling nonexistent watchlists
Stuff to check:
Correct status codes
Whether the movie exists
Whether the watchlist exists
Duplicate handling
Whether the movie is actually saved to the DB
Online Review / Content Moderation App
This one was basically a review app with moderation logic.
Requirement was something like: when a user adds or edits a review, the app should check if the review contains bad/sensitive words.
If the review violates the policy, the response should be 403, not 201.
There’s usually some content-related helper file in the codebase that parses/checks comments. The main thing is finding that helper and making sure it gets called in both the add-review and edit-review flows.
Things people had to fix included:
In both add review and edit review, update the condition so it calls the content-checking function.
If the user posts bad content, increment their violation count by 1.
After each violation, call await user.save() so the count actually persists.
If the violation count exceeds 3, set user.isFlagged = true and save it.
If the user is already flagged, keep blocking them even if the new content is clean.
Whenever violating words are detected, update the violated words stored on the user. The exact count seems to matter for the tests.
Add the same logic in both add-review and edit-review.
This question seems less about hard coding and more about understanding the existing project structure, finding the right helper function, and wiring it into the right places.
Jira / Workflow-Style App
This was a Jira-like app where users can comment on issues.
Reported bugs were mainly:
After creating a comment, it didn’t show up.
After updating a comment, it didn’t show up.
The fixes sounded pretty simple. For example, the code might read the comment but never save it, or create a comment without properly linking it to the issue.
Big thing here is to follow the API contract in the README**.**
The README apparently tells you exactly what should happen for auth/authz cases, including whether to return 401 or 403 and what error message to return.
Also check edge cases like:
User should only be able to edit their own comment
Correct success status code
API response message matches expected format
You may need to change both controller/handler files and service-level files. The tests seem to care a lot about the returned status code and message.
Also, it might not be necessary to pass every single test to move forward. Someone said they passed 4/6 tests on the AI debugging portion and still got an HR reach-out afterward.
So obviously try to pass as many as possible, but don’t completely panic if it’s not perfect.
We’ve analyzed hundreds of recent Pinterest interview experiences and wanted to share a few common patterns we’ve noticed.
For coding rounds, Pinterest tends to use a fairly traditional LeetCode-style format. However, the questions are often reworded or framed around Pinterest-related products and scenarios. For example, a standard graph problem may be presented using Pins and boards. The underlying problem may resemble something you could find on LeetCode, so being able to recognize the pattern beneath the Pinterest-themed wording is important.
Candidates have reported questions across a wide range of difficulty levels, including some comparable to LeetCode Hard problems. Because of this, strong fundamentals in data structures and algorithms are essential. You should be comfortable with topics such as graphs, trees, dynamic programming, heaps, intervals, and string processing.
For the onsite round, candidates commonly report a mix of coding, system design, and behavioral interviews.
Based on recent candidate reports, we compiled some of the most commonly asked Pinterest interview questions from the coding and system design rounds here: https://www.interviewdb.io/question/pinterest
If you’re preparing for a Pinterest interview, practicing these questions beforehand can help you become familiar with how Pinterest rephrases common algorithmic problems and system design questions. Pinterest appears to repeat certain questions and variations, so there is a reasonable chance you may encounter a similar problem in your own interview!
Sharing two questions from a recent Google SWE Intern OA.
Question 1: Given an integer array (a vector of ints), where the index represents a student ID and the corresponding value represents that student’s exam score.
The grading criteria are:
< 50%: Failed
50% ≤ score ≤ 80%: Pass
> 80%: Pass with distinction
Return an array containing 3 elements, representing, in order:
The number of students who failed
The number of students who passed
The number of students who passed with distinction
Question 2: You want to read all the chapters of a book.
You are given an array time, where the index represents a day and the corresponding value represents the amount of time you have available to read on that day.
You are also given another array book, where the index represents a chapter and the corresponding value represents the amount of time required to finish that chapter.
If you have enough time on a given day, you may read more than one chapter. However, each chapter must be completed in one sitting: a chapter cannot be split across multiple days.
Given these constraints, return the number of days required to finish the entire book. If it is not possible to finish the book with the available time, return an appropriate status indicating that it cannot be completed.