Skip to content
LakeBench
ProblemsCommunityPricing
Sign inStart practicing

Self-Join

PySpark data engineering interview problem. Difficulty: beginner. Pattern: Joins. About 12 minutes. Part of the Pro drill bank.

Self-join employees to resolve manager names. Treat this as a production helper: match the contracted return shape, including empty and duplicate inputs.

From employees, return each employee's employee_id, name, and manager_name via a self-join on manager_id = employee_id. Keep the CEO (null manager) with null manager_name. Order by employee_id. Assign result.

Constraints

  • Left join so root remains.
  • Output manager_name not manager_id.

Examples

Input: org chart Output: employee_id | name | manager_name 1 | Ada | None 2 | Alan | Ada 3 | Grace | Ada 4 | Linus | Alan 5 | Ken | Alan Left self-join preserves the root manager row.

Topics: lakebench, pyspark, self-join.

More PySpark interview questions · All interview problems · Learn data engineering

beginner

Self-Join

Interview-style drill: Self-join employees to resolve manager names.

From `employees`, return each employee's `employee_id`, `name`, and `manager_name` via a self-join on `manager_id = employee_id`. Keep the CEO (null manager) with null `manager_name`. Order by `employee_id`. Assign `result`.