Verkada Software Engineer interview questions

27 Software Engineers have shared notes from their Verkada interviews, with the questions they were asked in each round. That is 87% of the 31 Verkada interview notes on Screna AI.

27 Software Engineer interview notes

Verkada·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Verkada system design round with two back-to-back problems, both pretty meaty. The door access one felt manageable but the heartbeat monitoring problem at 10 million devices scale pushed me to think harder about write throughput than I expected.
  • Design a door access control system that supports looking up which doors a person can open, which people can open a given door, and granting access as an admin. Cover data modeling, API design, indexing, authorization, auditability, and future operations like revoking access.
  • Design a heartbeat monitoring system for 10 million devices where each device sends a signal every minute. Build a dashboard showing device health and online/offline status. Discuss write throughput, ingestion architecture, storage for recent vs historical data, how you determine online/offline, dashboard APIs, and how the system handles failures at scale.

“The bidirectional lookup requirement is what tripped me up first.”

View Post

Verkada·Software Engineer·Technical Phone Screen

Jul 2026
Verkada SWE interview focused entirely on cache design, both LRU and LFU variants. Two problems back to back with a pretty clear expectation that you'd nail the O(1) complexity story and be able to talk through your data structure choices out loud.
  • Implement an LRU cache with fixed capacity supporting get and put in O(1) average time, evicting the least recently used entry when full.
  • Implement an LFU cache with the same API, evicting the lowest-frequency entry on capacity overflow, with LRU as a tiebreaker among entries sharing the minimum frequency, all in O(1) average time.

“I knew this one pretty well going in.”

View Post

Verkada·Software Engineer·Onsite - Behavioral / Leadership

Jul 2026
Behavioral question from what looks like a Verkada Software Engineer interview. Just one question but it's a meaty one that requires you to actually have opinions about your past employer.
  • Evaluate your previous company. What did it do well and where did it fall short? Be candid about the engineering culture, your team, and what you personally took away from working there.

“This one requires more preparation than it seems.”

View Post

Verkada·Software Engineer·Technical Phone Screen

Jun 2026
Verkada phone screen for a software engineer role. The problem was surveillance-themed which felt on-brand but the actual coding was two distinct algorithmic tasks back to back, and the follow-up complexity discussion caught me a bit flat-footed.
  • Given a list of timestamped sensor readings and a threshold value, find all maximal intervals during which the sensor reading exceeds the threshold. The interval ends at the last timestamp before the value drops back to or below the threshold, and if it's still above at the end, close it there.
  • Given alert intervals from multiple cameras, merge them into a single sorted list of non-overlapping intervals where touching intervals (e.g. [1,3] and [3,5]) are treated as overlapping and should be merged.

“I got the basic logic down pretty quick: scan through, track whether you're in an alert state, open an interval when you cross the threshold and close it when you drop back.”

View Post

Verkada·Software Engineer·Onsite - System Design / Architecture

Jun 2026
Verkada system design round, one big question the whole time. The problem was designing a health monitoring system for 10 million cameras and I thought I had a decent handle on it but the follow-ups exposed some gaps pretty fast.
  • Design a system that monitors the health of 10 million cameras and continuously reports, in near real time, how many devices are healthy versus unhealthy. A camera is healthy if a heartbeat was received within the last 2 minutes.
  • How do you detect that a camera has gone unhealthy without doing a full scan of all devices? A missed heartbeat is the absence of an event, not an event itself.
  • How do you handle duplicate, late, or out-of-order heartbeats, especially when you may have already scheduled an expiry check that a newer heartbeat has since invalidated?
  • How would you extend the design to report healthy and unhealthy counts broken down by region, tenant, or firmware version without blowing up counter cardinality or making the read path complicated?
  • After a consumer crash and partition rebalance, how does the new owner reconstruct in-memory state, the timer schedule, and the counters without double-counting transitions during replay?
  • How do you tell the difference between cameras actually being unhealthy versus your monitoring pipeline being the broken thing, like consumer lag making counts look stale?

“My first instinct was to just scan all 10M rows every minute and recount.”

View Post

Verkada·Software Engineer·Technical Phone Screen

Jun 2026
Verkada software engineering interview, coding round. One question, all about implementing Wordle-style scoring with correct duplicate letter handling. Trickier than it looks.
  • Implement a function that scores a guess against a secret word, returning an array where each position is 2 (exact match), 1 (letter exists elsewhere but not matched yet), or 0 (letter not in word or already consumed). Handle duplicate letters correctly and validate inputs.

“The basic green/yellow/gray logic clicks fast, the part that bites you is duplicates.”

View Post

Verkada·Software Engineer·Technical Phone Screen

Jun 2026
Verkada coding screen for a software engineer role. One problem the whole time, linked list addition but with a twist that made me second-guess everything I thought I knew about the classic LC version.
  • Given two non-negative integers represented as linked lists where each node stores up to 4 decimal digits, return their sum as a linked list in the same format.

“I've done the single-digit version enough times that I jumped in fast, which was probably a mistake.”

View Post

Verkada·Software Engineer·Technical Phone Screen

Jun 2026
Verkada software engineer interview with a multi-part coding problem involving security camera data processing. The question built on itself across two parts and ended with a system design follow-up about scaling to thousands of cameras.
  • Given N cameras each with a list of timestamped motion readings and a threshold T, compute all time intervals where every camera is simultaneously active. A camera is active when consecutive readings above the threshold form a continuous interval.
  • Follow-up: what are the time and space complexities of your solution, where is the bottleneck, and how would you redesign it to handle thousands of cameras with high data volume, for example using streaming, pre-aggregation, or interval indexing?

“The per-camera part wasn't bad once I remembered to group consecutive active readings into intervals rather than treating each reading independently.”

View Post

Verkada·Software Engineer·Onsite - System Design / Architecture

Jun 2026
Verkada system design round, one meaty question about real-time device telemetry at scale. The whole session was basically a single deep-dive and they just kept pulling on threads until time ran out.
  • Design a system that handles 1 million devices each sending a heartbeat every minute with one of 10 possible status values. The system needs to compute, in real time, the count of devices per status over the previous minute window. Walk through ingestion, time-bucketing, partitioning, aggregation approach, state storage with TTL, fault tolerance, late and duplicate events, and how to serve the per-status counts with low latency.

“This one sprawled.”

View Post

Verkada·Software Engineer·Technical Phone Screen

Jun 2026
Verkada coding round, one problem the whole time. It was the LFU cache design question which I'd seen before but still fumbled parts of the implementation under pressure.
  • Design and implement an LFU (Least Frequently Used) cache class with get and put operations, both running in O(1) time. On eviction, remove the least frequently used key, breaking ties by least recently used.

“I knew the problem going in and still got tripped up on the tie-breaking logic.”

View Post