Palantir Final Round Interview Experience
Tips and tricks to pass the Palantir Final round experience
Overview
I took a Palantir interview in about 2022, when the job market was still relatively hot before the mass layoffs. B/c a lot of people ask me, I thought I would write about what is the Palantir interview like.
I thought to help prepare people for what to expect this is an article on it. Honestly, Palantir interview is very fun and more focused on practical. I won’t be talking about the technical phone screening as it has changed since I’ve done it.
This is focused on Palantir New Grad interview. Their current interview for 2024 seems to still be primarily the same structure from what I heard.
Leetcode + Discussion
Technical Debugging
High Level Design
Hiring Manager
Leetcode + Discussion
This is just pretty standard. We did a leetcode question, I solved it quite easily. Was about a normal medium Leetcode. Nothing special here that I remember. The more fun part was the discussion afterwards.
So basically here, it really helps to have a story to connect with the interviewer. So I talked to him about how I used Vue to build a web app ontop of a Google sheet as a database, since I needed to migrate an app for my school from a local PC to the computer - with a zero dollar budget.
So thus, with zero dollars, hosting a static website against a light backend to Google sheet was our best bet. And I discussed a lot of the different challenges, heart beat monitoring, what it was like to lead students with no experiencing, difficulties and pitfall, and was just a great discussion.
Funnily enough, the interviewer also used to do hacky things like this too, so was a fun thing.
Technical Debugging
So here they give you about maybe like 40 - 50 lines of code and asks you to debug it. They walked me through the high level of what the code was doing, pointing out to me the code.
Essentially was a bunch of promises making requests to a database to see whether or not a file exists. But maybe one of the threads finish early, resolving into an array of <Pending>, <Completed>, <Failed> states, how do I stop the rest of the threads from just continuing if it already finds what we were looking for.
Lots of ways to go about this, I didn’t actually know how to make a Python thread, I forgot if it was provided to me, or I pseudocode it, but it was pretty easy explanation.
High Level Discussion
So the question was basically about how to design a system to let a bunch of people sign up for classes. At first I talked about the frontend design / stuff, then realized, oh they want the backend / database schema.
So the tips I have here is to just walk through the interaction on both sides and work from there:
What does the professor need to do
What does the student need to do
And from there, I designed out the database, introduced some edge cases such as maybe do we need to limit students depending on classroom size, what happens if there is no class room size available for that class? so on. But I leave some of these till the end, and then resolve them once a base design is done.
Hiring Manager
The hiring manager was super interesting.. he actually read through my Linkedin and public socials such as my blog. But this was super fun, talked about my background, history, and then we talked about how I would help track diseases spreading through a region.
So we talked about different solutions, such as if we have a database for the diseases, weather region, historical data, live data, reporting information so on.