24 chapters
Modern CI
Read online or take the PDF and EPUB with you.
Start reading →Your learning workspace
Your books, practical steps, quiz answers, and workshop drafts in one place. Progress stays on this device; no account is needed.
Make room for learning
Choose an outcome you can demonstrate. This plan stays on your device and follows your existing practical checklist.
Time is an estimate for planning, not a completion deadline. Only your explicit checklist choices complete practical steps.
Use mistakes as a starting point
Open a path's knowledge check to read each scenario and its explanation.
A useful next step
24 chapters
Read online or take the PDF and EPUB with you.
Start reading →20 chapters
Read online or take the PDF and EPUB with you.
Start reading →28 chapters
Read online or take the PDF and EPUB with you.
Start reading →22 chapters
Read online or take the PDF and EPUB with you.
Start reading →35 chapters
Read online or take the PDF and EPUB with you.
Start reading →40 chapters
Read online or take the PDF and EPUB with you.
Start reading →Checked steps mean you have kept your own evidence. Quiz choices and workshop results never complete them automatically.
Beginner to intermediate
5 practical steps · 10 explained questions
Open the path →Revisit quiz answers →Intermediate
4 practical steps · 10 explained questions
Open the path →Revisit quiz answers →Beginner to intermediate
4 practical steps · 10 explained questions
Open the path →Revisit quiz answers →Intermediate
5 practical steps · 10 explained questions
Open the path →Revisit quiz answers →Intermediate
5 practical steps · 10 explained questions
Open the path →Revisit quiz answers →Drafts and the last test result stay in this browser. A passing exercise checks its stated contract; it is not a certification.
JavaScript · Browser & download
Sort finite numeric priorities from largest to smallest, preserve arrival order for ties, and return a new array without changing the input.
Open the exercise →JavaScript · Browser & download
Return exactly event, method, path, status, and duration_ms. Strip query strings and fragments from the URL. Never retain headers, bodies, or future fields; preserve the input.
Open the exercise →JavaScript · Browser & download
Accept whole nonnegative delay-seconds or a canonical HTTP date using the supplied finite clock. Clamp past dates to zero; return null for invalid, fractional, partial, negative, missing, or overflowing values.
Open the exercise →JavaScript · Browser & download
Return a version-1 manifest with files sorted by name, lowercase 64-digit SHA-256 hashes, and positive safe-integer byte sizes. Reject duplicates and unsafe filenames; exclude clocks and unknown fields without mutating input.
Open the exercise →JavaScript · Browser & download
Permit a deployment only for a valid contract and an available, satisfied observation matching namespace, Secret name, generation, and current resource version. Return only allowed and a static reason; preserve inputs.
Open the exercise →JavaScript · Browser & download
Apply a contiguous tenant-scoped event buffer to an independent snapshot. Ignore already-covered events and exact duplicate deliveries. A gap, conflicting delivery ID, invalid event, or cross-tenant message returns the original snapshot with resync. Reject invalid snapshots.
Open the exercise →Use a workspace backup to move saved data to another browser. Offline chapter copies are separate and can be saved again on that device.