Palantir Software Engineer Phone Screen Questions
8+ questions from real Palantir Software Engineer Phone Screen rounds, reported by candidates who interviewed there.
What does the Palantir Phone Screen round test?
The Palantir phone screen typically lasts 45-60 minutes and evaluates core Software Engineer fundamentals. Candidates should expect 1-2 algorithmic problems, basic system design discussion at senior levels, and questions about relevant experience. The goal is to confirm technical competence before bringing candidates onsite.
Top Topics in This Round
Palantir Software Engineer Phone Screen Questions
Palantir - NYC REJECT
Phone Screen Same question as this https://leetcode.com/discuss/interview-question/4866657/2024-03-Palantir-Tech-Screening Proposed 2 pointer approach, follow up question was for if the query has multiple words, how would u do it. I told some...
Palantir | SWE Intern | London | May 2018
Current Status: Undergraduate Student, Bachelor\'s in Computer Science and Engineering. Postion: Software Engineering Intern @ Palantir, London. Location: London, UK. I came to know about the opening from their careers page and applied...
## Problem Compress a string using run-length encoding but only when it reduces length, applying conditions for when to compress. ## Likely LeetCode equivalent Similar to String Compression (LC 443). ## Tags strings, two_pointers, palantir
## Problem Normalize email addresses by removing dots, plus-suffixes, or lowercasing to find duplicate accounts. ## Likely LeetCode equivalent Similar to Unique Email Addresses (LC 929). ## Tags strings, hash_table, palantir
## Problem Merge or query overlapping intervals representing planetary orbits or time windows. ## Likely LeetCode equivalent Similar to Merge Intervals (LC 56) or Insert Interval (LC 57). ## Tags sorting, arrays, palantir, intervals
## Problem You are building the content feed for a swipe-based app. Each user has a set of `seen_ids` (profiles already swiped) and a preference vector. Given a pool of candidate profiles with feature vectors, return the top `k` unseen candidates ranked by cosine similarity to the user's preference vector. Exclude already-seen profiles. ```python def recommend( user_pref: list[float], candidates: dict[str, list[float]], # id -> feature vector seen_ids: set[str], k: int ) -> list[str]: pass ``` ## Example ``` user_pref = [1.0, 0.0, 1.0] candidates = { "p1": [1.0, 0.0, 1.0], "p2": [0.0, 1.0, 0.0], "p3": [0.8, 0.1, 0.9], "p4": [1.0, 0.0, 0.5], } seen_ids = {"p2"} k = 2 Output: ["p1", "p3"] # cosine sim: p1=1.0, p3=~0.99, p4=~0.95; p2 excluded ``` ## Follow-ups 1. Cosine similarity is O(d) per candidate — how do you scale to millions of profiles? 2. How would you incorporate mutual-match signals (both users swiped right) into ranking? 3. How do you prevent a popularity bias where the same top profiles dominate all feeds?
## Problem Find the shortest distance between two given words in a text document, or match words within a distance threshold. ## Likely LeetCode equivalent Similar to Shortest Word Distance (LC 243). ## Tags strings, arrays, palantir
## Problem You have a table of web events: `(user_id, page_url, event_type, timestamp)`. A **session** is a sequence of events from the same user where no two consecutive events are more than 30 minutes apart. Compute: 1. Total sessions per user 2. Average session duration per user 3. Most visited page per session ```sql -- events table: user_id VARCHAR, page_url VARCHAR, event_type VARCHAR, ts TIMESTAMP -- Step 1: identify session boundaries SELECT user_id, ts, CASE WHEN ts - LAG(ts) OVER (PARTITION BY user_id ORDER BY ts) > INTERVAL '30 minutes' THEN 1 ELSE 0 END AS is_new_session FROM events; ``` ## Example ``` user_id | page_url | ts alice | /home | 10:00 alice | /shop | 10:15 <- same session (15 min gap) alice | /home | 11:00 <- new session (45 min gap) bob | /about | 10:05 Sessions: alice -> 2, bob -> 1 Alice session 1 duration: 15 min; session 2: 0 min ``` ## Follow-ups 1. How does this query change in a columnar store like BigQuery vs. a row store like Postgres? 2. How would you define and detect bot sessions? 3. If the events table has 10 billion rows, how do you run this efficiently?
What to Expect in the Palantir Phone Screen Round
The Palantir Software Engineer Phone Screen round has a specific calibration purpose distinct from other rounds in the loop. Across 8+ verified reports on LeakCode for this exact round type, the consistent expectations: clear scoping of the problem before diving into a solution, explicit reasoning about complexity, structured handling of edge cases, and the ability to discuss trade-offs between two reasonable approaches.
Reports tagged with the Phone Screen round at Palantir show recurring patterns in difficulty and topic distribution. The Phone Screen round is typically 45-60 minutes; the interviewer is calibrated against a specific rubric. The discriminator between candidates who advance and candidates who do not is rarely the final correctness of the answer. It is the path: did you clarify, did you verbalize your approach, did you handle edge cases, and did you communicate throughout.
How To Prepare for This Specific Round
Filter the questions below to the most recent reports (past 6-12 months). Questions tagged for this exact round type from this exact company at this exact role level are the highest-signal data available. Older reports may reference questions that have since rotated out of the company's pool.
Practice 4-6 representative problems from this set under timed conditions. The goal is not memorization (companies rotate questions); the goal is to internalize the patterns the interviewer typically reaches for and the depth of follow-up to expect. Reports on LeakCode also tag the typical follow-up depth at this round type, which is the discriminating signal between hire and no-hire calibration.
Phone Screen Round Timing and Format
The Phone Screen round at Palantir typically runs 45-60 minutes. Use the first 2-3 minutes to clarify requirements; you should never start coding or designing without verifying the input/output format, constraints, and edge cases out loud. Use the next 5-7 minutes to verbalize your approach before writing any code. The middle 20-30 minutes are implementation. Reserve the final 10 minutes for testing with concrete examples and discussing optimization or trade-offs.
Time budget discipline is one of the most reliable senior-vs-junior discriminators in this round. Strong candidates verbalize where they are in their budget out loud ("I've used about 20 minutes, I have 15 minutes left for testing and one optimization"). This signals engineering maturity to the interviewer and creates positive feedback they can capture in writing.
Common Failure Modes in This Round
Reports tagged "no hire" at Palantir Software Engineer Phone Screen commonly cite: coding silently without verbalizing approach, jumping to implementation before clarifying requirements, missing edge cases (empty input, single element, very large input), producing working code that the candidate cannot refactor when asked, and failing to test their solution with concrete examples before declaring done.
The single most predictive failure mode in 2025-2026 reports: not asking clarifying questions. Interviewers at all FAANG companies are explicitly trained to weight this dimension. Strong candidates ask 3-5 clarifying questions even on problems that look obvious; weak candidates dive into code immediately. The clarifying-question check is often the first signal recorded in the interviewer's notes.
See All 8 Questions from This Round
Full question text, answer context, and frequency data for subscribers.
Get Access