InterviewStack.io LogoInterviewStack.io

Operating System Fundamentals Questions

Comprehensive knowledge of operating system concepts and practical administration across Linux, Unix, and Windows platforms. Core theoretical topics include processes and threads, process creation and termination, scheduling and context switching, synchronization and deadlock conditions, system calls, kernel versus user space, interrupt handling, memory management including virtual memory, paging and swapping, and input and output semantics including file descriptors. Practical administration and tooling expectations include file systems and permission models, user and group account management, common system utilities and commands such as grep, find, ps, and top, package management, service and process management, startup and boot processes, environment variables, shell and scripting basics, system monitoring, and performance tuning. Platform specific knowledge should cover Unix and Linux topics such as signals and signal handling, kernel modules, initialization and service management systems, and command line administration, as well as Windows topics such as the registry, service management, event logs, user account control, and graphical and command line administration tools. Security and infrastructure topics include basic system hardening, common misconfigurations, and an understanding of containerization and virtualization at the operating system level. Interview questions may probe conceptual explanations, platform comparisons, troubleshooting scenarios, or hands on problem solving.

MediumTechnical
61 practiced
Define deadlock and its necessary conditions. Provide a small code or resource-allocation example that can deadlock and then explain three practical strategies to handle deadlocks in production systems: prevention, avoidance (e.g., Banker's algorithm), detection and recovery.
HardTechnical
65 practiced
Explain atomic operations and lock-free programming primitives. Compare atomic compare-and-swap (CAS) with mutexes in terms of fairness, performance under contention, and complexity. Provide a simple lock-free stack pseudocode sketch using CAS and discuss ABA problem and how to mitigate it.
MediumTechnical
107 practiced
How can you change environment variables for a running process? Explain what is and is not possible, and propose strategies to update runtime behavior without restarting the process (e.g., config reload endpoints, signaling, using a proxy process, or process supervisors).
HardSystem Design
74 practiced
Design a scheduler for a multi-core operating system that must support tens of thousands of runnable threads, multiple priority levels, fairness, and low latency for interactive tasks. Describe data structures, CPU run queues, load balancing between cores, and how to handle priority inversion and starvation.
HardTechnical
70 practiced
Describe at a high level how to write a Linux kernel module that registers a character device. Include the steps to allocate device numbers, create a device file (/dev/mychardev), implement file_operations open/read/write/release, and load/unload the module safely. Mention common pitfalls for memory and concurrency in kernel modules.

Unlock Full Question Bank

Get access to hundreds of Operating System Fundamentals interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.