Unix File Search Engine

Medium
Company: Premium
GoogleAmazon

Imagine you're building a powerful search utility similar to grep in Unix-like systems. This utility needs to efficiently search for files within a specified directory (and its subdirectories) that match a given pattern. The pattern could be a simple string, a wildcard expression, or, for more advanced users, a regular expression. The search should be highly configurable, allowing users to specify whether the search is case-sensitive, whether to follow symbolic links, and whether to search only within file names, file content, or both. The design should be easily extensible to support new search algorithms, pattern types, and output formats.

This isn't just about finding files; it's about designing a robust, modular, and easily maintainable search engine that can be adapted to various use cases.

Requirements

Interview Simulation

Experience a realistic interview conversation. The interviewer will ask clarifying questions,and you'll reveal your understanding of the requirements.

Interviewer

Let's start by understanding the scope. What are the core functionalities this system needs to provide?

💡 Interview Tip

Identify the Actors (Who uses the system?) and their Use Cases (What are they trying to achieve?). Start with the 'Happy Path' scenarios.

Press ⌘ + Enter to submit

Premium Content

View detailed solutions.

UNLOCK PREMIUM