Perplexity Software Engineer interview questions

25 Software Engineers have shared notes from their Perplexity interviews, with the questions they were asked in each round. That is 61% of the 41 Perplexity interview notes on Screna AI.

25 Software Engineer interview notes

Perplexity·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Perplexity system design round for a software engineering role. The core problem was building a timestamped key-value store from scratch with time-travel and rollback, which sounds manageable until you actually have to think through all the edge cases live.
  • Design and implement an in-memory key-value store where every operation carries a monotonically increasing timestamp. It must support set, get, delete, a range query over a time interval, and a full-store rollback to any past timestamp. Discuss the data structures you'd use and any assumptions about ties at the same timestamp.

“This is a meaty one.”

View Post

Perplexity·Software Engineer·Technical Phone Screen

Jul 2026
Perplexity software engineer round that was basically one meaty coding problem about a task manager with dependency cascading. The graph traversal angle is where it gets interesting and where I think a lot of people stumble.
  • Design and implement a Python in-memory task manager for an AI workflow system. Tasks have unique IDs and statuses, and can depend on other tasks. You need to support adding tasks, adding dependencies between tasks, failing a task (which must cascade to all downstream dependents), and querying a task's status. The implementation must handle large graphs efficiently without redundant traversal.

“I started with a straightforward DFS for the cascade and it felt clean until they mentioned the efficiency constraint.”

View Post

Perplexity·Software Engineer·Technical Phone Screen

Jun 2026
Perplexity AI coding round for a software engineer role. One meaty design question that looked manageable at first glance but had enough edge cases to keep you busy for a full session.
  • Design a CreditTracker class with methods to add credit (with a start and end time), subtract credit (at a given time, deducting from the earliest-expiring credit first), and check the current credit balance at a given time. Calls to add and subtract can arrive out of chronological order. Walk through your data structure choices, implementation, and time/space complexity.

“The greedy deduction rule (earliest expiry first) is what makes this non-trivial.”

View Post

Perplexity·Software Engineer·Onsite - System Design / Architecture

Jun 2026
Perplexity system design round focused entirely on an AI-augmented to-do list app. The scope was massive and I definitely underestimated how deep they wanted to go on the LLM integration side specifically.
  • Design an AI-powered to-do list application that supports natural language task creation (e.g. 'remind me to call mom every Sunday at 6pm'), AI-suggested subtask decomposition, smart prioritization, scheduling, and reminders. Cover the data model, API surface, LLM integration, cross-device sync, and offline support.
  • How would you design the data model to handle recurring tasks with flexible recurrence rules?
  • How would you handle LLM integration for this product: specifically prompt design, latency, cost, and privacy concerns?
  • How would you support offline functionality and cross-device sync for this application?

“This is a single question but it's basically six questions duct-taped together.”

View Post

Perplexity·Software Engineer·Technical Phone Screen

Jun 2026
Interviewed for a SWE role at Perplexity AI and got a technical question around storage I/O optimization. Pretty focused session, one meaty question that required knowing your way around low-level write performance.
  • What techniques can you use to optimize write performance when moving data from memory to disk?

“I started with buffered writes and batching, then moved to write-ahead logging and memory-mapped files.”

View Post

Perplexity·Software Engineer·Technical Phone Screen

Jun 2026
Coding round at Perplexity for a software engineer role, basically a multi-part Python implementation problem. Not brutal, but you have to keep an eye on the clock.
  • Implement a ToDo list in Python using three provided classes: a TaskStatus enum, a Task class, and a ToDoList class. Complete four parts sequentially, each with their own test cases. Part 1 covers basic CRUD operations.

“The scaffolding was already there which helped, but four parts means four chances to fall behind on time.”

View Post

Perplexity·Software Engineer·Technical Phone Screen

Jun 2026
Interviewed at Perplexity for a software engineer role. The question was about outputting citation numbers from paragraphs, which sounds trivial until you're actually in the seat trying to articulate a clean approach under pressure.
  • Given a set of paragraphs where each paragraph contains numeric citations that map to a list of sources, output all the citation numbers found in the paragraphs.

“This felt deceptively simple.”

View Post

Perplexity·Software Engineer·Onsite - System Design / Architecture

Jun 2026
System design round at Perplexity AI for a software engineering role. The whole question was basically one giant design problem about building a multi-provider LLM routing library, and they wanted you to go deep on basically every subsystem you could think of.
  • Design a resilient client library that routes requests across multiple external LLM providers. Your design should cover provider registration, capability mapping, rate limiting and quotas per provider, health checks, timeouts, circuit breakers, cost and latency aware load balancing, retry and fallback logic, observability, secure key management, and thread-safe concurrency. Walk through your interfaces, data structures, and how you handle failures.

“This question is basically a full distributed systems design crammed into one prompt.”

View Post

Perplexity·Software Engineer·Technical Phone Screen

Jun 2026
Interviewed for a software engineering role at Perplexity and got a coding question about building an in-memory Unix file system. Had a bug I couldn't track down in time and got rejected two days later.
  • Design and implement an in-memory Unix file system supporting commands like touch, mkdir, ls, rm, and rmdir.

“Went with a tree structure which felt like the obvious call.”

View Post

Perplexity·Software Engineer·Technical Phone Screen

May 2026
Interviewed for a software engineering role at Perplexity and got a pretty meaty coding problem centered on an in-memory task management system. The core challenge was extending it with dependency tracking and a cascade-failure mechanism, which sounds manageable until you're actually tracing through a DAG under pressure.
  • You're given an in-memory Todo List system with basic CRUD operations. Extend it to support dependency tracking between tasks (parent/child relationships), then implement a cascade-failure function: when a task is marked failed, all tasks that transitively depend on it must also be marked failed. Handle performance for large, deeply interconnected graphs.

“I started with the dependency modeling, which felt fine, just adding parent and child sets to each task node.”

View Post