C# Basics
- .NET Platform (Core / Framework / Standard), IDE
- Program structure / Frameworks / libraries / interfaces / classes / structures / methods / properties
- Data types
- Arithmetic, bitwise, logical operations
- Clever constructions (if, else, switch)
- Arrays and loops (for, foreach, do, while)
- Сomplexity of an algorithm
- Object Oriented Programming
- Collections: IEnumerable, Set, Dictionary, etc
.Net
- Exceptions
- CLR, DLR, GC, Disposable pattern
- Generic, Delegates, Events, Covariance, Contravariance
- LINQ
- Metadata and Attributes
I/O
- Working with files
- XML, JSON, Protobuf
- OSI model
- HTTP / HTTP2 / HTTPS
- Networking
Testing
- Testing methodology
- Unit test, mocks, stubs
- Testing frameworks (nunit, xunit, moq)
- TDD
Databases
- SQL: index, CRUD; PgSQL
- MongoDb
- Redis
- Elasticsearch
- Aerospike
Concurrency / Async
- Thread, Thread pool, Timers
- Synchronization
- Thread Safe Concurrent Collection, Parallel LINQ
- Task, TPL, async / await
Architecture
- SOLID, IoC, DI
- GOF patterns
- DDD
- Git flow
Microservices / Web services
- REST
- Scale
- N-Tier
- CAP
- Architecture of microservices
- Fault tolerance (retry, circuit breaker)
ASP.NET
- Generic host (configuration / logging)
- Routing
- Controllers
- DI
- Middleware pipeline
- Filters
- Swagger
- Authentication and authorization
- Model validation
- EF Core & Dapper
Messaging
- RabbitMQ
- Kafka
+ DevOps basics
- CI/CD
- Dokker
- Kubernetes
- Monitoring (AlertManager, Prometheus TSDB, Grafana)
- Logging (Filebeat, Syslog, Elasticsearch, Kibana)