Abnormal Security·Software Engineer·Onsite - System Design / Architecture
- How would you scale a duplicate photo detection system to handle tens of millions of files across multiple machines and storage locations?
- What key schema would you use for the deduplication index, and how would you size memory for it?
- How would you design the batch pipeline for scanning and hashing files at scale, and what partitioning strategy would you use to maximize data locality?
- How do you ensure idempotency and avoid race conditions when multiple workers might process the same file simultaneously?
- Before permanently deleting duplicates, what verification, rollback, and audit mechanisms would you put in place?
- How would you handle fault tolerance, retries, and backpressure in this pipeline, and what metrics would you monitor?
- How would you handle incremental runs to process newly added files without re-scanning everything from scratch?
- How would you handle multi-tenant isolation and permission checks to make sure users can't delete files they don't own?
- Can you give rough cost and throughput estimates for this system at tens of millions of files?
“This was the whole interview, basically.”