I interviewed for a new grad Software Engineer position at Palantir in Palo Alto, California in May . The interview process consisted of a phone screen and an onsite interview.
The phone screen was 45 minutes long and included a product introduction, self-introduction, and a coding question on merge intervals.
The onsite interview consisted of three rounds. The first round involved a card game simulation. The problem involved a deck of cards and several players. Each round, the player with the highest first card wins and collects cards from the other players. If there is a tie, the fifth card is used to determine the winner. I was asked to write code to simulate this game.
The second round focused on a distributed tiny URL system. We discussed sharding and availability problems.
The third round involved a resource access control problem. Resources were represented as a tree structure. The problem involved implementing two APIs: revoke(resourceId) and grant(resourceId). When a resource is revoked or granted, all of its child resources are also revoked or granted. I was asked to implement the hasAccess(resourceId) function.
During the breaks, I had a nice product introduction. I recommend preparing your project experience for this interview.