Had a phone screen with an arrogant L3 engineer and was rejected after coming up with working BFS solution.
#
# A
# |___ B
# | |___ C <-- access
# | |___ D
# |___ E <-- access
# |___ F ---- G
#
folders = [
('A', None),
('B', 'A'),
('C', 'B'),
('D', 'B'),
('E', 'A'),
('F', 'E'),
('G', 'F'),
]
access = {'C', 'E')
Given a folder name, return TRUE|FALSE is user have access
Follow up: access = {'C', 'E', 'F') but 'F' is redunant. How to shorten the access list.