Skip to content
tezvyn:

CLI

25 bites tagged CLI — interview questions with model answers, and 60-second explainers.

Docker & Kubernetes1 min read

Start Compose services detached and view one service's logs

Docker compose up -d starts everything detached; docker compose logs -f web follows only the web service's logs. basic Compose CLI usage.

Docker & Kubernetes1 min read

Build, tag, and run a container with port mapping

Docker build -t my-app:1.0 . to build and tag; docker run -d -p 8080:80 my-app:1.0 to run detached with host:container port mapping. core build and run CLI fluency. reversing the port order or forgetting the build context dot.

Go & Rust1 min read

Structuring a Go CLI that fetches a URL

Parse args with the flag package, http.Get the URL, check err and status, defer resp.Body.Close, copy body to stdout, exit non-zero on failure. basic Go CLI, HTTP, and error handling.

Go & Rust1 min read

Rust binary and library crates in one project

A binary crate has main and produces an executable; a library crate has lib.rs and is reusable; put logic in the lib and a thin main that calls it. crate structure and code reuse. duplicating core logic inside main.rs.

Docker & Kubernetes1 min read

Tag and push an image to a private registry

Authenticate with docker login, retag the image to include the registry host and repo path, then docker push that full reference. tag-and-push workflow plus registry auth.

Android & Kotlin2 min read

Android CLI 1.0 Stable Unlocks Headless CI

Android CLI 1.0 went stable at I/O, exposing project scaffolding and device management commands that run without Android Studio. The release finally lets teams script full build pipelines on headless agents and remote dev boxes.

Vue, Angular & Svelte2 min read

SvelteKit 2.56 overhauls remote functions, adds TypeScript 6.0

SvelteKit 2.56 overhauls remote functions with breaking changes to query refreshes, caching, and a new run() method, plus TypeScript 6.0 support. The Svelte CLI adds experimental community plugins. Audit your remote function calls before upgrading.

Vue, Angular & Svelte2 min read

How would you implement lazy loading for an Angular feature module?

This tests route-level code splitting and CLI workflows. A great answer hits: ng generate module, loadChildren in the route config, and excluding the feature from AppModule. A red flag is suggesting manual chunking instead of router-driven lazy loading.

Vue, Angular & Svelte2 min read

How do you configure Angular CLI dev server proxying?

Tests Angular CLI proxying to bypass CORS locally. Good answer: create proxy.conf.json with target and path, register it in angular.json serve options as proxyConfig, then restart ng serve.

Vue, Angular & Svelte2 min read

Angular Schematics: Blueprint Robots with Rollback

Angular Schematics draft changes on a virtual file tree before touching disk. Use them to generate components, enforce standards, or run automated migrations. Never write directly to disk inside a schematic or you break atomic rollback.

Node.js & Express2 min read

npx: Execute Packages Without Installing Them

npx runs Node.js tools without installing them globally, fetching the latest version on demand. Use it for one-off scaffolding like create-react-app or CI build scripts. The footgun: it may silently run a stale cached copy if you omit a version tag.

Android & Kotlin2 min read

What is ADB? Describe two common commands and what they accomplish.

This tests command-line debugging fluency. Define ADB as a client-server bridge, then give two commands such as adb install for APK deployment and adb logcat for streaming device logs. Red flag: calling it the Android Studio debugger or omitting the daemon.

Vue, Angular & Svelte1 min read

Angular's angular.json: Your Workspace Blueprint

angular.json is the blueprint for your workspace, telling the CLI how to build, serve, and generate code. It defines project paths, build targets, and default prefixes. The footgun: assuming the `projects` section mirrors the file system.

Vue, Angular & Svelte2 min read

ng generate: Your Project's Code Wizard

ng generate is a command-line wizard for scaffolding new Angular features. It doesn't just create files; it wires them into your app. Use `ng g component my-component` to create components, services, and more.

Vue, Angular & Svelte1 min read

SvelteKit: From Zero to Dev Server

Spin up a new SvelteKit app with `npx sv create`. This command scaffolds a project, prompting you to add tools like TypeScript. Then, `npm run dev` starts your dev server. The key footgun: forgetting to install dependencies before starting the server.

Vue, Angular & Svelte2 min read

ng new: Your Angular Project Starter Kit

The `ng new` command is your starter kit for any Angular project. It scaffolds a complete, runnable application with a standard folder structure and dependencies, letting you skip manual setup.

Node.js & Express2 min read

Scaffold an Express App with `express-generator`

The `express-generator` CLI is a blueprint for new Express apps, instantly creating a standard folder structure and boilerplate files. Use it to skip tedious setup of routes and views.

Go & Rust2 min read

Terminal User Interfaces (TUIs): GUIs for the Console

A TUI is a graphical interface built from text, offering rich interactivity without leaving the console. Use them for system monitoring (btop), file management, or database clients. The footgun: don't confuse them with CLIs; TUIs are stateful apps.

Go & Rust2 min read

Rust's `clap`: Build CLIs by Describing Them

`clap` lets you define a Rust struct representing your CLI's arguments, and it generates the parser, help text, and validation. It's used for building any Rust CLI, but its feature-richness can increase binary size over simpler alternatives.

Go & Rust2 min read

Go Cobra: Build Complex CLIs Like `kubectl`

Cobra gives your Go CLI a command tree, like `git remote add`. It's for apps with nested commands and persistent flags, not just simple tools. The footgun is using it for a single command when Go's `flag` package would suffice.

Go & Rust2 min read

Go-Style vs. GNU-Style Flag Parsing

Go's command-line parser is stricter than the familiar GNU style, not distinguishing short/long flags or allowing them after arguments. This is key when porting Go CLIs to Rust to maintain user experience.

Go & Rust2 min read

Go Build: From Source Code to Executable

`go build` is your factory for turning Go source into a runnable program. It compiles your packages and their dependencies into a single executable. Use it to create a binary for deployment, but don't confuse it with `go install` which puts the file in your.

Docker & Kubernetes2 min read

Docker Image Prune: Reclaim Your Disk Space

Docker image prune is a garbage collector for your local Docker setup, deleting unused images to free up disk space. Use it when low on storage after many builds. The footgun: by default, it only removes *dangling* (untagged) images, not all unused ones.

CI/CD & Automation2 min read

Make: The Original Task Runner

Make automates tasks by following a recipe in a `makefile`. It intelligently runs only the necessary steps by checking dependencies, saving time during builds. While common for compiling code, it can run any shell command.

Get CLI bites daily.

Five a day, five minutes, offline. With quizzes so it sticks.

Open testing — you’ll join as an early tester.