Home > Interview .NET > Few things to learn in .Net technology

Few things to learn in .Net technology


Few things to learn in .Net technology

  1. Databases

 

1.1. Tables/Columns

1.2. Relationships

1.3. Keys

1.3.1. Primary Keys

1.3.2. Foreign Keys

1.4. Structured Query Language (SQL)

1.4.1. Syntax

1.4.1.1. Formatting of SQL

1.4.1.2. Naming Conventions

1.4.1.3. Use of CASE

1.4.2. SELECT/INSERT/UPDATE/DELETE

1.4.3. INNER JOIN

1.4.4. LEFT/RIGHT/FULL OUTER JOIN

1.4.5. CROSS JOIN

1.5. Aggregation

1.5.1. GROUP BY

1.5.2. CUBE

1.5.3. WITH ROLLUP

1.5.4. GROUP BY GROUPING SETS

1.5.5. SUM/COUNT/MIN/MAX/AVG

1.6. Ranking Functions

1.6.1. ROW_NUMBER/RANK/DENSE_RANK() OVER (PARTITION BY X ORDER BY Y)

1.6.2. COUNT/SUM/MIN/MAX/AVG(*) OVER (PARTITION BY X)

1.7. Views

1.7.1. What are they?

1.7.2. Pros/Cons

1.7.3. Views vs Indexed Views (aka Persisted Views)

1.7.4. Use of the “WITH SCHEMABINDING” clause

1.7.5. Variance in how different editions of SQL Server treat views

1.8. Stored Procedures

1.8.1. What are they?

1.8.2. Pros/Cons of stored procedures over direct database access

1.8.3. What responsibilities should be the stored procedures have (i.e. not complex business logic?)

1.8.4. Use of return values and output parameters

1.9. User Defined Functions (UDFs)

1.9.1. What are they?

1.9.2. Pros/Cons of use in various scenarious (e.g. NEVER in select statements)

1.9.3. Use of the “WITH SCHEMABINDING” clause

1.9.4. CLR UDFs

1.10. Indexes

1.10.1. What are they ?

1.10.2. Pros/Cons in various scenarios (i.e. SELECT vs INSERT/UPDATE/DELETE)

1.10.3. Various Types of index

1.10.4. Fill Factors

1.11. Constraints

1.11.1.1. Check Constraints

1.11.1.2. Unique Constraints

1.12. Triggers

1.12.1. What are they?

1.12.2. Various types (DML vs DDL)

1.12.3. Why you should never use them!

1.13. Security

1.13.1. Logins

1.13.2. Users

1.13.3. Roles

1.13.4. Schemas

1.13.5. Permissions

1.14. Design

1.14.1. Normalisation

1.14.2. Choice of Primary Keys

1.14.3. Storage of unstructured data (XML, VARBINARY(MAX) etc)

1.14.4. ROWVERSION columns for optimistic concurrency

1.14.5. ROWGUID columns for replication

1.15. Best Practices

1.15.1. Use of sub queries/functions vs. JOINs vs. Ranking Functions

1.15.2. Use of SELECT *

1.15.3. DML Triggers Vs. OUTPUT clause

1.15.4. When to use temporary tables, table variables and Common Table Expressions (CTEs)

 

2. .NET

2.1. What is it?

2.2. Languages

2.3. Versions

2.4. CLR + versions

2.5. Important Framework Namespaces/Classes (Foundation exam stuff)

 

3. C#

3.1. Object Oriented Programming (OOP)

3.1.1. Inheritance

3.1.2. Polymorphism

3.1.3. Interfaces

3.1.4. Abstract Classes

3.1.5. Partial Classes

3.2. Syntax

3.2.1. Formatting

3.2.2. Comments

3.2.3. XML Comments

3.2.4. User of CASE

3.2.5. Namespaces

3.2.6. Classes/Structs

3.2.7. Instance/Static Properties

3.2.8. Constructors

3.2.9. Instance/Static Methods

3.2.10. Delegates

3.2.11. Events

3.2.12. Lambda syntax

3.2.13. LInQ syntax

3.3. Naming conventions

3.3.1. Standards document

3.4. Configuration

3.4.1. Purpose of app.config/web.config files

3.4.2. How to read configuration files code

3.4.3. Encrypting sensitive sections of the config files

3.5. Concurrency

3.5.1. What are threads?

3.5.2. Thread safety

3.5.3. Thread Pool

3.5.4. Task Parallel Library (TPL)

 

4. ADO.NET

4.1. What is it?

4.2. How to connect to a database using SqlClient and/or ODBC connectors

4.3. How to send a command to the database

4.4. How to read the returned results

4.4.1. DataReader

4.4.2. DataTable

4.4.3. DataSet

4.4.4. Output Parameters

4.4.5. Return Values

 

5. Windows Services

5.1. What are they?

5.2. When should they be used in a solution?

 

6. Windows Forms/WPF

6.1. What are they?

6.2. For what sort of projects should you recommend a Forms/WPF solution?

 

7. ASP.NET

7.1. What is it?

7.2. For what sort of projects should you recommend an ASP.NET solution?

7.3. Web Site vs Web Application

7.4. Pages

7.4.1. How to write an aspx page

7.4.2. What goes into an aspx page and what doesn’t (e.g. presentation)

7.4.3. How to link to a code behind file

7.4.4. Master Pages

7.4.5. ASCX controls

7.5. ASP.NET page lifecycle

7.5.1. Init

7.5.2. Load State

7.5.3. Process Post Data

7.5.4. Load

7.5.5. 2nd Process Post Data

7.5.6. Change Events

7.5.7. Postback Events

7.5.8. PreRender

7.5.9. Render

7.5.10. Unload

7.5.11. How master pages/controls fit into this lifecycle

7.6. Cascading Style Sheets (CSS)

7.6.1. What is CSS

7.6.2. Never put presentation code in the aspx pages

7.6.3. Which versions of CSS are supported by which browsers

7.6.4. What are the new CSS 3.0 commands available (e.g. FlexBox)

 

8. Entity Framework

8.1. What is it?

8.2. Logical Model Vs Physical Model

8.3. Entity SQL

8.4. What is the role of the ObjectContext?

8.5. How to call stored procedures etc

8.6. In what sort of system architectures is EF particularly useful

 

9. Windows Workflow Foundation (WF)

9.1. What is it?

9.2. Pros/Cons over “hard coded” business processes

9.3. Persistence/Inflation of in-progress workflows

 

10. Business Objects

10.1. What is a business object? (i.e. encapsulation of behaviour… not data!)

10.2. Pros/Cons of using business objects

10.3. Behaviours that a business object contain (business rules validation, persistence, rollback etc.)

10.4. Behaviours that a business object NOT contain (processes spanning multiple business objects)

10.5. CSLA Framework (C# 2008 Business Objects)

 

11. Systems Design

11.1. Standard n-Tier architecture

11.1.1. UI

11.1.2. Workflow Process Layer

11.1.3. Business Layer

11.1.4. Data Layer

11.1.5. Database

11.2. Patterns

11.2.1. Object Creation Patterns

11.2.1.1. Factory

11.2.1.2. Singleton/Multiton

11.2.1.3. Prototype

11.2.2. Structural Patterns

11.2.2.1. Decorator

11.2.2.2. Adapter

11.2.2.3. Bridge

11.2.2.4. Facade

11.2.3. Behavioural Patterns

11.2.3.1. Producer/Consumer (aka Observer)

11.2.3.2. Iterator

11.2.3.3. Strategy

11.2.3.4. Command

11.2.3.5. Mediator

11.2.3.6. Unit of Work

 

12. Algorithm Design

12.1. Check if there’s an existing algorithm that does what you need (either in the Framework, your solution or online)

12.2. Design your algorithm to be as fast/memory efficient as possible, whilst making sure it is very easy to understand! (i.e. maintainability comes first!)

12.3. Where an algorithm needs to be optimised, make sure comment to say what you’re doing any why

12.4. Choose what you optimise for (e.g. speed or memory usage?)

 

13. Interoperability

13.1. Web services

13.1.1. What are they?

13.1.2. Different protocols

13.1.2.1. SOAP

13.1.2.2. REST

13.1.2.3. JSON

13.1.3. What Protocols?

13.2. WCF

13.2.1. What is it?

13.2.2. Different protocols that can be used

13.2.2.1. HTTP

13.2.2.2. TCP

13.2.3. Contracts

13.2.3.1. Operation Contracts

13.2.3.2. Object Contracts

13.2.4. Consuming Contracts in a Client app

13.3. Office Interop

 

14. Security

14.1. Authentication/Authorisation

14.1.1. Methods of authentication

14.1.2. Use of multiple factors of authentication

14.1.3. Different types of authentication

14.1.3.1. Windows

14.1.3.2. Forms

14.1.3.3. Windows Identity Foundation

14.1.3.4. Other External Identity Provider

14.1.4. Authentication requirements for different systems

14.1.4.1. Windows

14.1.4.2. SQL Server

14.1.4.3. Web Applications

14.1.4.4. Web Services/WCF Services

14.1.4.5. Windows Forms / WPF Applications

14.2. General

14.2.1. Attacks

14.2.1.1. External Code Execution

a. Uploading of code/files which is then executed – e.g. SQL injection

b. Providing URLs which are then downloaded by the system

14.2.1.2. Buffer Overflow

Invalid values being input into numerical/date fields (or simply too much text in a text field) may cause buffer overflow and allow external code to be run

14.2.2. Error Messages

Error messages that are displayed to the user must not contain information about the internal workings of the system (no stack traces!)

14.2.3. Credentials

14.2.3.1. Usernames/Passwords should never be stored together

14.2.3.2. Passwords should never be stored in plain text

14.2.4. Logging

14.2.4.1. Ensuring that the security of log files is also considered

14.3. Web Security

14.3.1. SSL

14.3.1.1. What is it?

14.3.1.2. How does it work?

14.3.1.3. Certificates

14.3.2. Web Hardening

14.3.2.1. Firewalls

14.3.2.2. IIS configuration

14.3.2.2.1. Only listen on the necessary ports

14.3.2.2.2. Do not allow outbound connections unless necessary

14.3.2.2.3. Disabling SSL 3.0 and below

14.3.2.2.4. Disabling HTTP headers that expose the technology being used

14.3.3. Attacks

14.3.3.1. Man-in-the-Middle

14.3.3.2. Man-in-the-Browser (Trojans etc)

14.3.3.3. Automated Bots

14.3.3.4. Session hijacking

14.3.3.5. Cross Site Scripting

14.3.3.6. Cross Site Request Forgery

14.3.3.7. Social Engineering

14.3.3.7.1. Phishing/Vishing/SMiShing

14.3.3.7.2. Username/Password re-use

14.3.3.8. Denial of Service

 

15. XML

15.1. What is it?

15.2. Pros/Cons over other data transfer formats (e.g. csv)

15.3. Namespaces

15.4. Elements

15.5. Attributes

15.6. Values

15.7. XML Schema Documents (XSD)

15.8. XSL Transformation Documents (XSLT)


Stay tuned for more !

Advertisements
Categories: Interview .NET
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: