Perplexity Software Engineer Interview Questions
17+ questions from real Perplexity Software Engineer interviews, reported by candidates.
Round Types
Top Topics
Questions
Perplexity Staff SWE Tech Phone Screen Interview Experience
It's not easy for older programmers to find jobs again; they're waiting for the results. Please send blessings and add rice (a Chinese internet slang term for virtual currency) Position: Staff SWE Rou
Given a string and a list of stop words, return the string up to the first stop word. What if the input string is a stream? The entire string cannot be loaded into memory.
Perplexity Embedding Model Server Technical Phone Screen
The topic is Embedding Model Server. The following content requires a score higher than 189. You can already view it. Provide an Embedding Model class. You need to implement a service to use this mode
The Challenge You need to build a task management system for AI agents. The system handles tasks that have different states (like `READY` or `BLOCKED`) and dependencies (some tasks wait for others)
Problem Statement You have a stream of strings (text) that arrive one by one. Some strings might appear more than once. Your task is to write a program that reads these strings and removes any dupl
Problem Statement You are building a system for a rental car service. You have a specific coordinate (longitude and latitude). You need to check if this location is inside a "surge pricing" area (w
Problem Requirements You have a stream of numbers (Data Stream) that is very large or infinite. You do not know how many numbers there are in total. You cannot fit all the numbers into your compute
SYSTEM DESIGN - Mint.com
The Challenge Design a personal finance system like [Mint.com](https://mint.intuit.com/). The system must help users manage their money by doing the following: - Connect to various bank accounts an
Problem Requirements You are given a stream of text characters. This stream might be infinite, or just too large to hold in your computer's memory at once. You are also given a list of "stop words"
Byte Tokenizer Interview Challenge ## Challenge Summary This assessment asks you to build and improve a **byte-level tokenizer**. This is similar to Byte Pair Encoding (BPE), which is a method used
Credit Tracker with Expiring Credits ## Problem Statement We need to create a `CreditTracker` class. This class manages credits that are only valid for a specific time window. When we spend (subtrac
Problem Statement: Perplexity Discover Feed ## The Goal We need to design a **recommender system** for the Perplexity "Discover" page. This system acts as a bridge between content creators and reade
Temporal Key-Value Store (Online Assessment) ## Overview This Perplexity OA is a two-part CoderPad exercise built around a **temporal key-value store**. * **Part 1** asks you to implement point-in-t
Perplexity Online Assessment
Hi Folks, Got an online assessment for Perplexity Full Stack role. Wanted to ask what to expect from this assessment. It says the test is about assessment backend development frameworks like Python.
## Problem You have `n` servers and a list of request assignments `(server_id, request_weight)`. A distribution is considered "balanced" if the maximum total weight on any server minus the minimum total weight is at most `threshold`. Write a function that checks whether a given assignment is balanced and, if not, returns the servers causing the imbalance. ```python def check_distribution( n: int, assignments: list[tuple[int, float]], threshold: float ) -> tuple[bool, list[int]]: """Return (is_balanced, list_of_imbalanced_server_ids).""" pass ``` ``` Input: n=3, threshold=5.0 assignments = [(0,10),(1,8),(2,20),(0,5),(1,7)] # Server totals: 0->15, 1->15, 2->20 # max-min = 20-15 = 5 <= 5 -> balanced Output: (True, []) assignments = [(0,10),(1,3),(2,20)] # Totals: 0->10, 1->3, 2->20. max-min=17 > 5 Output: (False, [1, 2]) ``` ## Follow-ups 1. Define "imbalanced server" clearly — is it servers above average, below average, or at both extremes? 2. How would you rebalance by moving the minimum number of requests? 3. Extend to a real-time streaming version where `check_distribution` is called after each new assignment. 4. How would you write a SQL query to find imbalanced servers if assignments are stored in a table?
## Problem Validate a dependency graph for cycles or ordering conflicts, using topological sort. ## Likely LeetCode equivalent Similar to LC 207 Course Schedule. ## Tags coding, graph, topological_sort, phone
## Problem Given a list of text documents and a stopword list, remove all stopword occurrences from each document. Matching is case-insensitive. Preserve original word casing for non-stopwords. Return the filtered documents. ```python def remove_stopwords( documents: list[str], stopwords: list[str] ) -> list[str]: pass ``` ``` Input: documents = ["The quick brown fox", "A dog and a cat"] stopwords = ["the", "a", "and"] Output: ["quick brown fox", "dog cat"] # Extra spaces collapsed, original case preserved for kept words. Input: documents = ["IS THIS WORKING"] stopwords = ["is", "this"] Output: ["WORKING"] ``` ## Follow-ups 1. What data structure do you use for stopword lookup, and why? 2. How do you handle punctuation attached to words (e.g., `"fox,"` where `"fox"` is a stopword)? 3. For a corpus of 10 million documents, how would you parallelize this pipeline? 4. Extend to support language-specific stopword lists that are selected based on detected document language.
See All 17 Perplexity Software Engineer Questions
Full question text, answer context, and frequency data for subscribers.
Get Access