DataDriven
LearnPracticeInterviewDiscussDailyJobs

The Page Turner

A medium Python interview practice problem on DataDriven. Write and execute real python code with instant grading.

Domain
Python
Difficulty
medium
Seniority
L4

Problem

Implement a Paginator class that takes a list of pages (each page is itself a list of items) and iterates through all items across all pages in order. It must support the Python iterator protocol (`__iter__` and `__next__`): `__iter__` returns the iterator and `__next__` yields the next item, raising `StopIteration` when every page is exhausted. Empty pages must be skipped silently, and an empty list of pages yields nothing. Then write a top-level driver `paginate(pages)` that constructs a `Paginator` over the pages and returns the flattened item sequence as a list (`list(Paginator(pages))`). The grader calls `paginate(pages)` and expects the flattened items in page-then-item order.

Summary

Nobody loads everything at once.

Practice This Problem

Solve this Python problem with real code execution. DataDriven runs your Python code in a real environment and grades it automatically.

Related

  • All Practice Problems
  • Mock Interview Mode
  • Python Interview Questions
  • Data Engineering Interview Prep Guide
  • Daily Challenge
  • Data Engineering Lessons