Amazon VO Interview Question: Package Dependency Installer

18 Views
No Comments

We are in charge of designing a system to install packages. We are required to support the installation of a package and all of its dependent packages.

Here is an example of a package structure that we would need to install:

A depends on B, C
B depends on D, E, F
C depends on F
F depends on G

Define what a package looks like and code a solution to this problem.

class Package {// define what this looks like}

class Installer {// solution}

This problem is about designing a package installation system with dependencies. A clean approach is to model each package as a node in a dependency graph and install dependencies first using DFS or a stack-based traversal. Because dependencies can be shared, a visited set is important to avoid reinstalling the same package multiple times, and it also helps guard against cycles if needed. The key is to define a simple Package structure and an Installer that resolves and installs all transitive dependencies in the correct order.

END
 0