Introduction to Perplexity’s Spike Round
We are pleased to move forward in exploring a potential fit at Perplexity! For this role, the next part of our interview process is a “Spike” round.
We call this a Spike round because we’re looking for traits not listed on a predefined rubric, but rather those that illustrate your particular strengths (in other words, where you’re “spikiest”). During the Spike round, you’ll work on a technical project for 9 hours. You’ll be allowed to use your dev environment of choice, including AI tools such as Claude Code, Codex CLI, Cursor, etc.
We are asking you to share two things with your recruiter: (1) an ideal date & time to take the Spike round, and (2) three project proposals.
Scheduling
The Spike round can be done asynchronously, which means you get to choose the time that works best for you - no need to provide multiple availabilities and match calendars.
Please choose a date/time at least 2 days from now. To avoid confusion, specify the time in U.S. Pacific time zone.
Resources and reimbursement
You may use any resources you’d like during the Spike round, other than live human assistance. This means you can use your dev environment of choice, including AI dev tools such as Claude Code, Codex CLI, Cursor, etc. You may also use Perplexity or your favorite chatbot app.
We’ll reimburse you for up to $750 in technical costs incurred during the Spike round. These costs include things like coding tool & IDE subscriptions (single month only), AWS/Azure/GCP costs, LLM API usage/prepaid credits, and other relevant technical expenses needed to make your project a success. You may use as much or as little of this $250 budget as you need - however, keep in mind that overages above $250 will not be reimbursed. Your recruiter will provide reimbursement instructions after the interview - please retain receipts.
Project proposals
One unique feature of the Spike round is that your input will play a big role in what your project looks like. Specifically, we request that you submit 3 ideas for potential projects. Your proposed projects should meet these criteria:
- They are reasonably related to the role(s) you’re interviewing for. Hopefully you have a decent sense of the role(s) from the job description and our previous conversations with you. Consider the different dimensions and skills we’d be interested in evaluating, and think about which sorts of projects would be relevant. (If anything about the role still seems confusing, please don’t hesitate to ask your recruiter and they’ll find answers.)
- They are sufficiently interesting, complex, and open-ended to be a good demonstration of your abilities. You should avoid proposing projects that can be completed simply by feeding the project description to Claude Code/Cursor and pressing Enter.
- They are feasible. For each of the proposed projects, you should be able to make meaningful progress on them in a few hours.1 Consider also the difficulty of setting up the necessary environments, infrastructure, etc, as you will need to do that yourself.
- They showcase your particular strengths. You definitely shouldn’t propose a project that you think you’d struggle to execute well, just to prove something to us.
- They are concrete enough, but not overspecified. Generally, 2–4 sentences should suffice to describe the project.
- They are diverse. For example, your three proposed projects shouldn’t just be “Checkers bot”, “Minesweeper bot”, and “Battleship bot”. They should cover a representative sample of things you’d be good at.
- Most importantly, they are projects that you would genuinely enjoy working on. At Perplexity, we try to maximize alignment between your interests and what you work on. This Spike round is no different.
NOTE: you should define your proposed projects in your own words. While you may use AI to brainstorm, we ultimately want to hear about what you would like to work on. Using an LLM to generate your list of projects almost always leads to bad outcomes, for reasons that should be obvious to any reasonably perceptive user of these LLMs.
Once we receive your three proposed projects, we’ll define a project that is inspired by your submissions. We ordinarily won’t give you the exact project that you proposed (otherwise you could just build all three in advance!). Rather, we use your proposed projects to get a sense of what sorts of things you like to do, and then we create something closely related to your proposals that we hope you’ll enjoy just as much. You will receive the actual project at the start of the Spike round via email.
Example list of proposed projects
Below is an example of a three-project list that we had one of Perplexity’s current employees submit (note that everyone’s list will be different - this list is just an example and you need not try to pattern-match against it):
- Building an evaluation framework for AlphaZero-style reinforcement learning on simple zero-sum board games. The framework would measure the effectiveness of different model architectures, training/MCTS hyperparameters, state representations, and so on.
- Building a CLI “coding problem solver”, where the user feeds in a textfile or screenshot of a coding problem and an LLM agent iteratively tries to craft a correct/clean/efficient solution. Among other things, a minimal code execution sandbox would be developed so that the LLM agent can test proposed solutions.
- Building a tool that can take an arbitrary REST API and generate a Python SDK for that API. Ideally, the tool should be able to validate that the SDK works and maybe even self-correct any bugs.
TODOs
Your TODOs are to reply to your recruiter with:
- Your preferred Spike round date & time (beginning at least 2 days from now).
- Three proposed projects (following the above instructions).
-
Writing an agent to solve Millennium Prize problems would certainly be interesting and complex, but you’re unlikely to get far. ↩