Skip to content

Instantly share code, notes, and snippets.

@rostegg
Created October 12, 2022 13:12
Show Gist options
  • Save rostegg/e0a2ede804084b0d8955e3d8c1333924 to your computer and use it in GitHub Desktop.
Save rostegg/e0a2ede804084b0d8955e3d8c1333924 to your computer and use it in GitHub Desktop.
Roadmap for .NET C#/ASP.NET (basics)

C#, .NET and ASP.NET Roadmap

C# and basics

Useful links:

Most important things to know:

  • Fundamentals (data types, method signatures, loops types, conditionals, types conversion and casting)
    • Understanding how it works, what difference, etc
  • Language paradigm
    • All about how to use the provided tools, how to write code in the context of the chosen language
    • Understanding of namespaces, inheritance and polymorphism in context of C#
    • Code decomposition and creating of efficient abstractions (access modifiers, interfaces, encapsulation, etc)
  • Data structures and algorithms
    • Especially data structures, understanding of the principles, when and why to use a particular data structure
  • Language features
    • Lambdas
    • LINQ
    • Asyncronous and multithreading (threads, tasks, async/await, task scheduling, parallel task execution)
    • Generics
    • Reflection
    • Object life cycle
    • Seriallization
    • Immutability
    • Exceptions
    • Attributes and AOP in C#
    • Nullable and optional data types
  • Patterns
    • Basic and most popular pattern, why and when use them
  • Testing
    • Just basics, what tools and when and how use
    • Unit testing (One of the testing frameworks, asserts, mocks)
    • E2E
    • Integration tests

Basic ASP.NET

  • Basics (framework workflow, configurations, HTTP request types, request/respone)
  • Middleware
  • MVC
  • IoC and depency injection
  • Routing
  • Data validation
  • Logging
  • Exception handling
  • Authentication and authorisation, states, sessiong, cookies
  • Caching
  • ORM (Entity Framework, object mapping, only basics for now)
  • Realtime communications (websockets)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment