This set of tasks evaluates debugging and troubleshooting in production environments, low-level bit manipulation, concurrency reasoning (deadlock identification and lock-based fixes), and scalable text-processing algorithms for top-K word frequency, assessing proficiency in systems debugging, algorithm design, and concurrent programming within the Coding & Algorithms domain. These problems are commonly asked to measure practical engineering judgment and algorithmic efficiency under resource constraints, testing both conceptual understanding of concurrency and data structures and practical application skills for log analysis, bit-level operations, and large-scale file processing.
System failure troubleshooting: You can only SSH into the machine and the log file is huge. How would you locate the problem quickly?
Flip a bit: Given an integer num and a bit position, flip that bit.
Concurrency bug: Given multithreaded code that uses locks, find and fix the deadlock.
Word frequency top-K: Given a directory that may contain nested sub-directories and files, count word frequencies across all files and return the top-K words. Follow-ups: handle too many files to fit in memory (MapReduce vs Count-Min Sketch + Space-Saving).