Wednesday, June 22, 2011

.NET Interview Questions 2; Answers

Describe the difference between a Thread and a Process? 
--- Both are individual execution paths, but process timeslicing (and memory space) is enforced by the OS, while thread differentiation is enforced by applications.

What is a Windows Service and how does its lifecycle differ from a "standard" EXE? 
--- Services are loaded by the operating system and run in contained process spaces detatched from user interaction; users logging on and off the system have no impact on them.

What is the maximum amount of memory any single process on Windows can address? Is this different than the maximum virtual memory for the system? How would this affect a system design? 
--- Windows processes are allowed 4GB of virtual address space, regardless of the actual amount of memory on the machine. Windows x64 allows 16TB of address space.

What is the difference between an EXE and a DLL? 
--- EXEs can be launched as processes by the operating system. DLL executable code must be invoked by an existing process.

What is strong-typing versus weak-typing? Which is preferred? Why? 
--- Strong-typing refers to defining the specific type of a reference at compile time rather than at run time. This results in more efficient execution and memory optimizations at compile time, as well as reduces the chance of a programmer accidentally providing a value of a type another component wasn't expecting.

Corillian's product is a "Component Container." Name at least 3 component containers that ship now with the Windows Server Family. 
--- Component containers implement the IContainer interface to wrap components, providing a meta-architecture for organizing, interacting and communicating with the components.

What is a PID? How is it useful when troubleshooting a system? 
--- (Ambiguous) This could refer to either a Microsoft Product ID -- the unique key that brands each activatable component installed on a system -- or to a Process ID, which is a means of referring to a specific process in calls to the Windows API.

How many processes can listen on a single TCP/IP port? 
--- One.