C#

C#

Advanced

Developed around 2000 by Microsoft as part of its .NET initiative, C# is a general-purpose, object-oriented programming language designed for Common Language Infrastructure (CLI), and widely recognized for its structured, strong-typing and lexical scoping abilities.

This competency area includes understanding Asynchronous programming, Reflection, Unsafe code, and Expression trees. 

Key Competencies:

  1. Asynchronous and Multi-threading - Use of async/await, locks, ThreadPool, and how to avoid deadlocks.
  2. Reflection - Use of type introspection to write highly dynamic code.
  3. Unsafe code - Use Native Interop and pointers for interfacing with unmanaged code.
  4. Expression trees - Understand how to build and manipulate expression trees to write Domain Specific Language (DSL) that can be used inside applications.