← Back to Directory

Peregrine

Small

Peregrine is a data integration and analysis platform that helps public safety agencies and government organizations connect, search, and make sense of disparate data sources. It is known for providing tools that enable law enforcement and emergency responders to access unified operational insights.

3 interview notes · updated Jul 2026

Peregrine·Software Engineer·Technical Phone Screen

Jul 2026
Peregrine software engineer round that was heavier on API design and data aggregation than I expected. Pretty code-heavy with a side of system thinking and take-home framing thrown in at the end.
  • You're given two pre-built API functions, one for paginated activity feeds and one for user name lookups. Walk through fetching all pages, aggregating the activities, and printing them with user names instead of user IDs.
  • Group the fetched activities by type and user name into a Clump class. Groups with more than one activity become a Clump object, but groups with exactly one activity should just return the raw activity instead.
  • How would you handle API errors, rate limits, and timeouts when calling these fetch functions?
  • If this were a take-home problem, how would you approach it? Walk through understanding the business context, aggregating data, and filtering results, and call out your assumptions, edge cases, and validation steps.
  • What's the time and space complexity of your solution? And what unit tests would you write, specifically covering pagination edge cases, empty pages, missing users, and mixed single vs multi-item clumps?

“The pagination part was fine, just loop until you hit total_pages.”

View Post

Peregrine·Software Engineer·Technical Phone Screen

May 2026
Peregrine SWE interview had a meaty coding question that kept evolving with follow-ups. Started straightforward then got progressively more involved, which I wasn't totally prepared for.
  • Given a paginated API that returns a total count and a list of activities for a requested page, write code that fetches all pages and prints every activity. Then group the activities into clumps where each clump shares the same type and name, implementing a Clump class with an activities list, type, and name. Finally, update the output so each activity displays the user's name fetched from a separate getUserName API instead of the raw user ID.

“This question kept growing.”

View Post

Peregrine·Software Engineer·Hiring Manager Screen

May 2026
Interviewed at Peregrine for a software engineer role. The behavioral portion leaned hard into motivation and self-awareness, less about code and more about whether you actually know why you're leaving.
  • Why are you looking to leave your current job, and can you point to specific ways it's falling short on impact, growth, or mission? What concretely are you hoping your next role gives you that this one doesn't?

“Thought I had a decent answer ready but they kept pushing for specifics.”

View Post