.NET Architectural Overview
.NET Framework Class Library
Delegates and Events
Multithreading and Concurrency
Portable Executable (PE) File
CLS and CTS
Value and Reference Types
Common Language Runtime (CLR)
1. Which one of the following is NOT a valid ThreadState?
A: Unstarted B: Background C: Suspended D:Terminated E: Running
2. Which one of the following determines where a type is stored?
A: All types larger than 64 bits are stored on the stack.
B: All types are stored on the stack.
C: The Common Language Runtime (CLR) determines whether a type is stored on the stack or heap based on space availability.
D: All types are stored on the heap.
E: If the type is a reference type, it is stored on the managed heap. A value type is stored on the stack.
3. Which one of the following namespaces of the .NET Framework do you use to create metadata dynamically at runtime?
A: System.AppDomainSetup B: System.Management
C: System.Reflection.Emit D: System.Activator
4. Which one of the following explains how .NET Framework alleviates DLL Hell?
A: The Common Language Runtime (CLR) and Assemblies can only use the version of a component with which they were compiled.
B: The Common Language Runtime (CLR) does not allow administrators to change the version of a component that an Assembly references externally.
C: The identity and state of all managed code is maintained in the system registry at runtime.
D: The Common Language Runtime (CLR) only allows a single version of a component to be registered in the Global Assembly Cache (GAC).
E: The Common Language Runtime (CLR) and Assemblies specify and enforce versioning rules and allow side-by-side execution of a software component.
5. When is a reference type released?
A: When the developer explicitly invokes its Finalize method
B: When the developer explicitly invokes its Dispose method
C: When the reference counter reaches 0
D: When the developer explicitly sets its value to nothing and the garbage collector moves the object to generation zero
E: When the garbage collector finds that no roots reference it during a collection
6. Joan registers a strongly named assembly in the Global Assembly Cache (GAC). She does this so that a hash is performed on the assembly file containing the manifest with the public key, and she verifies it against the hash of the manifest created with the private key at build time.
Question: Given the scenario above, when is this comparison performed?
A: Each time the Common Language Runtime (CLR) loads the assembly
B: Each time a runtime host loads the Common Language Runtime (CLR)
C: When the assembly is registered with the GAC
D: When the sn.exe program is executed
E: When the JIT compiler in the Common Language Runtime (CLR) compiles the assembly
7. Which one of the following public methods of a delegate is new in .NET 2.0?
A: Invoke() B: BeginInvoke() C: InvokeMethod()
D: EndInvoke() E: DynamicInvoke()
8. Brian has a custom business object model. He needs to instantiate a strongly typed collection of one of his domain objects.
Question: In which one of the following namespaces does Brian find classes suited to the task described in the scenario above?
A: System.Collections.Specialized B: System.Collections
C: System.Data D: System.Collections.StrongTyping E: System.Collections.Generic
9. In order to create a custom role based security mechanism, which one of the following interfaces do you implement?
A: ISecurityToken B: IRoleProvider C: IPrinciple
D: IIdentity E: IUser
10. Scenario:Steve wants to create a .NET application that is accessible over HTTP, offers its payload
in XML, and is accessible programmatically.
Question: Given the scenario above, what type of application does Steve create?
A: Windows console application B: Web Service
C: Windows Service D: Windows GUI application
E: Distributed COM
11. When enumerating over a Dictionary<T, K>, which one of the following types of objects does the enumerator return?
A: DictionaryEntry<T, K> B: IEnumerable<K>
C: KeyValuePair<T, K> D: LookupEntry<T, K>
E: You cannot enumerate a Dictionary<T, K>.
12. Which one of the following is NOT true concerning exceptions?
A: Throwing an exception is a costly operation.
B: All exceptions have an InnerException property.
C: Exceptions should be used to handle basic program flow.
D: You can obtain a stack trace from an exception.
E: All exceptions ultimately inherit from Exception.
13. Scenario: Steve wants to view the underlying object type of an integer in the .NET Framework class library.
Question: Given the scenario above, in which one of the following namespaces does Steve look?
A: System B: System.Runtime
C: System.Data D: Microsoft.Win32
14. While the DateTime type has a variety of ways of displaying the date as a string, which one of the following is NOT a valid display option?
A: DateTime.ToDateString() B: DateTime.ToString("dddd MMMM %d yyyy")
C: DateTime.ToLongDateString() D: DateTime.ToShortDateString()
15. Scenario: Gail wants to compile her Visual Basic .NET source code.
Question: Given the scenario above, which one of the following command-line tools does Gail use?
A: vbnet.exe B: cl.exe
C: vbc.exe D: vb.exe
16. How do you deterministically release unmanaged resources held by a reference object?
A: Use a destructor.
B: Let the garbage collector release the resources automatically.
C: Use a Finalize method.
D: Use the Release method
E: Use a Dispose method.
16. The Common Language Runtime (CLR) is very efficient for creating objects on the managed heap for which one of the following reasons?
A: It uses a pointer to the next object location that is incremented by the size of the last object.
B: It uses linked lists to manage objects.
C: It uses a First-In-First-Out (FIFO) stack of typed pointers to manage heap objects.
D: It uses a round robin queue that has three generations.
E: It uses directed graphs to manage objects consisting of only reachable objects.
17. Scenario: Linda has registered a strongly named assembly in the Global Assembly Cache with a higher version number than one that already has been registered
Question: Given the scenario above, which one of the following statements is true regarding the side-by-side execution of Linda's assembly?
A: The two assemblies can run at the same time, but only in different processes.
B: The two assemblies can run at the same time only if they are both registered against the COM+ catalog.
C: The two assemblies cannot run at the same time, but either one can run at any one time.
D: The two assemblies can run at the same time, but they must be in the same process.
E: The two assemblies can run at the same time, but they must be in the same application domain.