~/runtimelab $ cat ./uploadserver-go/README

Resumable uploads (Go)

A four-gigabyte upload that fails at 97% and starts again is the reason resumable protocols exist. Build the server side: a session opened from a manifest, chunks accepted in any order and written at their exact offsets, a progress endpoint that says what is still missing, eight clients at once with one in ten chunks corrupt, a whole-file checksum that seals the session — and a process that is killed mid-transfer and comes back knowing exactly what it already has.

what you end up with
A resumable chunked upload server

stages
7
estimated
5–8 h
level
Intermediate
track
Backend Engineering
language
Go
  • a session opened from a manifest
  • PATCH with Upload-Offset, the way tus does it
  • WriteAt, sparse files and out-of-order arrival
  • what is still missing, and how a client asks
  • eight clients, one file, one lock per upload
  • a whole-file checksum, and sealing the session
  • surviving SIGKILL mid-transfer

The stage list opens once you sign in — it is the challenge, not the pitch. Signing in is free, and the first stages of every challenge are too.