Published: October 12, 2012
Languages: English, Chinese (Simplified), French, German, Japanese, Portuguese (Brazil)
Audiences: Developers
Technology: Visual Studio 2012
Credit toward certification: MCP, MCSD

Skills measured
This exam measures your ability to accomplish the technical tasks listed below. The percentages indicate the relative weight of each major topic area on the exam. The higher the percentage, the more questions you are likely to see on that content area on the exam. View video tutorials about the variety of question types on Microsoft exams.

Please note that the questions may test on, but will not be limited to, the topics described in the bulleted text.

Do you have feedback about the relevance of the skills measured on this exam? Please send Microsoft your comments. All feedback will be reviewed and incorporated as appropriate while still maintaining the validity and reliability of the certification process. Note that Microsoft will not respond directly to your feedback. We appreciate your input in ensuring the quality of the Microsoft Certification program.

If you have concerns about specific questions on this exam, please submit an exam challenge.

If you have other questions or feedback about Microsoft Certification exams or about the certification program, registration, or promotions, please contact your Regional Service Center.

Manage program flow (25–30%)
Implement multithreading and asynchronous processing
Use the Task Parallel library (ParallelFor, Plinq, Tasks); create continuation tasks; spawn threads by using ThreadPool; unblock the UI; use async and await keywords; manage data by using concurrent collections
Manage multithreading
Synchronize resources; implement locking; cancel a long-running task; implement thread-safe methods to handle race conditions
Implement program flow
Iterate across collection and array items; program decisions by using switch statements, if/then, and operators; evaluate expressions
Create and implement events and callbacks
Create event handlers; subscribe to and unsubscribe from events; use built-in delegate types to create events; create delegates; lambda expressions; anonymous methods
Implement exception handling
Handle exception types (SQL exceptions, network exceptions, communication exceptions, network timeout exceptions); catch typed vs. base exceptions; implement try-catch-finally blocks; throw exceptions; determine when to rethrow vs. throw; create custom exceptions

Preparation resources
Asynchronous programming with Async and Await (C# and Visual Basic)
Threading (C# and Visual Basic)
Selection statements (C# reference)

Create and use types (25–30%)
Create types
Create value types (structs, enum), reference types, generic types, constructors, static variables, methods, classes, extension methods, optional and named parameters, and indexed properties; create overloaded and overriden methods
Consume types
Box or unbox to convert between value types; cast types; convert types; handle dynamic types; ensure interoperability with unmanaged code, for example, dynamic keyword
Enforce encapsulation
Enforce encapsulation by using properties, by using accessors (public, private, protected), and by using explicit interface implementation
Create and implement a class hierarchy
Design and implement an interface; inherit from a base class; create and implement classes based on the IComparable, IEnumerable, IDisposable, and IUnknown interfaces
Find, execute, and create types at runtime by using reflection
Create and apply attributes; read attributes; generate code at runtime by using CodeDom and lambda expressions; use types from the System.Reflection namespace (Assembly, PropertyInfo, MethodInfo, Type)
Manage the object life cycle
Manage unmanaged resources; implement IDisposable, including interaction with finalization; manage IDisposable by using the Using statement; manage finalization and garbage collection
Manipulate strings
Manipulate strings by using the StringBuilder, StringWriter, and StringReader classes; search strings; enumerate string methods; format strings

Preparation resources
Types (C# programming guide)
Classes and structs (C# programming guide)
Object-oriented programming (C# and Visual Basic)

Debug applications and implement security (25–30%)
Validate application input
Validate JSON data; data collection types; manage data integrity; evaluate a regular expression to validate the input format; use built-in functions to validate data type and content out of scope: writing regular expressions
Perform symmetric and asymmetric encryption
Choose an appropriate encryption algorithm; manage and create certificates; implement key management; implement the System.Security namespace; hashing data; encrypt streams
Manage assemblies
Version assemblies; sign assemblies using strong names; implement side-by-side hosting; put an assembly in the global assembly cache; create a WinMD assembly
Debug an application
Create and manage compiler directives; choose an appropriate build type; manage programming database files and symbols
Implement diagnostics in an application
Implement logging and tracing; profiling applications; create and monitor performance counters; write to the event log

Preparation resources
Validating data
.NET Framework regular expressions

Implement data access (25–30%)
Perform I/O operations
Read and write files and streams; read and write from the network by using classes in the System.Net namespace; implement asynchronous I/O operations
Consume data
Retrieve data from a database; update data in a database; consume JSON and XML data; retrieve data by using web services
Query and manipulate data and objects by using LINQ
Query data by using operators (projection, join, group, take, skip, aggregate); create method-based LINQ queries; query data by using query comprehension syntax; select data by using anonymous types; force execution of a query; read, filter, create, and modify data structures by using LINQ to XML
Serialize and deserialize data
Serialize and deserialize data by using binary serialization, custom serialization, XML Serializer, JSON Serializer, and Data Contract Serializer
Store data in and retrieve data from collections
Store and retrieve data by using dictionaries, arrays, lists, sets, and queues; choose a collection type; initialize a collection; add and remove items from a collection; use typed vs. non-typed collections; implement custom collections; implement collection interfaces

Preparation resources
File system and the registry (C# programming guide)
Connecting to data in Visual Studio
Editing data in your application

You work as a senior developer at The network consists of a single domain
You are running a training exercise for junior developers. You are currently discussing the use of
the Queue <T> collection type.
Which of the following is TRUE with regards to the Queue <T>collection type?

A. It represents a first in, first out (FIFO) collection of objects.
B. It represents a last in, first out (LIFO) collection of objects.
C. It represents a collection of key/value pairs that are sorted by key based on the associated
IComparer<T> implementation.
D. It represents a list of objects that can be accessed by index.

Answer: A


You work as a developer at The network consists of a single domain named
You have written the following code segment:
int[] filteredEmployeeIds = employeeIds.Distinct().Where(value => value !=
employeeIdToRemove).OrderByDescending(x => x).ToArray();
Which of the following describes reasons for writing this code? (Choose two.)

A. To sort the array in order from the highest value to the lowest value.
B. To sort the array in order from the lowest value to the highest value.
C. To remove duplicate integers from the employeeIds array.
D. To remove all integers from the employeeIds array.

Answer: A,C


You work as a senior developer at The network consists of a single domain named
You are running a training exercise for junior developers. You are currently discussing the use of a
method that moves the SqlDataReader on to the subsequent record.
Which of the following is the SqlDataReader method that allows for this?

A. The Read method.
B. The Next method.
C. The Result method.
D. The NextResult method.

Answer: A


You work as a developer at The network consists of a single domain named
You have received instructions to create a custom collection for Objects in the
collection must be processed via a foreach loop.
Which of the following is TRUE with regards to the required code?

A. The code should implement the ICollection interface.
B. The code should implement the IComparer interface.
C. The code should implement the IEnumerable interface.
D. The code should implement the IEnumerator interface.

Answer: C


You work as a senior developer at The network consists of a single domain named
You are running a training exercise for junior developers. You are currently discussing the use of LINQ queries.
Which of the following is NOT considered a distinct action of a LINQ query?

A. Creating the query.
B. Obtaining the data source.
C. Creating the data source.
D. Executing the query.

Answer: C


Click here to view complete Q&A of 70-483 exam
Certkingdom Review

MCTS Training, MCITP Trainnig

Best Microsoft MCTS Certification, Microsoft 70-483 Training at