An enterprise data table is a coordinated query, rendering, interaction, and mutation system. The server owns the canonical row set. The browser owns a bounded view of it. Stable row and column IDs keep focus, selection, saved layout, and edits attached to meaning while positions change.
A plain HTML table is often the right starting point. The architecture changes when the product needs millions of remote records, user-specific columns, pinned regions, bulk selection, inline editing, exports, and reliable keyboard navigation.
The central mistake is to treat the visible grid as the dataset. It is only a projection. Filtering or sorting can replace the query. Virtualization can replace the mounted rows. Column customization can replace visual positions. None of those replacements should change the identity of a row, column, cell, selection, or edit.
Clarify the table product
Ask whether data is local or remote, how many rows and columns exist, which operations must be server-authoritative, and whether cells are editable. Clarify bulk actions, exports, live updates, saved views, permissions, density, mobile use, localization, and assistive technology support.
For this interview, assume an authenticated operations application. A table can represent hundreds of thousands of accounts and dozens of columns. The server performs filtering, multi-column sorting, pagination, authorization, totals, and export. The browser virtualizes rows and optional columns, stores compatible user layout preferences, supports row selection and versioned inline edits, and remains usable with a keyboard and screen reader.
Spreadsheet formulas, arbitrary rectangular ranges, collaborative cursors, and pivot aggregation are separate systems.
The public interview prompt
Design a reusable enterprise data-table platform. Explain:
- the query model for remote filtering, sorting, pagination, totals, and cancellation;
- stable row and column identity across replacement, reordering, and virtualization;
- normalized caching, request generations, cursor merging, and live updates;
- row and column windowing, pinned regions, measurement, and scroll anchoring;
- column visibility, order, width, persistence, migration, and permissions;
- keyboard focus, selection, inline editing, validation, optimistic display, and conflicts;
- loading, empty, partial, stale, offline, forbidden, and export states;
- accessibility, internationalization, security, privacy, performance, and observability;
- testing, rollout, trade-offs, and simpler alternatives.
What the premium solution covers
The full solution defines a canonical query contract, generation guard, normalized row cache, stable cell coordinates, cursor merge rules, responsive rendering window, column-state migration, keyboard modes, selection semantics, and versioned edit protocol.
Original media follows a query replacement into an edit conflict, separates logical identity from visual position, explains two-axis rendering, and records the edit ledger. Two deterministic labs let you resolve remote queries out of order and exercise accepted, ambiguous, and conflicting cell edits.