Problem · Design
Employee Resource Access Management
Learn this problemProblem statement
Implement an access-control service for employees and resources. One employee may hold several independent access types on the same resource.
Operations
Process rows in order and return one row for every operation.
["GRANT", employeeId, resourceId, accessType]: GrantREAD,WRITE, orADMIN. Return["true"]if a new grant was added and["false"]if it already existed.["REVOKE", employeeId, resourceId, accessType]: Revoke one access type. UseALLto revoke every access type the employee has on that resource. Return whether at least one grant was removed.["GET_ACCESS", employeeId, resourceId]: Return all access types currently held on that resource, sorted asREAD,WRITE,ADMIN. Return an empty row when none exist.["GET_RESOURCES", employeeId]: Return every resource on which the employee currently has any access, sorted lexicographically. Return an empty row when none exist.
Interviewer follow-ups
Interviewers asked candidates to preserve multiple independent grants, make revocation precise, and discuss how the data model and APIs would evolve for larger access systems.
Function
manageEmployeeAccess(operations: String[][]) → String[][]Examples
Example 1
operations = [["GRANT","e1","repo","READ"],["GRANT","e1","repo","WRITE"],["GRANT","e1","db","ADMIN"],["GET_ACCESS","e1","repo"],["GET_RESOURCES","e1"],["REVOKE","e1","repo","READ"],["GET_ACCESS","e1","repo"],["REVOKE","e1","repo","ALL"],["GET_RESOURCES","e1"]]return = [["true"],["true"],["true"],["READ","WRITE"],["db","repo"],["true"],["WRITE"],["true"],["db"]]Revoking READ leaves WRITE intact. Revoking ALL then removes repo from the employee's resource list.
Constraints
1 <= operations.length <= 100000accessTypeisREAD,WRITE,ADMIN, orALLwhere allowed.
More Rippling problems
- Delivery Cost TrackerPHONE SCREEN · Seen Jul 2026
- Corporate Card Expense RulesPHONE SCREEN · Seen Jun 2026
- Camel CardsPHONE SCREEN · Seen May 2026
- Article Vote TrackerPHONE SCREEN · Seen May 2026
- Limit an Organization Tree's HeightONSITE INTERVIEW · Seen Aug 2025
- Distributed System RecoveryOA · Seen Jul 2025
- Server Upgrade PlanningOA · Seen Jul 2025
- Shortest SubstringOA · Seen Jul 2025