100 C# Interview Questions
Learn how to answer C# questions well
122 lessons5.8 hoursEN & ES subtitles
About this course
You gain confidence through practice. But how do you practice technical interviews? By going through 20 of them.
This course will ask you real-world C# interview questions, including questions on technologies around C#. Get practice interviewing while also learning the answers to some of the questions you may have around C#.
Every lesson, in the open
122 lessons · 5.8 hours of video. Here's exactly what's inside.
- 1
Course Introduction
- Introduction 4:17
- 2
Interview One
- The Questions 0:31
- What is the difference between a value type and a reference type in C#? 3:07
- What is middleware in the ASP.NET Core pipeline? 2:03
- What is git and what are some of the benefits? 2:50
- What is a design pattern? 3:51
- How do you use git to start working on a repository? 1:37
- 3
Interview Two
- The Questions 0:29
- What is WinForms? 2:45
- What is WPF, and how does it differ from WinForms? 4:09
- Explain the difference between string and StringBuilder. 3:01
- How do MVC and Razor Pages differ? 3:09
- Explain the Factory pattern. 3:19
- 4
Interview Three
- The Questions 0:31
- What is XAML? 2:57
- What is the purpose of namespaces in C#? 3:01
- What does the var keyword do, and when can you use it? 2:36
- How is dependency injection configured in ASP.NET Core? 2:09
- What problem does the Observer pattern solve? 2:17
- 5
Interview Four
- The Questions 0:34
- Describe the steps in git from making a change to getting it into the repository. 1:24
- What is the MVVM pattern? 1:46
- How do you display a simple message box in WinForms? 0:47
- How do you display a simple message box in WPF? 1:17
- How does the using statement relate to resource management? 1:33
- 6
Interview Five
- The Questions 0:35
- What file defines environment-specific settings (e.g., Development vs. Production)? 2:25
- How does the Decorator pattern work? 1:31
- Define a dependency property in WPF. 1:16
- What is the difference between a Form and a Control in WinForms? 1:03
- Describe the Singleton pattern and a scenario for its use. 3:37
- 7
Interview Six
- The Questions 0:40
- What are the default options for settings in an ASP.NET Core project? 4:28
- Where would you store settings that were specific to your machine? 2:15
- How do you access settings in .NET? 2:33
- How do you add your own source for settings? 2:32
- Explain changes needed to get app config and web config to work in .NET 1:38
- 8
Interview Seven
- The Questions 0:37
- What is an event handler, and how do you wire one up? 0:46
- Compare the three dependency injection service lifetimes in .NET. 3:38
- What are the various ASP.NET Core web project types? 1:47
- Compare Abstract Factory vs. Factory Method. 1:52
- Explain the difference between git merge and git rebase. 2:44
- 9
Interview Eight
- The Questions 0:39
- Explain microservices vs monoliths and which you prefer. 4:36
- Explain Docking vs. Anchoring for layout in WinForms. 2:48
- How do you implement CORS in an ASP.NET Core app? 3:01
- Explain async/await and how it differs from using Task.Run. 4:04
- Describe the Facade pattern. 2:51
- 10
Interview Nine
- The Questions 0:42
- Compare an abstract class and an interface. When would you choose one over the other? 4:53
- What are generics in C#, and why are they useful? 3:44
- What is Dependency Injection, and how does it relate to patterns? 4:49
- What is the purpose of the .gitignore file and how do you use it? 4:12
- What techniques help virtualize large collections in a ListView or DataGrid in WPF? 3:24
- 11
Interview Ten
- The Questions 0:34
- How do you implement an MDI application in WinForms? 1:31
- Explain the difference between struct and class. 3:18
- What are some things to consider about nullability? 5:42
- What is boxing and unboxing? 3:17
- Describe the different types of properties and their options. 3:45
- 12
Interview Eleven
- The Questions 0:32
- Describe the difference between interfaces and inheritance. 7:16
- How do you create and switch to a new branch in git? 0:35
- Describe how you would implement logging in .NET. 5:16
- When would a method benefit from being async? 1:25
- Describe what health checks are and how they work. 2:58
- 13
Interview Twelve
- The Questions 0:35
- What is the difference between overloading and overriding a method? 3:15
- What is the difference between const and readonly? 2:11
- Explain the difference between shallow copy and deep copy. 3:20
- What is the difference between the stack and the heap? 2:57
- How does garbage collection work in C#? 4:52
- 14
Interview Thirteen
- The Questions 0:32
- What is the purpose of the finalize and dispose methods? 4:38
- Explain covariance and contravariance in generics. 3:14
- What are anonymous types in C#? 2:47
- What are Func<>, Action<>, and Predicate<> used for? 3:15
- Explain the async and await keywords. 4:56
- 15
Interview Fourteen
- The Questions 0:35
- How does exception handling work with async/await? 2:07
- What is reflection in C#? How is it used? 2:39
- What is dynamic and what is it used for? 2:15
- What is the difference between a record and a class? 4:51
- What is the difference between authentication and authorization? 2:36
- 16
Interview Fifteen
- The Questions 0:41
- Describe the IDisposable pattern and how you implement it correctly. 1:47
- What's the difference between a Razor page and a Razor Component? 2:15
- When would you use an API vs GRPC? 1:55
- Compare Entity Framework Code First to Database First. 2:42
- Explain the difference between public, private, protected, internal, and protected internal. 4:43
- 17
Interview Sixteen
- The Questions 0:35
- What is polymorphism and encapsulation? 4:42
- What is LINQ and when would you use it? 3:34
- What is your error-handling strategy in C#? 4:45
- Describe resolving a merge conflict in git step by step. 2:51
- Describe the various rendering options in Blazor. 3:55
- 18
Tooling Interview
- The Questions 0:31
- What is Docker and when would you use it? 5:33
- What is Bootstrap and what are its benefits? 2:53
- Explain what NuGet is and how it works. 3:37
- Explain YAML and JSON. 2:38
- What is Aspire and how does it help developers? 2:48
- 19
Databases Interview
- The Questions 0:45
- What are some differences between SQL and NoSQL databases? 10:17
- What are primary keys, clustered indexes, and non-clustered indexes in Microsoft SQL Server? 10:01
- Tell me about three database types you have used and what their strengths are. 2:48
- What are some safety factors to consider when connecting C# to a database? 6:13
- What are some things to consider when planning for database disasters? 8:22
- 20
CI/CD Interview
- The Questions 0:40
- What does CI/CD mean? 3:18
- What are the differences between Azure DevOps and GitHub for CI/CD? 3:38
- How do you check code quality in your CI/CD process? 3:20
- What tools or strategies can you use to protect applications secrets? 4:14
- How can a developer replicate the production environment locally? 2:45
- 21
AI Interview
- The Questions 0:39
- What is RAG and MCP? 4:52
- Explain how an LLM comes to a conclusion. 2:22
- What security implications are there around using AI in software development? 6:01
- Tell me how you use AI in software development. 3:48
- What are the benefits and drawbacks of integrating an LLM into a software product? 5:54
- 22
Course Conclusion
- Conclusion 2:21
Hi, I'm Tim Corey.
I learned software development the hard way, with lots of dead-ends, confusion, and knowledge gaps. I kept thinking, “It shouldn't be this hard!” Now I teach students how to think and code like professional developers. My goal is to make it easier for you to become a developer.
Frequently asked questions
When does this course start and finish?
The course starts now and never ends! It is a completely self-paced online course; you decide when you start and when you finish.
How long do I have to access the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like; across any and all devices you own.
What if I am unhappy with the course?
I do my best to provide the highest quality training to help you become a successful developer. But if this course isn't for you, then you can count on a no-hassle 30 Day Money Back Guarantee.