Windows Programing Interview Questions And Answers
Download Windows Programing Interview Questions and Answers PDF
Strengthen your Windows Programing interview skills with our collection of 35 important questions. Each question is designed to test and expand your Windows Programing expertise. Suitable for all experience levels, these questions will help you prepare thoroughly. Download the free PDF to have all 35 questions at your fingertips. This resource is designed to boost your confidence and ensure you're interview-ready.
35 Windows Programing Questions and Answers:
Windows Programing Job Interview Questions Table of Contents:
1 :: Explain the important aspect of a real-time system or Mission Critical Systems?
A real time operating system has well defined fixed time constraints. Process must be done within the defined constraints or the system will fail. An example is the operating system for a flight control computer or an advanced jet airplane. Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems.Real-Time systems may be either hard or soft real-time.
Hard real-time:
Secondary storage limited or absent, data stored in short term memory, or read-only memory (ROM) Conflicts with time-sharing systems, not supported by general-purpose operating systems.
Soft real-time:
► Limited utility in industrial control of robotics
► Useful in applications (multimedia, virtual reality) requiring advanced operating-system features.
Read MoreHard real-time:
Secondary storage limited or absent, data stored in short term memory, or read-only memory (ROM) Conflicts with time-sharing systems, not supported by general-purpose operating systems.
Soft real-time:
► Limited utility in industrial control of robotics
► Useful in applications (multimedia, virtual reality) requiring advanced operating-system features.
2 :: What is Segmentation with paging?
Segments can be of different lengths, so it is harder to find a place for a segment in memory than a page. With segmented virtual memory, we get the benefits of virtual memory but we still have to do dynamic storage allocation of physical memory. In order to avoid this, it is possible to combine segmentation and paging into a two-level
virtual memory system. Each segment descriptor points to page table for that segment.This give some of the advantages of paging (easy placement) with some of the advantages of segments (logical division of the program).
Read Morevirtual memory system. Each segment descriptor points to page table for that segment.This give some of the advantages of paging (easy placement) with some of the advantages of segments (logical division of the program).
3 :: What is Binding of Instructions and Data to Memory?
Address binding of instructions and data to memory addresses can happen at three different stages
Compile time: If memory location known a priori, absolute code can be generated; must recompile code if starting location changes.
Load time: Must generate relocatable code if memory location is not known at compile time.
Execution time: Binding delayed until run time if the process can be moved during its execution from one memory segment to another. Need hardware support for address maps (e.g., base and limit registers).
Multistep Processing of a User Program
Read MoreCompile time: If memory location known a priori, absolute code can be generated; must recompile code if starting location changes.
Load time: Must generate relocatable code if memory location is not known at compile time.
Execution time: Binding delayed until run time if the process can be moved during its execution from one memory segment to another. Need hardware support for address maps (e.g., base and limit registers).
Multistep Processing of a User Program
4 :: Explain How does the kernel object outlive the process that created it?
If your process calls a function that creates a kernel object and then your process terminates, the kernel object is not necessarily destroyed. Under most circumstances, the object will be destroyed; but if another process is using the kernel object your process created, the kernel knows not to destroy the object until the other process has stopped using it
Read More5 :: Explain Difference between Logical and Physical Address Space?
The concept of a logical address space that is bound to a separate physical address space is central to proper memory management.
Logical address generated by the CPU; also referred to as virtual address.
Physical address address seen by the memory unit.
Logical and physical addresses are the same in compile-time and load-time address-binding schemes; logical (virtual) and physical addresses differ in execution-time address-binding scheme
Read MoreLogical address generated by the CPU; also referred to as virtual address.
Physical address address seen by the memory unit.
Logical and physical addresses are the same in compile-time and load-time address-binding schemes; logical (virtual) and physical addresses differ in execution-time address-binding scheme
6 :: Explain What are GPO links? What special things can I do to them?
To apply the settings of a GPO to the users and computers of a domain, site, or OU, you need to add a link to that GPO. You can add one or more GPO links to each domain, site, or OU by using GPMC. Keep in mind that creating and linking GPOs is a sensitive privilege that should be delegated only to administrators who are trusted and understand Group Policy.
Read More7 :: Explain What is the purpose of Process Handle Table?
When a process is initialized, the system allocates a handle table for it. This handle table is used only for kernel objects, not for User objects or GDI objects. When a process first initializes, its handle table is empty. Then when a thread in the process calls a function that creates a kernel object, such as CreateFileMapping , the kernel allocates a block of memory for the object and initializes it; the kernel then scans the process?s handle table for an empty entry
Read More8 :: Explain What is multi tasking, multi programming, multi threading?
Multi programming:
Multiprogramming is the technique of running several programs at a time using timesharing.
It allows a computer to do several things at the same time. Multiprogramming creates logical parallelism.
The concept of multiprogramming is that the operating system keeps several jobs in memory simultaneously. The operating system selects a job from the job pool and starts executing a job, when that job needs to wait for any i/o operations the CPU is switched to another job. So the main idea here is that the CPU is never idle.
Multi tasking:
Multitasking is the logical extension of multiprogramming .The concept of multitasking is quite similar to multiprogramming but difference is that the switching
between jobs occurs so frequently that the users can interact with each program while it is running. This concept is also known as time-sharing systems. A time-shared operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of time-shared system.
Multi threading:
An application typically is implemented as a separate process with several threads of control. In some situations a single application may be required to perform several similar tasks for example a web server accepts client requests for web pages, images, sound, and so forth.
Read MoreMultiprogramming is the technique of running several programs at a time using timesharing.
It allows a computer to do several things at the same time. Multiprogramming creates logical parallelism.
The concept of multiprogramming is that the operating system keeps several jobs in memory simultaneously. The operating system selects a job from the job pool and starts executing a job, when that job needs to wait for any i/o operations the CPU is switched to another job. So the main idea here is that the CPU is never idle.
Multi tasking:
Multitasking is the logical extension of multiprogramming .The concept of multitasking is quite similar to multiprogramming but difference is that the switching
between jobs occurs so frequently that the users can interact with each program while it is running. This concept is also known as time-sharing systems. A time-shared operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of time-shared system.
Multi threading:
An application typically is implemented as a separate process with several threads of control. In some situations a single application may be required to perform several similar tasks for example a web server accepts client requests for web pages, images, sound, and so forth.
9 :: How to Backup Active Directory?
Backing up Active Directory is essential to maintain an Active Directory database. You can back up Active Directory by using the Graphical User Interface (GUI) and command-line tools that the Windows Server 2003 family provides.
You frequently backup the system state data on domain controllers so that you can restore the most current data. By establishing a regular backup schedule, you have a better chance of recovering data when necessary.
To ensure a good backup includes at least the system state data and contents of the system disk, you must be aware of the tombstone lifetime. By default, the tombstone is 60 days. Any backup older than 60 days is not a good backup. Plan to backup at least two domain controllers in each domain, one of at least one backup to enable an authoritative restore of the data when necessary.
Read MoreYou frequently backup the system state data on domain controllers so that you can restore the most current data. By establishing a regular backup schedule, you have a better chance of recovering data when necessary.
To ensure a good backup includes at least the system state data and contents of the system disk, you must be aware of the tombstone lifetime. By default, the tombstone is 60 days. Any backup older than 60 days is not a good backup. Plan to backup at least two domain controllers in each domain, one of at least one backup to enable an authoritative restore of the data when necessary.
10 :: Explain What are the GPC and the GPT? Where can we find them?
GPOs store group policy settings in two locations: a Group Policy container (GPC) (preferred) and a Group Policy template (GPT). The GPC is an Active Directory object that stores version information, status information, and other policy information (for example, application objects).
The GPT is used for file-based data and stores software policy, script, and deployment information. The GPT is located on the system volume folder of the domain controller. A GPO can be associated with one or more Active Directory containers, such as a site, domain, or organizational unit. Multiple containers can be associated with the same GPO, and a single container can have more than one associated GPO.
Read MoreThe GPT is used for file-based data and stores software policy, script, and deployment information. The GPT is located on the system volume folder of the domain controller. A GPO can be associated with one or more Active Directory containers, such as a site, domain, or organizational unit. Multiple containers can be associated with the same GPO, and a single container can have more than one associated GPO.
11 :: Differentiate between the Compiler and Interpreter?
An interpreter reads one instruction at a time and carries out the actions implied by that instruction. It does not perform any translation. But a compiler translates the entire instructions.
Read More12 :: Explain Synchronization Objects?
Synchronization object s are use to co-ordinate the execution of multiple threads. Which kernel objects are use for Thread Synchronization on different processes? - Event, Mutex, Semaphore
Read More13 :: Explain tombstone lifetime attribute?
The number of days before a deleted object is removed from the directory services. This assists in removing objects from replicated servers and preventing restores from reintroducing a deleted object. This value is in the Directory Service object in the configuration NIC
by default 2000 (60 days)
Read Moreby default 2000 (60 days)
14 :: What is Distributed Systems?
Distribute the computation among several physical processors.
Loosely coupled system each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed
buses or telephone lines
Advantages of distributed systems:
► Resources Sharing
► Computation speed up load sharing
► Reliability
► Communications
Read MoreLoosely coupled system each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed
buses or telephone lines
Advantages of distributed systems:
► Resources Sharing
► Computation speed up load sharing
► Reliability
► Communications
15 :: Explain What are the difference phases of software development or software life cycle?
Specification of the task
Design of algorithms
Implementation (coding)
Testing and debugging
Maintenance and evolution of the system
Obsolescence
Read MoreDesign of algorithms
Implementation (coding)
Testing and debugging
Maintenance and evolution of the system
Obsolescence
16 :: Explain the cause of thrashing? How does the system detect thrashing? Once it detects thrashing, what can the system do to eliminate this problem?
Thrashing is caused by under allocation of the minimum number of pages required by a process, forcing it to continuously page fault. The system can detect thrashing by evaluating the level of CPU utilization as compared to the level of multiprogramming. It can be eliminated by reducing the level of multiprogramming.
Read More17 :: Explain the state of the processor, when a process is waiting for some event to occur?
Waiting state
Read More18 :: Explain What are types of kernel objects?
Several types of kernel objects, such as access token objects, event objects, file objects, file-mapping objects, I/O completion port objects, job objects, mailslot objects, mutex objects, pipe objects, process objects, semaphore objects, thread objects, and waitable timer objects.
Read More19 :: Explain What is the need of process relative handles?
The most important reason was robustness. If kernel object handles were system-wide values, one process could easily obtain the handle to an object that another process was using and wreak havoc on that process. Another reason for process-relative handles is security. Kernel objects are protected with security, and a process must request permission to manipulate an object before attempting to manipulate it. The creator of the object can prevent an unauthorized user from touching the object simply by denying access to it
Read More20 :: Explain Dispatcher?
Dispatcher module gives control of the CPU to the process selected by the short-term scheduler; this involves:
Switching context
Switching to user mode
Jumping to the proper location in the user program to restart that program
Dispatch latency ? time it takes for the dispatcher to stop one process and start another running.
Read MoreSwitching context
Switching to user mode
Jumping to the proper location in the user program to restart that program
Dispatch latency ? time it takes for the dispatcher to stop one process and start another running.
21 :: Explain Difference between Primary storage and secondary storage?
Main memory:
only large storage media that the CPU can access directly.
Secondary storage:
extension of main memory that provides large nonvolatile storage capacity.
Read Moreonly large storage media that the CPU can access directly.
Secondary storage:
extension of main memory that provides large nonvolatile storage capacity.
22 :: Explain Context Switch?
Switching the CPU to another process requires saving the state of the old process and loading the saved state for the new process. This task is known as a context switch. Context-switch time is pure overhead, because the system does no useful work while switching. Its speed varies from machine to machine, depending on the memory
speed, the number of registers which must be copied, the existed of special instructions(such as a single instruction to load or store all registers).
Read Morespeed, the number of registers which must be copied, the existed of special instructions(such as a single instruction to load or store all registers).
23 :: What is Difference between RAM and ROM?
Semiconductor memories are of two types: RAM (random access memory) and ROM (read only memory).
RAM is a read/write memory. Information can be written into and read from a RAM. It is volatile memory.
It stores information so long as power supply is on.
ROM is permanent type memory. Its contents are not lost when power supply goes off. the user cannot write into a ROM.Its contents are decided by the manufacturer and written at the time of manufacture. Programmable ROMs are also available. They are called PROMs.
Read MoreRAM is a read/write memory. Information can be written into and read from a RAM. It is volatile memory.
It stores information so long as power supply is on.
ROM is permanent type memory. Its contents are not lost when power supply goes off. the user cannot write into a ROM.Its contents are decided by the manufacturer and written at the time of manufacture. Programmable ROMs are also available. They are called PROMs.
24 :: Explain What are the main difference between Micro-Controller and Micro- Processor?
A microcontroller is by definition a is a computer on a chip. It includes all the necessary parts (including the memory) all in one IC. You just need to apply the power (and possibly clock signal) to that device and it starts executing the program programmed to it. A microcontroller generally has the main CPU core, ROM/EPROM/EEPROM/FLASH, RAM and some necessary functions (like timers and I/O controllers) all integrated into one chip. The original idea behind the
microcontroller was to limit the capabilities of the CPU itself, allowing a complete computer (memory, I/O, interrupts, etc) to fit on the available silicon real estate.
Microcontrollers are typically used where processing power isn't so important. More important are generally compact construction, small size, low power consumption and that those chips are cheap. For example controlling a microwave oven is easily accomplished with the smallest of microcontrollers. There is countless number of small
electronic devices which are nowadays based on microcontroller. A modern home can include easily tens or hundreds of microcontrollers, as almost every modern device which has electronics have a microcontroller (or more than one) inside.
Microprocessor is generally just the CPU core itself, although nowadays it might have some accessory parts also integrated to the same chip
Read Moremicrocontroller was to limit the capabilities of the CPU itself, allowing a complete computer (memory, I/O, interrupts, etc) to fit on the available silicon real estate.
Microcontrollers are typically used where processing power isn't so important. More important are generally compact construction, small size, low power consumption and that those chips are cheap. For example controlling a microwave oven is easily accomplished with the smallest of microcontrollers. There is countless number of small
electronic devices which are nowadays based on microcontroller. A modern home can include easily tens or hundreds of microcontrollers, as almost every modern device which has electronics have a microcontroller (or more than one) inside.
Microprocessor is generally just the CPU core itself, although nowadays it might have some accessory parts also integrated to the same chip
25 :: Explain How do other threads own the mutex?
Threads in other processes can open a handle to an existing named mutex object by specifying its name in a call to theOpenMutex - function. Any thread with a handle to a mutex object can use one of the wait functions to request ownership of the mutex object. If the mutex object is owned by another thread, the wait function blocks the requesting thread until the owning thread releases the mutex object using theReleaseMutex - function.
Read More