Google X, The Moonshot Factory - Tapestry - Front End Engineer - Virtual Onsite
Level: L4
Education: Master
Years of Experience: 6
Questions Asked:
Two rounds in VO: one technical, one behaviroal
- Technical Round: File Explorer
You have the chance to pick how you’re gonna implement the UI: Vanilla JS/React/Angular
Given an array of file objects, build a component that displays them in a hierarchical tree format.
There are two types of objects – files and directories:
- Files are essentially leaf nodes of the tree, they do not have children.
- Directories can contain other objects – either files or directories.
You may assume that the IDs and names within the same directory are unique.
Requirements
- The names of the directories/files should be displayed.
- Directories
- Contents of the directory should be displayed in a manner that indicates it belongs within the directory. The recommended approach is to indent the contents to the right.
- Directories can be expanded and collapsed. Clicking on a directory should toggle its expanded/collapsed state.
- Directories should appear before files. All the items should be sorted alphabetically within their respective categories.
- You may style the expand/collapse functionality in a way you prefer as long as it is clear that the item is a directory and whether it is in the expanded or collapsed state.
- Directories can be empty.
- Behavioral Round
Hiring Manager: 1. Describe the most impactful project you’ve worked on. 2. Tell me a time when your coworker or manager don’t agree with you, how you handle that 3. What is your experiences in Energy/Electricity Industry.