48
Exam Prep: 70-483 Programming in C# Sidney Andrews, MCT @sidney_andrews

Training Guide: Programming in C#

Embed Size (px)

Citation preview

Page 1: Training Guide: Programming in C#

Exam Prep: 70-483 Programming in C#Sidney Andrews, MCT@sidney_andrews

Page 2: Training Guide: Programming in C#

Session Objectives• Understand where 70-483 fits into overall

certification goals• Understand the objective domain for the

70-483 exam• Review a selection of topics covered by

the exam

Page 3: Training Guide: Programming in C#

Microsoft Certifications

Page 4: Training Guide: Programming in C#

For YouIncreased confidence in your abilities at workEnhanced product knowledgeLearn about certification to educate your coworkers and bosses

Shows drive and initiativeDemonstrate mastery of a productSets you apart from your peersRecognition inside and outside of MicrosoftCompletely achievable at TechEd

For Your Career

Page 5: Training Guide: Programming in C#

MCSE and MCSD Certifications

Web Applications SharePoint Apps

Server Infrastructure Desktop Infrastructure

Business Intelligence Data Platform

Private Cloud

Page 6: Training Guide: Programming in C#

Increased RigorReflection of the real worldLearn more, validate moreSolutions are more complex, questions must reflect thatBest way to measure candidates know what they know

New item typesFewer multiple choiceCase studies

Scenario basedSee big picture and make decisions

Innovative item types

Page 7: Training Guide: Programming in C#

Exam Tips

Page 8: Training Guide: Programming in C#

Exam Basics40-60 questions1-4 hours to complete the examCan review questionsCannot move between case studies

700 is passing700 is not 70%

Page 9: Training Guide: Programming in C#

All questions have a consistent anatomy:

How to interpret questions

One or Multiple Correct Answers

Business Problem Goal Statement

Multiple Distracters

Page 10: Training Guide: Programming in C#

Questions are not intended to trick you

Page 11: Training Guide: Programming in C#

Exam ScoringEach exam has a “cut score”No partial creditNo points deducted for wrong answers

Page 12: Training Guide: Programming in C#

Study Resources

Page 13: Training Guide: Programming in C#

http://www.Microsoft.com/learning/en-us/exam-70-483.aspx

Skills MeasuredBroken down by percentage

Preparation OptionsInstructor-led training (MOC)Exam prep videoCommunity Links

Microsoft Learning Website

Page 14: Training Guide: Programming in C#

http://www.Microsoft.com/learning/en-us/exam-70-483.aspx

Microsoft Learning Website

Page 15: Training Guide: Programming in C#

Programming in C# Jump Starthttp://www.microsoftvirtualacademy.com/training-courses/developer-training-with-programming-in-c

C# Fundaments for Absolute Beginnershttp://www.microsoftvirtualacademy.com/training-courses/c-fundamentals-for-absolute-beginners

Microsoft Virtual Academy

Page 16: Training Guide: Programming in C#

Microsoft Press

Training Guide: Programming in C#

Page 17: Training Guide: Programming in C#

Exam Topics

Page 18: Training Guide: Programming in C#

Exam Outline

Manage Program Flow25%

Create and Use Types24%

Debug Applications and Implement Security

25%

Implement Data Access26%

Page 19: Training Guide: Programming in C#

Manage Program FlowCreate and Use TypesDebug Applications and Implement SecurityImplement Data Access

Topics Outline

Page 20: Training Guide: Programming in C#

Manage Program Flow

Page 21: Training Guide: Programming in C#

Task Parallel LibraryParallelForPLINQTasks

Async/Await keywordsConcurrent Collections

ConcurrentBagConcurrentDictionaryConcurrentQueueBlockingCollection

Asynchronous Processing

Page 22: Training Guide: Programming in C#

Cancellation TokensCancellationTokenSource, CancellationTokenPassing into TaskCancelling a Task

LocksThread-safe methods

Multithreading

Page 23: Training Guide: Programming in C#

Control Statementsif/thenwhiledo/whileswitchforforeachbreakcontinueGotoyield

Program Flow

Page 24: Training Guide: Programming in C#

DelegatesFunc<T, U>Action<T>Comparison<T>Comparison<T, U>Predicate<T>EventHandler<T>

Lambda expressionsAnonymous methodsSubscribing/Unsubscribing from event

Events and Callbacks

Page 25: Training Guide: Programming in C#

Example QuestionYou have an application that communicates with an external service.

The code to communicate with your service is implemented in a try block. You need a catch block that can re-throw the exception without loosing or changing the call stack so that you can log any unexpected exceptions.

Which catch block will fulfill your goal?

d.

c.

b.

a.

catch(Exception) { throw new Exception(); }

catch(Exception e) { throw e; }

catch(Exception) { throw; }

catch(Exception e) { throw new Exception(e); }

Page 26: Training Guide: Programming in C#

Create and Use Types

Page 27: Training Guide: Programming in C#

Value TypesStructsEnum

Reference TypesGenerics

Types

Page 28: Training Guide: Programming in C#

MethodsOptional ParametersNamed ParametersParameter AttributesPass by Reference vs. Value

Static Extension MethodsIndexersStatic VariablesOverloaded/Overriden Members

Class Members

Page 29: Training Guide: Programming in C#

IDisposableFinalizationUnmanaged ResourcesGarbage Collection

Object Life Cycle

Page 30: Training Guide: Programming in C#

InterfacesMember signatures

Base classesAbstract base classesVirtual membersAbstract members

Existing InterfacesIComparableIEnumerableIDisposableIUnknown

Class Hierarchies

Page 31: Training Guide: Programming in C#

Example QuestionYou have an application that reads data from a database.

You need to combine 100+ lines of text.

Which of these is the most efficient way to combine the different strings?

d.

c.

b.

a.

StringWriter class

StringBuilder class

String concatenation

String append operator +=

Page 32: Training Guide: Programming in C#

Debug Applications and Implement Security

Page 33: Training Guide: Programming in C#

AsymmetricRSACryptoServiceProvider (RSA algorithm)Public and Private Keys

SymmetricCryptoStreamRijndaelManaged (Rijndael algorithm)

Hashing DataMD5CryptoServiceProvider (MD5 Hash)Hash + Salt Data

Encryption

Page 34: Training Guide: Programming in C#

System.Diagnostics.TraceTraceListenersInformation, Warning, Error

ProfilingPerformance CountersSystem.Diagnostics.EventLog

Diagnostics

Page 35: Training Guide: Programming in C#

DebuggingCompiler DirectivesBuild Types

Debug, Release

Versioning AssembliesSigning Assemblies using Strong Names

Builds

Page 36: Training Guide: Programming in C#

Example QuestionYou have a web site that allows users to register new accounts with a username and password. Passwords are hashed and salted in your system.

At login, You need to use one of the encryption classes to hash and salt the user-provided password and verify that it matches the user’s stored password without exposing the original value of their password.

Which of these classes can be used to encrypt the password provided at login?

d.

c.

b.

a.

MD5CryptoServiceProvider

TripleDESCryptoServiceProvider

RSACryptoServiceProvider

SHA1CryptoServiceProvider

Page 37: Training Guide: Programming in C#

Implement Data Access

Page 38: Training Guide: Programming in C#

Working with FilesFile.ReadAllLines, File.ReadLineFile.WriteAllLines

StreamsCryptoStreamFileStreamMemoryStream

System.NetWebRequest, WebResponseHttpWebRequest, HttpWebResponse

I/O Operations

Page 39: Training Guide: Programming in C#

LINQ to XMLXDocument.LoadXElementXAttribute

ClassicXmlReader, XmlTextReaderXmlWriterXmlNavigator

Working with XML

Page 40: Training Guide: Programming in C#

Binary SerializationCustom SerializationXML SerializerData Contract SerializerData Contract JSON Serializer

Serializing Data

Page 41: Training Guide: Programming in C#

OperatorsProjectionJoinGroupTakeSkipAggregate

Writing LINQ extension methodQuery Syntax vs. Lambda SyntaxDeferred Query Execution

LINQ

Page 42: Training Guide: Programming in C#

Generic CollectionsDictionary<T, U>List<T>Queue<T>SortedList<T, U>Stack<T>

ArrayListHashtableQueueStack

Collections

Page 43: Training Guide: Programming in C#

Example QuestionYou have a service application that receives JSON data from client devices.

You need to deserialize the JSON strings to a pre-defined type.

Which of these classes can be used to deserialize your JSON strings?

d.

c.

b.

a.

SoapFormatter

DataContractJsonSerializer

DataContractSerializer

XmlObjectSerializer

Page 44: Training Guide: Programming in C#

Example QuestionYou have an application that queries a list:

int[] values = { 1, 3, 5, 7, 9 }; int threshold = 6;var highValues = from v in values where v >= threshold select v;threshold = 3;var results = highValues.ToList();

What is the contents of the result list?

d.

c.

b.

a.

{ 5, 7, 9 }

{ 1, 3, 5, 7, 9 }

{ 7, 9 }

{ 3, 5, 7, 9 }

Page 45: Training Guide: Programming in C#

Resources

Learning

Microsoft Certification & Training Resources

www.microsoft.com/learning

msdn

Resources for Developers

http://microsoft.com/msdn

TechNet

Resources for IT Professionals

http://microsoft.com/technet

Sessions on Demand

http://channel9.msdn.com/Events/TechEd

Page 46: Training Guide: Programming in C#

Complete an evaluation and enter to win!

Page 47: Training Guide: Programming in C#

Evaluate this session

Scan this QR code to evaluate this session.

Page 48: Training Guide: Programming in C#

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.