The complete course

Comprehensive Final Examination

Assessment contract

Comprehensive final, ~3-4 hours, four parts, fully offline and auto-graded. Part 1 — Live Lab (35%): from a blank page, build a loopback call with mock media passing ~60 continuous assertions: perfect negotiation under adversarially injected glare, codec preference via setCodecPreferences or munging, 3-layer simulcast with a layer kill/restore (the harness-provided simulcast answer-munging shim from m7-l3 is available in the Live Lab), E2EE encoded transform with one key rotation, a 1 MB data-channel transfer under monitored backpressure bounds, and a debounced watchdog surviving an injected transport kill (implemented as a far-peer close — consent expiry drives 'disconnected'; assertions are state-based with browser-calibrated windows). Part 2 — Forensics Gauntlet (25%): five unseen incident bundles, each combining ≥2 artifact types (SDP, ICE logs, stats timelines, webrtc-internals dumps), structured diagnosis with decisive-evidence citation; includes one 'everything is actually fine' trap. Part 3 — Protocol Bench (25%): timed parsing and logic — STUN binary decode variant, RTP header with two-byte extensions, SDP query battery on a monster SFU offer, ICE pair-priority ordering, SVC drop-set on a fresh dependency graph, jitter-buffer run scored on the dual metric. Part 4 — Architecture & Judgment (15%): structured design problems (topology, codec, transport, TURN 443/TLS deployment, cascade routing) with numeric fields graded exactly, including one 'don't use WebRTC' trap case. Certificate ('Production WebRTC Engineer', self-contained printable page) requires ≥85% overall plus all eight module badges.

The examination rewards working code and discriminating evidence. Each assertion gives local feedback; the scorecard combines the code problems with the concept review. Reference answers remain available after a serious attempt.

Part A — Protocol and production benchExecutable

Repair under deadline. Choose repair from RTT, decode reserve, and playout budget.

Lab 1

Repair under deadline

Graded in the browser against 3 assertions; the editor and harness require JavaScript.

Recognize congestion before loss. Read the delay trend rather than waiting for a queue to overflow.

Lab 2

Recognize congestion before loss

Graded in the browser against 3 assertions; the editor and harness require JavaScript.

Budget the conference topology. Compute the client cost of mesh, SFU, and MCU architectures.

Lab 3

Budget the conference topology

Graded in the browser against 3 assertions; the editor and harness require JavaScript.

Stabilize an SFU layer decision. Apply asymmetric hysteresis to a changing receiver budget.

Lab 4

Stabilize an SFU layer decision

Graded in the browser against 3 assertions; the editor and harness require JavaScript.

Explain the live path from stats. Join the object graph into codec, candidate path, and RTT evidence.

Lab 5

Explain the live path from stats

Graded in the browser against 1 assertion; the editor and harness require JavaScript.

Make the final transport judgment. Select WebRTC, broadcast delivery, an unbundled stack, or ordinary HTTP from product constraints.

Lab 6

Make the final transport judgment

Graded in the browser against 3 assertions; the editor and harness require JavaScript.

Part B — Concepts and judgmentExplain the mechanism

Check your understanding

Auto-graded check

8 auto-graded questions with an explanation for every wrong answer. Requires JavaScript. (final-quiz)

Examination score

The scorecard totals this page’s graded work as you go. It requires JavaScript.

WebRTC: From First Principles · Comprehensive Final Examination