What is System Design and Why it Matters in Interviews

Introduction System design is a cornerstone of modern software engineering, encompassing the art and science of architecting scalable, reliable, and efficient systems to solve complex problems. In the context of technical interviews, particularly for software architect or senior engineering roles,…

LINQ improvements in .NET 6

The Default Value for *OrDefault Methods The Enumerable.FirstOrDefault method returns the first element of a sequence, or a default value if no element is found. In .NET 6, you can override the default value. You can override the default value also for SingleOrDefault and LastOrDefault methods.…

Global Exception Handling in .NET 6

Exception handling is one of the most critical areas in modern web application development. If exceptions are not handled properly, the whole app can be terminated, causing severe issues for users and developers. In this article, I will discuss different…

Distributed Locking

What is distributed locking? With loosely coupled distributed systems, several instances of a microservice might be accessing the same shared resource. For example, several instances of a microservice might attempt to write to the same database. We have two kinds…

Singleton vs Static Class

Singleton and Static classes can only have one instance available in memory, and both classes can be used to maintain the global state of an application, however, there are many differences between them. In this article, I explain what their…