Skip to content

Latest commit

 

History

History
43 lines (22 loc) · 1.7 KB

File metadata and controls

43 lines (22 loc) · 1.7 KB

🎤 Interview Q&A - Lab 14: Dependency-Aware Pipeline Runner

Below are focused questions and answers based on the concepts, implementation steps, and validation performed in this lab.

1. What is the main purpose of a dependency-aware pipeline runner?

It executes jobs only when their prerequisites have completed successfully, preserving correct order across a workflow graph.

2. Why model jobs and dependencies in YAML?

YAML keeps pipeline definitions readable, portable, and easy to edit without changing runner code.

3. What is topological sorting used for here?

It produces an execution order that respects dependency relationships in a directed acyclic graph.

4. Why must a runner detect cycles?

A cyclic dependency makes execution impossible because each job waits on another in a loop.

5. What happens when a dependency fails?

Downstream jobs that depend on that failed stage should not execute because their prerequisites were not satisfied.

6. Why was failure testing important in this lab?

Failure scenarios prove the runner behaves safely when a pipeline includes a broken stage or command.

7. What does validate_dag() protect against?

It guards the workflow engine from invalid dependency graphs before execution begins.

8. Why is pipeline_runner.py executable from the CLI?

Command-line execution makes the tool easy to use in scripts, cron jobs, and automation workflows.

9. What did pipeline_complex.yaml demonstrate?

It showed the runner could handle a larger dependency graph beyond the simplest example pipeline.

10. How does this relate to real DevOps work?

The same concepts power CI/CD systems, deployment gates, orchestration frameworks, and batch execution pipelines.