Interview kitsBlog

Your dream job? Lets Git IT.
Interactive technical interview preparation platform designed for modern developers.

XGitHub

Platform

  • Categories

Resources

  • Blog
  • About the app
  • FAQ
  • Feedback

Legal

  • Privacy Policy
  • Terms of Service

© 2026 LetsGit.IT. All rights reserved.

LetsGit.IT/Categories/Architecture
Architecturehard

Offset pagination vs cursor pagination — what’s the trade-off?

Tags
#pagination#cursor#offset#api-design
Back to categoryPractice quiz

Answer

Offset pagination is simple (`page=10`) but can get slow on deep pages and can skip/duplicate items when data changes. Cursor pagination uses a stable “last seen” key, scales better, and is more consistent, but is more complex for clients and doesn’t support random page jumps well.

Advanced answer

Deep dive

Expanding on the short answer — what usually matters in practice:

  • Context (tags): pagination, cursor, offset, api-design
  • Scaling: what scales horizontally vs vertically, where bottlenecks appear.
  • Reliability: retries/circuit breakers/idempotency, observability (logs/metrics/traces).
  • Evolution: keep changes cheap (boundaries, contracts, tests).
  • Explain the "why", not just the "what" (intuition + consequences).
  • Trade-offs: what you gain/lose (time, memory, complexity, risk).
  • Edge cases: empty inputs, large inputs, invalid inputs, concurrency.

Examples

A tiny example (an explanation template):

// Example: discuss trade-offs for "offset-pagination-vs-cursor-pagination-—-what’s-"
function explain() {
  // Start from the core idea:
  // Offset pagination is simple (`page=10`) but can get slow on deep pages and can skip/duplic
}

Common pitfalls

  • Too generic: no concrete trade-offs or examples.
  • Mixing average-case and worst-case (e.g., complexity).
  • Ignoring constraints: memory, concurrency, network/disk costs.

Interview follow-ups

  • When would you choose an alternative and why?
  • What production issues show up and how do you diagnose them?
  • How would you test edge cases?

Related questions

Architecture
DTO vs domain model — why not reuse the same class everywhere?
#dto#domain-model#api-design
Next.js
Route Handler vs Server Action — how do you choose?
#server-actions#route-handlers#security
Spring
Spring Data pagination: what are `Page` and `Slice`, and when to use which?
#spring-data
#pagination
#page
MongoDB
Pagination at scale — why can `skip/limit` become slow and what’s a better pattern?
#pagination#skip-limit#performance