

PInvoke, Wrapper Classes and the Adapter Pattern in C#
PInvoke (sometimes stylized as P/Invoke) allows managed C# code to talk to native libraries in Windows, MacOS and Linux. It's usually...


Real World Examples of When to Use an Abstract Class
Under most circumstances, you would use an abstract class whenever you want to provide a common implemented functionality among all the...
How to Reverse (or mirror) a Binary Tree in C#
Reversing a binary tree is so easy that even Joe Rogan can do it! It's one of those questions that is asked a lot in a job interview...


.NET / C# Garbage Collection Interview Questions
This video is all about the .NET garbage collector - how it works and how to talk about it in a job interview. The .NET garbage collector...


How to describe Deep Copy and Shallow Copy for a job interview
This is a "Gotcha" interview question because an interviewer may want to test your deep knowledge of how copying in C# and .NET works. To...


C# Exception Handling Interview Questions
Exception handling in C# is an important part of .NET, especially when dealing with unknown input / output such as files, database or...


Why Companies Lowball Offers
So you nailed the programming interview, but your offer letter is a lot less than what you expected? Well, believe it or not, your...


Passing by value and reference in C#
The code for this is available on Github.


What is a C# Tuple?
C# tuples are a Gotcha! programming interview question because their use is so rare and so wrapped in mystery that it's a good test of...


Dr. Liskov and the Big Board
The code for the Big Board is available here.













