Applied Intuition·Software Engineer·Onsite - System Design / Architecture
- You have a massive POSIX-like filesystem with millions of files in nested directories. Design an algorithm to find groups of duplicate files without reading file contents. You can only use metadata like file size, timestamps, permissions, and inode info. Cover how you'd traverse the tree, avoid symlink loops, handle hard links, deal with permission errors, and define what 'duplicate' even means under these constraints. Also discuss data structures, memory and I/O tradeoffs for scale, and give complexity analysis.
“This one wrecked me a little.”