Palantir

Palantir Software Engineer Phone Screen Questions

11+ questions from real Palantir Software Engineer Phone Screen rounds, reported by candidates who interviewed there.

11
Questions
6
Topic Areas
10+
Sources

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

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...

Hi, I have a Palantir phone screen scheduled for next week. What should I expect during this step? Also, how many rounds are there in total at Palantir, and what types of questions do they usually ask

Palantir - NYC REJECT

System Design 2024

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...

Has anyone had this interview? My interviewer said it will be 30 minutes so I'm assuming it'll be one LC problem but if anyone has any insight I would appreciate it! ​ Thank you

I had a phone screen with palantir on Aug 18, it went well and he said he'd follow up in 3-5 business days. I followed up and sent an email after 10 days (August 28) but still haven't heard back... Is

## 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 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?

## 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

See All 11 Questions from This Round

Full question text, answer context, and frequency data for subscribers.

Get Access