Count Optimized Assembly Instructions
Compile a small C loop with -O2 -S, inspect the generated assembly, report how many add instructions gcc produced and see how much it has optimized the equasion.
Focused hands-on problems designed to help you hone your DevOps or Server Side skills. Some challenges are more educational, while others are based on real-world scenarios. The platform provides hints and feedback for each challenge, including automated solution checks.
Compile a small C loop with -O2 -S, inspect the generated assembly, report how many add instructions gcc produced and see how much it has optimized the equasion.
Run gcc -E on a small C program and find the exact line where the preprocessor expanded a macro into a printf call.
Write your first TCP client for a push-only telemetry server that starts sending sensor readings as soon as you connect. Likely the easiest way to get started with TCP socket programming.
Learn how to keep your container images lean by excluding development dependencies (linters, test frameworks, etc.) from the production build.
Practice installing OS-level packages during a Docker image build to satisfy system library requirements of your application.
Learn the absolute basics of Dockerfile authoring by containerizing a simplistic Node.js server application with just three instructions: FROM, COPY, and CMD.
Learn how to write a Dockerfile from scratch and build a working container image for a web server application with a simple set of dependencies.
In this challenge, you’ll debug and fix a deliberately “broken” eBPF program, then prove it’s running by identifying its program and map IDs. Along the way, you’ll explore bpftool, check which helpers are supported, and dig into details like the UID of the loader. Finally, you’ll test your knowledge of eBPF maps by recalling the flag that only inserts a key if it doesn’t already exist.