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 pageshowhide
explore
- Linux & distributions (has its own guide)169 questions
- Unix & BSD11 questions
- Other platforms71 questions
- Windows30 questions
- macOS35 questions
- Raspberry Pi6 questions
→ has its own guide
- Cyber Security Expertroleanchors this topic
- Backend Developerrole
- Blockchain Developerrole
- Data Engineerrole
- DevOps / SRE Engineerrole
- DevSecOps Engineerrole
- Forward Deployed Engineerrole
- Full Stack Developerrole
- Java Backend Developerrole
- Java SDETrole
- Kotlin Backend Developerrole
- Linuxskill
- MLOps Engineerrole
- Network Engineerrole
- PostgreSQL DBArole
- QA Engineerrole
- Shell & Bashskill
questions
251 · 3 sectionsDebian'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?
basics
~20 sDebian 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.
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?
basics
~20 sConfiguration 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.
On a Linux filesystem, what is the difference between a hard link and a symbolic link, and what can each one do that the other cannot?
basics
~20 sA hard link is an extra name for the same inode, so every name is equal and the data survives until the last one is removed. A symbolic link is a separate small file holding a path string, resolved at every access.
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?
basics
~20 sKernel 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.
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)?
basics
~20 sA 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.
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?
basics
~20 sUnix 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.
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?
basics
~10 sFreeBSD'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.
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?
basics
~20 sMost 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.
What is a FreeBSD jail, and how does its isolation model differ structurally from the way Linux builds containers?
basics
~20 sA 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.
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?
basics
~20 sThe 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.
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?
basics
~20 sA 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.
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?
basics
~20 sThe 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.
Why can't you wire a 5 V sensor output straight to a Raspberry Pi GPIO pin, and what do you put in between?
basics
~20 sRaspberry 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.
How does the NTFS permission model differ from Unix rwx mode bits, and what does a single access control entry (ACE) contain?
basics
~20 sNTFS 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.
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?
basics
~20 sA 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.