Scenario: "The Avro schema is backward compatible." What does backward compatibility mean in schema evolution?
Mode
Old reads New
New reads Old
Backward
✓ Yes
—
Forward
—
✓ Yes
Full
✓ Yes
✓ Yes
Key vocab:backward compatibility, forward compatibility, full compatibility, schema registry.
2 / 5
Scenario: "Adding a required field to a Protobuf message breaks backward compatibility." Why?
Protobuf best practice: never use required (deprecated in proto3). All fields are optional with defaults in proto3. Removing a field: reserve the field number to prevent tag reuse.
Key vocab:required vs. optional in Protobuf, field tag number reservation, proto3 optional default.
3 / 5
Scenario: "Confluent Schema Registry enforces FULL_TRANSITIVE compatibility." What does transitive add over standard full compatibility?
Compatibility chain: v1→v2→v3 can be locally fully compatible, but v1 consumers may not read v3 data if intermediate changes compound. Transitive checking catches this.
Scenario: "The team adopted an expansion-then-contraction pattern for the schema migration." What is this pattern?
Expand/contract: the only safe way to rename a column without downtime. Dual-write period: populate both old and new columns simultaneously until all consumers migrate.
Scenario: "Schema drift was detected in the daily pipeline run." What is schema drift?
Schema drift detection: compare actual data profile against registered schema each run. Tools: Great Expectations, Soda Core, dbt schema tests. Alert on: new columns, missing columns, type changes.