Skip to content
Tech Interview Prep home
Technical interview guide

Schema Design & Normalization

Structuring tables to avoid redundant, inconsistent data — and knowing when to deliberately break the rules for performance.

Read
24 min
Practice MCQs
25
Interview QA
25
Edition
v3
Editorial status
Reviewed

Scope: SQL principles with PostgreSQL 18 examples; vendor-specific behavior must be verified.

Interview QA

Treat each question like a live interview question: answer out loud first (structure, assumptions, tradeoffs), then open the model answer to spot gaps and rehearse a tighter follow-up.

Curated: · Written: · Reviewed:

QA-1

Explain normalisation through third normal form with a worked example.

QA-2

When would you denormalise, and what obligations does that create?

QA-3

How do you decide between a natural key and a surrogate key?

QA-4

Which integrity rules belong in the database, and which can live in the application?

QA-5

Design a schema for orders and order lines, and explain each decision.

QA-6

How would you add a required column to a large live table without downtime?

QA-7

When is a JSON column the right choice, and what do you give up?

QA-8

How would you model data that changes over time so history is preserved?

QA-9

What are the structural trade-offs between a Star Schema and a Snowflake Schema when designing dimensional models for analytical workloads?

QA-10

Explain how you would model a many-to-many relationship with attributes.

QA-11

How do you model soft deletion, and what does it cost?

QA-12

What schema decisions most often cause problems later?

QA-13

How would you design a multi-tenant schema?

QA-14

Explain the trade-offs of table partitioning as a schema decision.

QA-15

How do you decide which indexes a new schema needs?

QA-16

A team wants to add a status column with a fixed set of values. Walk through the options.

QA-17

Explain how you would test a schema.

QA-18

How would you approach a legacy schema with no constraints and inconsistent data?

QA-19

What is the difference between a schema that permits a bug and one that prevents it?

QA-20

How would you model an address, and why is it harder than it looks?

QA-21

Explain when a wide table is better than several narrow ones.

QA-22

How do you handle a schema change that must coordinate with another team's service?

QA-23

What would make you choose a lookup table over a boolean flag?

QA-24

How would you explain the value of constraints to a team that finds them obstructive?

QA-25

Describe how you would document a schema so it stays useful.