Member-only story
Clean Architecture From a Technical Interview Perspective
Clean Architecture is recommended by Microsoft for building modern web applications with ASP.NET Core. This article discusses how to use Clean Architecture to prep for technical interviews.

UPDATE April 10, 2022: all projects in the GitHub repo have been upgraded to .NET 5.
Goal
Microsoft has a library of amazing architecture documentations, one of which is called Architect Modern Web Applications with ASP.NET Core and Azure, which is also an e-book written by Steve Smith, aka, “Ardalis”. Clean Architecture not only contains many great design principles, but also many fundamental programming knowledge points which are frequently asked in technical interviews.
This article aims to take quick tour, from a technical interview perspective, at a GitHub start project, which is designed to build a web API using Partitioned Repository Pattern with Azure Cosmos DB, ASP.NET Core, and Clean Architecture. This tour allows us to understand how programming fundamentals, Objected-Oriented programming, and System Design are applied in a real world enterprise application.
Why Not Just LeetCode?
Technical interview is probably one of the most important steps in an hiring process for software engineer roles. There are many good tools to study for technical interviews, such as LeetCode and LintCode, which allows the user to write a small piece of code to address a specific challenge.
These tools are great to practice solving data structure and algorithms problems in an isolated environment, but I find that they miss the taste of real world applications. A candidate can present a perfect code solution with the best time complexity and space complexity, but there is still a small (or big) gap between that ability and being able to deliver production ready applications.
Hopefully, this article on the Clean Architecture starter project can fill the gap a little bit.
Fill the gap
Different companies may have different technical interview strategies, but the knowledge points…