Linux interview prep
- AppArmor — AppArmor profiles, complain vs enforce mode, aa-genprof, aa-logprof, and path-based MAC.
- Bash Functions — Function declaration, local variables, return codes, argument handling, and function libraries.
- Bash Scripting — Variables, arrays, control flow, error handling, trap, and production-grade scripting patterns.
- Binutils & Binary Validation — GNU binutils and ELF tooling for CI/CD: inspect symbols, verify architecture and ABI, check shared-library dep
- cgroup v2 Internals — cgroup v2 unified hierarchy, cpu/memory/io controllers, delegation for rootless containers, and Kubernetes int
- cgroups & Namespaces — cgroups v1 vs v2, resource limits, container isolation mechanics, and namespace types.
- Conditionals & Loops — if/case/for/while/until, the [ vs [[ vs (( )) test distinctions, and break/continue.
- CPU Scheduling & Affinity — CFS scheduler, nice/renice, ionice, taskset for CPU affinity, numactl, and real-time priorities.
- curl & wget for HTTP Debugging — curl -v for HTTP debugging, custom headers, authentication, TLS inspection, and REST API calls.
- Disk Management — fdisk, gdisk, parted, mkfs, fsck, blkid, and smartctl for partitioning, formatting, and drive health.
- DNS Debugging Tools — dig, nslookup, host, /etc/resolv.conf, /etc/nsswitch.conf, and systemd-resolved.
- eBPF & bcc Toolset — Extended BPF programs for tracing, networking, and security — bcc tools, bpftrace one-liners, and production u
- ext4, XFS & btrfs — ext4 journal modes, XFS advantages, tune2fs, xfs_repair, btrfs copy-on-write, and filesystem selection.
- File Permissions & ACLs — chmod, chown, umask, SUID/SGID/sticky bit, and POSIX ACLs for fine-grained access control.
- Firmware Signing & Secure Boot — How firmware code signing, the UEFI Secure Boot chain of trust, and kernel module signing fit into a CI pipeli
- ftrace & bpftrace Tracing — Kernel function tracing with ftrace, event tracing, bpftrace one-liners for production observability without k
- Inodes & Links — Inode structure, stat output, hard links vs symlinks, inode exhaustion diagnosis, and df -i.
- IP Routing & Policy Routing — ip route, routing tables, default gateway, policy routing with ip rule, and ECMP load balancing.
- iptables & nftables — Netfilter tables, chains, rules, NAT, connection tracking, and Kubernetes kube-proxy iptables rules.
- Job Control & Process Management — fg/bg, jobs, disown, nohup, Ctrl+C/Z signals, process substitution, and pipeline control.
- journalctl & Log Management — journalctl filtering, persistent logs, vacuum, priority levels, and journald.conf tuning.
- Kernel & Driver Build Environments — How to build the kernel driver and out-of-tree modules like amdgpu across kernel versions in CI, covering Kbui
- LDAP & sssd Integration — Centralized authentication with LDAP/Active Directory via sssd, PAM integration, and Kerberos SSO for Linux ho
- Linux Audit System — auditd, auditctl rules, ausearch, aureport, and using audit logs for forensic investigation.
- Linux Boot Process — BIOS/UEFI → GRUB2 → kernel → initramfs → systemd: understanding every stage of boot.
- Linux Capabilities — Linux capabilities subdivide root privileges — getcap, setcap, capsh, and Docker cap-drop patterns.
- Linux Filesystem — VFS layer, inodes, hard vs soft links, ext4 and XFS, mount points, and filesystem capacity diagnosis.
- Linux Kernel & /proc — Monolithic kernel design, loadable modules, /proc and /sys filesystems, and sysctl tunables.
- Linux Networking L2 and L3 — Linux networking spans two foundational OSI layers: Layer 2 handles Ethernet framing, MAC addressing, ARP, and
- Linux Networking Tools — ip, ss, curl, dig, tcpdump, nmap, traceroute, and nc — the production debugging toolkit.
- Linux Processes — Process lifecycle, states, PID namespaces, fork/exec, zombie processes, and process trees.
- Linux Signals — Signal delivery, common signals, signal masking, SIGTERM vs SIGKILL, and graceful shutdown patterns.
- Linux Storage — Linux storage spans the full stack from physical block devices through partition tables, filesystems, and the
- lsof: List Open Files — lsof for open files, network connections, process file descriptors, and recovering deleted files.
- LUKS & dm-crypt Encryption — Full-disk and partition encryption with dm-crypt and LUKS2, key management, TPM2 unlocking, and Kubernetes enc
- LVM & Disk Management — Physical volumes, volume groups, logical volumes, snapshots, thin provisioning, and live resize.
- Memory Management — Virtual memory, page cache, OOM killer, swap, huge pages, and container memory limits.
- Mount & fstab — mount command, /etc/fstab format, bind mounts, tmpfs, noatime optimization, and autofs lazy mounting.
- NUMA Topology & Memory Policy — NUMA architecture, memory node locality, numactl policies, and NUMA-aware tuning for latency-sensitive workloa
- Package Management — apt/dpkg, yum/dnf/rpm, snap, and compiling from source — the full software installation stack.
- Packet Capture with tcpdump — tcpdump capture syntax, BPF filters, writing pcap files, and tshark for terminal analysis.
- perf & Flame Graphs — perf stat, perf record/report, generating flame graphs, and off-CPU analysis for I/O bottlenecks.
- Pipes & Redirection — stdin/stdout/stderr, pipes, here-docs, process substitution, and tee for multi-destination output.
- seccomp Syscall Filtering — seccomp and seccomp-BPF for syscall filtering in containers, Docker default profiles, and writing custom filte
- SELinux — SELinux enforcing/permissive modes, contexts, audit2allow, chcon, semanage, and restorecon.
- Service Management with systemctl — systemctl verbs, unit file Wants/Requires/After, target units, enable vs start, and daemon-reload.
- Socket Statistics: ss & netstat — ss -tulnp vs netstat, TCP socket state machine, TIME_WAIT, and CLOSE_WAIT diagnosis.
- Software RAID with mdadm — mdadm RAID levels 0/1/5/6/10, degraded arrays, rebuild monitoring, and replacing failed drives.
- SSH Hardening — Key-based authentication, sshd_config hardening, jump hosts, port forwarding, and certificate-based auth.
- strace & ltrace — Tracing system calls and library calls to debug mysterious application behavior.
- sudo & PAM — sudoers syntax, NOPASSWD, visudo, PAM modules, pam_faillock, and /etc/pam.d structure.
- Swap Management & Tuning — Swap partitions vs swapfiles, swappiness tuning, zswap, and why swap matters even with large RAM on modern Lin
- systemd Service Sandboxing — PrivateTmp, PrivateNetwork, ProtectSystem, NoNewPrivileges, and systemd-analyze security.
- systemd Units & Services — Unit files, service types, dependency ordering, socket activation, and service hardening directives.
- Text Processing Tools — grep, sed, awk, cut, sort, uniq, tr, wc, head/tail, and xargs for command-line data processing.
- top & htop: Process Monitoring — Load average interpretation, CPU time breakdown columns, interactive commands, and htop advantages.
- USE Method & Flame Graphs — Brendan Gregg USE Method for resource analysis, flame graph interpretation, off-CPU analysis, and production p
- Users, Groups & Authentication — /etc/passwd, /etc/shadow, useradd/usermod, and the distinction between su and sudo.
- Variables & Environment — Variable scoping, export, environment inspection, $PATH, $IFS, and Bash special variables.
- VFS & OverlayFS — Linux VFS abstraction, mount namespaces, bind mounts, OverlayFS layering for container images, and copy-on-wri
- vmstat & iostat — vmstat fields for system-level stats, iostat -x for disk I/O deep-dive, and await vs svctm.
Start free on Cariara · Coding problems · System design studio