Vanta
4 questions · 7 experiences · 1p3a (7) · Other (4)
11 entries
Vanta Coding Interview Task Dependency Resolution
Task List
Training Status
Unique Lines
Word Mapping
Vanta Machine Learning Tech Phone Screen Experience
Onsite Fulltime Software Engineer Interview at vanta with System Design and Coding
Vanta Software Engineer Technical Phone Screen Experience
Vanta Technical Phone Screen Interview: Security Training Status and Group Aggregation Functions
Vanta Software Engineer Fulltime Tech Phone Screen Interview Experience
Vanta Software Engineer Onsite Interview Experience with Unique Code Environment
Vanta Coding Interview Task Dependency Resolution
Interview Experience
from typing import List class Task: def init(self, id: str, deps: List[str]): self.id = id self.deps = deps """ web:deploy-------------------------------- | v web:test | web-client:test | v web:build <------- web-client:build """ allTasks = [ Task( id="web:build", deps=[], ), Task( id="web:test", deps=["web:build"], ), Task( id="web:deploy", deps=["web:test", "web:build", "web-client:test"], ), Task( id="web-client:build", deps=[], ), Task( id="web-client:test", deps=["web-client:build"], ), ] # Given a list of requested tasks to run, output a list of all necessary tasks # to run, in a proper order. #Input: # allTasks: a list of all task configurations # tasksToRun: ids of requested tasks to run # Output: a list of task ids to run, in a proper order # Requirements: # - Must be correct # - Must be performant on large graphs # - Code should be easy to read def getTasksToRun(allTasks: List[Task], tasksToRun: List[str]) -> List[str]: return [] print(getTasksToRun(allTasks, ["web:test"])) # ["web:build", "web:test"] print(getTasksToRun(allTasks, ["web:test", "web:build"])) # ["web:build", "web:test"] Copy code