skip to content

Operating Systems & Distros

The operating systems you are actually asked about — Linux and its distribution families, traditional Unix and BSD, Windows, macOS, and small embedded boards. Interviewers care less about trivia here than about whether you can work confidently on the platform their servers or laptops run.

on this pageshow

explore

→ has its own guide

questions

251 · 3 sections

Debian's archive is organised into stable, testing and unstable (sid). What is each suite for, and by what rule does a package move from unstable into testing and eventually into a stable release?

level: juniorimportance: must knowfreq 70%
basics
~20 s

Debian uploads always land in unstable (sid) and migrate automatically into testing after a few days without new release-critical bugs and with builds on every release architecture. Testing is periodically frozen and published as the next stable.

open as a page

You are handed a shell on an unfamiliar Linux server. Where do you expect a service's configuration, its persistent state and its log files to live, and what is the rule that puts those three things in different top-level directories?

level: juniorimportance: must knowfreq 70%
basics
~20 s

Configuration lives under /etc, persistent state under /var/lib and logs under /var/log. The split is by mutability and ownership: /usr holds static package-owned code, /etc holds locally editable configuration, /var holds data the machine writes while it runs.

open as a page

An /etc/fstab entry names a disk as /dev/sdb1. Why is that fragile on a Linux server, and how do UUID=, LABEL= and PARTUUID= differ as replacements?

level: juniorimportance: must knowfreq 70%
basics
~20 s

Kernel names like /dev/sdb1 depend on device discovery order, so a new disk or a slow controller can renumber them and mount the wrong filesystem. Prefer UUID= from the filesystem superblock, or PARTUUID= from the partition table.

open as a page

On Linux, what is a loadable kernel module, and how does a driver compiled as a module (=m) differ at runtime from the same driver built into the kernel image (=y)?

level: juniorimportance: must knowfreq 68%
basics
~20 s

A loadable kernel module is kernel code — typically a driver or filesystem — shipped as a separate .ko file and inserted into the running kernel on demand. Code built in with =y is part of the kernel image itself and can never be unloaded.

open as a page

The Unix philosophy is usually summarised as "write programs that do one thing well, and write programs to work together". What concrete design conventions make that composition possible, and what does the approach cost you?

level: juniorimportance: must knowfreq 62%
basics
~20 s

Unix builds small single-purpose programs that read bytes from standard input and write bytes to standard output, so a shell can chain them with pipes. Composition becomes nearly free; structured data and precise error reporting do not.

open as a page

FreeBSD is described as shipping a "base system" rather than being assembled like a Linux distribution. What does that mean concretely on a running machine, and how does it change the way you patch and upgrade it?

level: middleimportance: must knowfreq 70%
basics
~10 s

FreeBSD's kernel and core userland are built from one source tree and released, patched and upgraded as a single versioned unit, while every third-party program installs separately under /usr/local and is managed by pkg.

open as a page

Unix is often described with the slogan "everything is a file". What does that actually mean for a program at the system-call level, and where does the abstraction leak?

level: middleimportance: must knowfreq 55%
basics
~20 s

Most kernel objects — regular files, devices, pipes and sockets — are reached through a file descriptor and the same read, write and close calls. The abstraction leaks: sockets and terminals need their own calls, and not every object has a filesystem name.

open as a page

What is a FreeBSD jail, and how does its isolation model differ structurally from the way Linux builds containers?

level: seniorimportance: must knowfreq 60%
basics
~20 s

A jail is one kernel object that confines a process tree to a directory root, a hostname, an address set and a restricted root user in a single step. Linux has no equivalent single object; containers there are composed from several independent kernel facilities.

open as a page

On FreeBSD, what is the difference between installing software from the ports tree and installing it with pkg, and when is building from ports actually worth the time?

level: juniorimportance: should knowfreq 72%
basics
~20 s

The ports tree is a collection of build recipes you compile from source with your own options; pkg installs prebuilt binary packages that the project produced from those same recipes using default options. Most installs should use pkg.

open as a page

On macOS, what is the difference between a Launch Agent and a Launch Daemon, and how does that choice change what the job is able to do?

level: juniorimportance: must knowfreq 80%
basics
~20 s

A Launch Daemon runs in the system domain from boot, normally as root, with no login session and no access to a user's screen. A Launch Agent runs inside a logged-in user's session, as that user, and can reach the GUI.

open as a page

On macOS, an app downloaded through a web browser is blocked on first launch, but the identical file fetched with curl opens immediately. What mechanism explains the difference?

level: juniorimportance: must knowfreq 66%
basics
~20 s

The browser tags its download with the com.apple.quarantine extended attribute; curl does not. Gatekeeper only evaluates quarantined files, so the tagged copy is checked for a valid signature and notarization on first launch while the untagged copy simply runs.

open as a page

Why can't you wire a 5 V sensor output straight to a Raspberry Pi GPIO pin, and what do you put in between?

level: juniorimportance: must knowfreq 55%
basics
~20 s

Raspberry Pi GPIO pins run 3.3 V logic and are not 5 V tolerant, so 5 V on an input can damage the pin or the SoC. Put a level shifter or a resistor divider in between.

open as a page

How does the NTFS permission model differ from Unix rwx mode bits, and what does a single access control entry (ACE) contain?

level: juniorimportance: must knowfreq 70%
basics
~20 s

NTFS attaches a security descriptor with an ordered list of ACEs to every file, so any number of users and groups can each be allowed or denied specific rights. Unix mode bits offer only three fixed slots of read/write/execute.

open as a page

In the Win32 API, what is a HANDLE, which kernel component manages the objects behind handles, and how does a handle differ from a Unix file descriptor?

level: juniorimportance: must knowfreq 58%
basics
~20 s

A Windows HANDLE is an opaque, per-process entry in that process's handle table referring to an object created by the NT object manager — a file, event, mutex, process, thread or registry key. A Unix file descriptor is a small integer naming a much narrower set of objects.

open as a page