File Explorer: Complete Interview Checklist
The complete checklist for building a file explorer in a machine coding interview.
File Explorer: Complete Interview Checklist
Core Features
- Tree data structure (name, type, children).
- Recursive render function.
- Expand/collapse on folder click.
- Icons for files and folders.
- Indentation based on depth.
- stopPropagation on child clicks.
Advanced Features
- Expand all / collapse all buttons.
- File type icons (by extension).
- Search files.
- Context menu (right-click).
- Active file highlight.
- Drag and drop to move files.
CSS
- Hover state on tree nodes.
- Cursor pointer for folders.
- Font weight for folders (bold).
- Scrollable container (overflow: auto).
- Consistent indentation.
Testing
- Test: expand/collapse folders.
- Test: nested folders (3+ levels).
- Test: empty folders.
- Test: files at root level.
- Test: click does not toggle parent.
The Takeaway
Checklist: core (tree data, recursion, expand/collapse, icons, indentation, stopPropagation), advanced (expand/collapse all, file icons, search, context menu, active highlight, drag and drop), CSS (hover, cursor, scrollable), and testing (expand/collapse, nesting, empty folders, root files, stopPropagation).
Core (tree data, recursive render, expand/collapse, icons, indentation, stopPropagation), advanced (expand/collapse all, file type icons, search, context menu, active highlight, drag and drop), CSS (hover, cursor, scrollable), and testing (expand/collapse, nesting, empty folders, root files, no parent toggle on child click).
Tree data structure, recursive rendering, expand/collapse on click, icons for files/folders, indentation by depth, and stopPropagation to prevent child clicks from toggling parents. These are the minimum required features.
Expand/collapse all buttons, file type icons by extension, search files, context menu (right-click with rename/delete/new), active file highlight, and drag and drop to move files. Add these after the core works.
Test expand/collapse on folders, nested folders (3+ levels), empty folders (should not expand), files at root level, and verify clicking a child does not toggle the parent (stopPropagation).
Hover state (.tree-node:hover { background: #e0e0e0; }), cursor: pointer for folders, font-weight: bold for folders, a scrollable container (overflow: auto), and consistent indentation (paddingLeft: depth * 20).
Ready to master React completely?
Want to upskill yourself, crack your next interview, and get your dream job? Join our comprehensive course to dive deeper with high-quality video tutorials, solve interview questions, and a premium community.
Master React
Want to upskill yourself, crack your next interview, and get your dream job? Join our comprehensive course.

