There are only two hard things in computer science: cache invalidation and naming things.
— Phil Karlton
So much complexity in software comes from trying to make one thing do two things.
— Ryan Singer
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
― Martin Fowler
- Amazon S3, MinIO
- Ansible
- Docker
- Docusaurus
- Git
- GitLab
- Grafana
- C4, Graphviz, PlantUML, Mermaid
- Jaeger
- Jenkins
- Kafka
- Kubernetes
- Prometheus
- RabbitMQ
- Regular expressions
- Rider
- SonarQube
- Terraform
- Unleash
- Vault
- ↑ Zipkin
- ACID
- Covering, composite, partial index, cardinality, index selectivity
- CTE. Window function.
HAVING
- EAV model
- Isolation levels and read phenomena
- N + 1 query problem. Natural, surrogate key
- OLTP, OLAP
- Optimistic and pessimistic concurrency
- PostgreSQL.
psql
.pg_dump
.dropdb
.createdb
.pg_restore
- Replication, sharding, partitioning
- SQL Server. T-SQL. PL/SQL
- Anti-patterns
- Architectural decision records, ADRs
- CAP theorem
- Choreography vs orchestration
- Clean architecture
- Composition over inheritance
- CQRS
- Database per service
- DDD
- DRY, KISS, separation of concerns, YAGNI
- Explicit dependencies principle
- Event sourcing
- Loose coupling and high cohesion
- MapReduce
- Mission critical, business critical, business operational, office productivity
- ↑ Premature generalization
- Principle of least astonishment
- Repository, unit of work
- Software design patterns
- Specification
- SOLID
- Technical debt
- Tell, don't ask
- Transactional outbox, transactional inbox, dual-write problem
- ↑ Utility inheritance
- Vertical slice architecture
- Distributed system patterns
- Message delivery semantics
- Observability: logs, metrics, traces
- SLA vs SLO vs SLI
- ↑ System design interviews
- Two-phase commit protocol, 2PC
- Aggregation and composition
- Cyclomatic complexity
- ↑ DTOs vs POCOs/POJOs
- EditorConfig
- Feature flags
- Function parameters vs arguments
- Functional programming
- Idempotence
- Inversion of control
- Initiatives, epics, stories
- Makefile
- Marshalling
- Programming case types
- Reviewing merge requests
- Scrum
- Serialization
- Time zones vs offsets
- Trunk-based development, TBD
- Unicode
- Upstream and downstream
- YAML
- BDD, Gherkin, SpecFlow
- Dotnet libraries
- k6
- MockServer
- Test types: unit, integration, functional, end-to-end, acceptance, performance, smoke
- Test automation
- Unit testing best practices
- GraphQL, RPC, gRPC, protocol buffers
- Internet, IP, TCP, HTTP, OSI model
- Ports, sockets
- POST vs PUT vs PATCH
- REST, OpenAPI, egress vs ingress
ping
,traceroute
, Wireshark
- AD, AD FS
- ↑ DotNet Security Cheat Sheet
- CORS, HSTS
- Cryptography
- Asymmetric cryptography
- Symmetric cryptography
- TLS, mTLS
- JWT
- OAuth, OpenID Connect, authentication tokens
- .NET CLI,
dotnet new
- .NET tools,
dotnet-ef
,dotnet format
,dotnet-outdated
, .NET Aspire dotnet user-secrets
- Dependency injection in .NET
- Dotnet libraries
- NuGet
- OWIN
- ↑ Performance
- PowerShell
- Roslyn and Roslyn analyzers
- Attribute
- Closure
- Concurrency
- Asynchronous patterns: EAP, APM, TAP
- TAP, task-based asynchronous pattern
- Collections
- Execution context
- Parallel programming, PFX, TPL, PLINQ,
Parallel
,AggregateException
- Synchronization, context switch, critical section, spinning
- Simple blocking methods
- Locking constructs
- Signaling constructs
- Non-blocking synchronization constructs
- Thread, process,
Thread
, stack size [ThreadStatic]
,ThreadLocal<T>
,AsyncLocal<T>
,Lazy<T>
- Thread safety
- Asynchronous patterns: EAP, APM, TAP
- Exceptions
- Expression tree,
Expression
- Extension method
- Frequently asked interview questions
- Hide method with
new
. Extendvirtual
method withoverride
- Indexers
- Invariance, covariance, contravariance, variance
- Keywords
- Modifiers
- Contextual keywords
ref
,out
,in
parameter modifiers
- Lambda expression, anonymous function
- LINQ
- Literal
- Lowering in C#
- Memory
- Miscellaneous classes
- ↑ Operators and expressions
- Statement
throw
,try
,catch
,finally
- Types