User Tools

Site Tools


study_questions_audio_creation

This is an old revision of the document!


Study Questions - Audio Creation

CDEx Settings

Bitrate = 80 kbps

Mono

Quality = Very high (q = 0)

Questions To Be Recorded

Lesson 4: Detecting Management Events

C10L4Q1: What are the four most important members of the System.Management namespace?

Answer: ManagementQuery, EventQuery, ObjectQuery and ManagementObjectQuery.

C10L4Q2: What does WMI stand for?

Answer: Windows Management Instrumentation.

C10L4Q3: What are the two steps to retrieve information from the WMI?

Answer:

  1. Create a ManagementObjectSearcher object and pass the query into the constructor.
  2. Obtain a ManagementObjectCollection object by calling the ManagementObjectSearcher's Get method.

C10L4Q4: What needs to be selected from to enumerate the logical drives?

Answer: Win32_LogicalDisk

C10L4Q5: What needs to be selected from to enumerate the network adapters?

Answer: Win32_NetworkAdapterConfiguration

C10L4Q6: What needs to be selected from to enumerate the Windows Services?

Answer: Win32_Service

C10L4Q7: What class would be used to respond a change in the WMI?

Answer: ManagementEventWatcher

Lesson 1: Understanding Code Access Security

C11L1Q1: What does CAS stand for?

Answer: Code Access Security.

C11L1Q2: What is the relationship between evidence, code groups and permission sets?

Answer: The evidence that an assembly has determines what code group or groups it belongs to. The code group or groups determines what permission set or sets it gets.

C11L1Q3: What are the two types of evidence?

Answer: Host evidence and assembly evidence.

C11L1Q4: What are the three CAS policy levels and which one would you most commonly use?

Answer: Enterprise, machine and user. Machine policy is the most commonly used.

C11L1Q5: What must an assembly have to increase its trust?

Answer: A strong name.

C11L1Q6: As a developer, the permission set assigned to the My_Computer_Zone should be changed from what to what?

Follow up question: Why should it be changed?

Answer: From “Full Trust” to “Everything”.

Follow up answer: Full Trust completely skips all CAS statements in code. The Everything permission set has similar permissions, but it does not skip CAS statements.

C11L1Q7: What is the command line utility for maintaining CAS settings?

Answer: Caspol.exe - Code Access Security POLicy tool.

Lesson 2: Using Declarative Security to Protect Assemblies

C11L2Q5: What are the three SecurityActions?

Answer: RequestMinimum, RequestOptional and RequestRefuse.

C11L2Q6: CAS declarations are in what type of assemblies?

Answer: Fully trusted assemblies (or assemblies with the Full Trust permission set).

Lesson 3: Using Declarative and Imperative Security to Protect Methods

C11L3Q1: How many declarative CAS security actions are available for assemblies and how many are available for methods?

Answer: Three for assemblies, six for methods.

C11L3Q2: What are the three declarative CAS security actions for assemblies?

Answer: RequestMinimum, RequestOptional and RequestRefuse.

C11L3Q3: What are the six declarative CAS security actions for methods?

Answer: Assert, Demand, Deny, InheritanceDemand, LinkDemand, and PermitOnly.

C11L3Q4: What is the difference between the Demand CAS security action and the LinkDemand CAS security action?

Answer: Demand checks the security of all the callers, LinkDemand only checks the security of the immediate caller.

C11L3Q5: Which class is used to specify what to check for in a declarative permission statement and which is used in an imperative permission statement?

Answer: Declarative permission statements use SecurityAction, imperative permission statements use CodeAccessPermission.

C11L3Q6: How should a method check if it has a particular CAS permission?

Answer: Call the System.Security.SecurityManager.IsGranted method.

C11L3Q7: Which two security actions reduce CAS permissions for a method and what is the difference between the two?

Answer: Deny and PermitOnly. Deny removes only the specified permission, PermitOnly removes all except the specified permission.

C11L3Q8: Which two security actions reduce CAS permissions for an assembly and what is the difference between the two?

Answer: RequestRefuse and RequestOptional. RequestRefuse removes only the specified permission, RequestOptional removes all except the specified permission.

C11L3Q9: Deny and PermitOnly perform similar functions to what?

Answer: RequestMinimum and RequestOptional.

C11L3Q10: RequestMinimum and RequestOptional perform similar functions to what?

Answer: Deny and PermitOnly.

C11L3Q11: As the security action Assert can only be used once in a method, how can multiple CAS permissions be asserted?

Answer: Add the permissions to a PermissionSet object and assert that.

Lesson 2: Exposing .NET Components to COM

C13L2Q1: When .NET components are consumed by COM, what handles the marshalling between .NET and COM?

Answer: The COM Callable Wrapper (CCW).

C13L2Q2: How do you hide a public .NET class from COM?

Answer: Give it a ComVisible attribute and pass in false.

Pragmatic Programming

PragC2Q5: What is Meyer's Uniform Access principle?

Answer:

“All services offered by a module should be available through a uniform notation, which does not betray whether they are implemented through storage or through computation.”

or

“Class properties are good.”

PragC2Q6: What are two techniques for avoiding or reducing inadvertent duplication?

Answer: Normalise the data and don't store what can be calculated.

PragC2Q7: What should be done if the DRY principle needs to be violated for performance reasons?

Answer: Ensure the violation is not exposed to the outside world by keeping it contained with in the class.

PragC2Q8: How do you avoid impatient duplication?

Answer: Discipline.

PragC2Q9: What adage relates to impatient duplication?

Answer:

“Short cuts make for long delays.”

PragC2Q10: What is orthogonality?

Answer: Independence or decoupling.

PragC2Q11: What are the two major benefits of orthogonality?

Answer: Increased productivity and reduced risk.

PragC2Q12: How can you get an informal measurement of how orthogonal a team is?

Answer: Determine how many people need to be involved in discussing each change that is requested. The less people, the more orthogonal and better off the team is.

PragC2Q13: How can low orthogonality affect a team?

Answer: Confusion over responsibilities leading to bickering.

Life Questions

LifeQ3: What is the effect / affect usage mnemonic?

Answer: VANE - Verb Affect Noun Effect

Article 1: Design Principles and Design Patterns, Robert C. Martin

Art1P4Q3: What is the Open Closed Principle and who came up with it?

Answer:

“A module should be open for extension, but closed for modification.” - Bertrand Meyer

Art1P5Q1: What is the key to the OCP?

Answer: Abstraction.

Art1P8Q1: What is the Liskov Substitution Principle and who came up with it?

Answer:

“Subclasses should be substitutable for their base classes.” - Barbara Liskov

Art1P8Q2: What is the canonical example of the subtleties of the LSP?

Answer: The Circle / Ellipse dilemma.

Art1P12Q1: Violations of the LSP are also what?

Answer: Violations of the OCP.

Art1P12Q2: What is the Dependency Inversion Principle?

Answer:

“Depend on abstractions. Do not depend on concretions.”

study_questions_audio_creation.1250112288.txt.gz · Last modified: 2017/01/01 19:54 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki