C# / .NET Interview Questions with Answers.
What you'll learn
- Understanding what kind of Fundamental questions are asked in C# and .NET interviews and how clear the same.
- Answering fundamental C# questions around .NET core vs .NET framework vs .NET 5.0 , IL code , JIT,CTS,CLS,CLR, Managed , Unmanaged code and Garbage collector.
- How to confidently answer questions around stack , heap , value types, reference types ,boxing , unboxing,LIFO,FIFO, implicit casting and explicit casting.
- Threading and collections are favorites in C# interviews. A complete section dedicated to answer questions like array,arraylist,array vs arraylist and generics.
- No C# interview is complete with out a question on delegates and events. A full section dedicated to delegates and events and how to answer their differences
- Dedicated OOP Interview section covering Classes , Objects , Polymorphism , Inheritance , virtual methods,overloading ,overriding ,abstract class vs interfaces
- Handling tricky questions on Aggregation, Composition, Association, UML diagrams , Shadowing, Sealed classes, Nested classes and partial classes.
- How to answer questions around SOLID (SRP,OCP,LSP,ISP and Dependency Inversion) , DI(Dependency injection), IOC(Inversion of Control).
- Garbage collector questions covering Managed,Unmanaged,Generations,GC0,GC1,GC2,Finalize vs Destructor , Dispose Pattern,Using keyword, Weak & Strong references
- Should have knowledge of C#. Remember this is a interview preparation revision course and not short cut to easy jobs in C#.
If you are looking to clear C# and .NET Interviews then you have landed at the right course. You can be a hero in your project/company , you must have handled complex scenarios.
But failing to answer simple .NET , C# Fundamental question during interview can lead to a very negative impact during interviews.
This course focuses on Fundamental questions around C# and .NET... Happy job hunting.
Below is the list of C# interview questions covered in the Series.
Part 1 - Stack, Heap, Boxing, Unboxing, Array, ArrayList, Generics, Threading
Question 1 :- Explain difference between .NET and C# ?
Question 2 :- .NET Framework vs .NET Core vs .NET 5.0
Question 3 :- What is IL ( Intermediate Language) Code ?
Question 4 :- What is the use of JIT ( Just in time compiler) ?
Question 5 :- Is it possible to view IL code ?
Question 6 :- What is the benefit of compiling in to IL code ?
Question 7 :- Does .NET support multiple programming languages ?
Question 8 :- What is CLR ( Common Language Runtime) ?
Question 9 :- What is managed and unmanaged code ?
Question 10 :- Explain the importance of Garbage collector ?
Question 11 :- Can garbage collector claim unmanaged objects ?
Question 12 :- What is the importance of CTS ?
Question 13 :- Explain CLS ?
Question 14 :- Difference between Stack vs Heap ?
Question 15 :- What are Value types & Reference types?
Question 16 :- Explain boxing and unboxing ?
Question 17 :- What is consequence of boxing and unboxing ?
Question 18 :- Explain casting, implicit casting and explicit casting ?
Question 19 :- What can happen during explicit casting ?
Question 20 :- Differentiate between Array and ArrayList ?
Question 21 :- Whose performance is better array or arraylist ?
Question 22 :- What are generic collections ?
Question 23 :- What are threads (Multithreading)?
Question 24 :- How are threads different from TPL ?
Question 25 :- How do we handle exceptions in C#(try/catch)?
Question 26 :- What is the need of finally?
Question 27 :- Why do we need the out keyword ?
Question 28 :- What is the need of Delegates ?
Question 29 :- What are events ?
Question 30 :- What's the difference between Abstract class and interface ?
Part 2 - Questions on Delegates, Event and Delegates vs Events.
Question 31 :- What is a delegate and How to create a delegate ?
Question 32 :- Where have you used delegates ?
Question 33 :- What is a Multicast delegates ?
Question 34 :- What is a Event ?
Question 35 :- How to create a event ?
Question 36 :- Delegate vs Events.
Part 3 - OOP, Abstraction, Encapsulation, Inheritance, Overriding & overloading.
Question 37 :- Why do we need OOP ?
Question 38 :- What are the important pillars of OOPs ?
Question 39 :- What is a class and object ?
Question 40 :- Abstraction vs Encapsulation?
Question 41 :- Explain Inheritance ?
Question 42 :- Explain virtual keyword ?
Question 43 :- What is overriding ?
Question 44 :- Explain overloading ?
Question 45 :- Overloading vs Overriding ?
Part 4 - Polymorphism, Static vs Dynamic polymorphism and operator overloading.
Question 46 :- What is polymorphism ?
Question 47 :- Can polymorphism work with out inheritance ?
Question 48 :- Explain static vs dynamic polymorphism ?
Question 49 :- Explain operator overloading ?
Part 5 - Tricky Questions around Abstract classes and Interfaces.
Question 50 :- Why do we need Abstract classes ?
Question 51 :- Are Abstract methods virtual ?
Question 52 :- Can we create a instance of Abstract classes ?
Question 53 :- Is it compulsory to implement Abstract methods ?
Question 54 :- Why simple base class replace Abstract class ?
Question 55 :- Explain interfaces and why do we need it ?
Question 56 :- Can we write logic in interface ?
Question 57 :- Can we define methods as private in interface ?
Question 58 :- If i want to change interface what's the best practice ?
Question 59 :- Explain Multiple inheritance in Interface ?
Question 60 :- Explain Interface Segregation principle ?
Question 61 :- Can we create instance of interface ?
Question 62 :- Can we do Multiple inheritance with Abstract classes ?
Part 6 - Answering the most asked Question "Abstract classes vs Interface".
Question 63 :- Difference between Abstract Class & Interfaces?
Part 7 - Questions around constructors & parent child constructor.
Question 64 :- Why do we need constructors ?
Question 65 :- In parent child which constructor fires first ?
Question 66 :- How are initializers executed ?
Question 67 :- How are static constructors executed in Parent child ?
Question 68 :- When does static constructor fires ?
Part 8 - Questions around Shadowing, Sealed, Nested classes and partial classes.
Question 69 :- What is Shadowing?
Question 70 :- Explain method hiding?
Question 71 :- Shadowing vs Overriding ?
Question 72 :- When do we need Shadowing ?
Question 73 :- Explain Sealed Classes ?
Question 74 :- Can we create instance of sealed classes ?
Question 75 :- What are nested classes and when to use them ?
Question 76 :- Can Nested class access outer class variables ?
Question 77 :- Can we have public, protected access modifiers in nested class ?
Question 78 :- Explain Partial classes ?
Question 79 :- In What scenarios do we use partial classes ?
Part 9 - Questions Around SOLID principles , Dependency injection (DI) and IOC
Question 80 :- What is SOLID ?
Question 81 :- What is the full form of SOLID ?
Question 82 :- What is the goal of SOLID ?
Question 83 :- Explain SRP with A example ?
Question 84 :- What is the benefit of SRP ?
Question 85 :- Explain OCP with a example ?
Question 86 :- What is the benefit of OCP ?
Question 87 :- Can you explain LISKOV Principle and it's violation?
Question 88 :- How can we fix LISKOV Problem ?
Question 89 :- Explain Interface Segregation Principle ?
Question 90:- Is there a connection between LISKOV and ISP ?
Question 91 :- Define dependency inversion ?
Question 92 :- What is higher level module and lower level module ?
Question 93 :- How does dependency inversion benefit, show with an example ?
Question 94 :- Will only Dependency inversion solve decoupling problem ?
Question 95 :- Why do developers move object creation outside high lever module ?
Question 96 :- Explain IOC ( Inversion of Control) ?
Question 97 :- Explain Dependency Injection with an example ?
Question 98 :- Is SOLID, IOC and DI design pattern or Principle?
Question 99 :- Is only SOLID Enough for good code/ architecture ?
Part 10- Explain & Differentiate Composition, Aggregation and Association in C#.
Question 100 :- What are the different types of "USING/HAS A" relationship ?
Question 101 :- What is a composition relationship ?
Question 102 :- Explain Aggregation ?
Question 103 :- Explain Association ?
Question 104 :- Differentiate between Composition vs Aggregation vs Association ?
Question 105 :- UML Symbols for Composition, Aggregation and Association
Part 11 - Crack questions on Stack, Heap, Boxing, Unboxing, Value & reference types
Question 106 :- Explain stack and Heap ?
Question 107 :- Where are stack and heap stored ?
Question 108 :- What goes on stack and what goes on heap ?
Question 109:- How is the stack memory address arranged ?
Question 110 :- How is stack memory deallocated LIFO or FIFO ?
Question 111 :- How are primitive and objects stored in memory?
Question 112 :- Can primitive data types be stored in heap ?
Question 113 :- Explain value types and reference types ?
Question 114 :- Explain byval and byref ?
Question 115 :- Differentiate between copy byvalue and copy byref ?
Question 116 :- What is boxing and unboxing ?
Question 117 :- Is boxing unboxing good or bad ?
Question 118 :- Can we avoid boxing and unboxing ?
Question 119 :- What effect does boxing and unboxing have on performance ?
Question 120 :- Are string allocated on stack or heap ?
Question 121 :- How many stack and heaps are created for an application ?
Question 122 :- How are stack and heap memory deallocated ?
Question 123 :- Who clears the heap memory ?
Question 124 :- Where is structure allocated Stack or Heap ?
Question 125 :- Are structures copy byval or copy byref ?
Question 126 :- Can structures get created on Heap ?
Part 12 - What is Garbage collector, Managed vs UnManaged code, Dispose Pattern, Memory Leaks, weak VS strong references ?
Question 127: - Explain Garbage collector (GC)?
Question 128:- How does Garbage collector know when to clean the objects ?
Question 129 :- Is there a way we can see this Heap memory ?
Question 130 :- Does Garbage collector clean primitive types ?
Question 131: - Managed vs UnManaged code/objects/resources?
Question 132:- Can garbage collector clean unmanaged code ?
Question 133:- Explain Generations ?
Question 134:- What is GC0,GC1, and GC2 ?
Question 135:- Why do we need Generations ?
Question 136:- Which is the best place to clean unmanaged objects ?
Question 137:- How does GC behave when we have a destructor ?
Question 138:- What do you think about empty destructor ?
Question 139:- Explain the Dispose Pattern?
Question 140 :- Finalize vs Destructor ?
Question 141:- What is the use of using keyword ?
Question 142:- Can you force Garbage collector ?
Question 143:- Is it a good practice to force GC ?
Question 144:- How can we detect a memory issues ?
Question 145:- How can we know the exact source of memory issues ?
Question 146 :- What is a memory leak ?
Question 147 :- Can .NET Application have memory leak as we have GC?
Question 148:- How to detect memory leaks in .NET applications ?
Question 149:- Explain weak and strong references ?
Question 150 :- When will you use weak references ?
Who this course is for:
- C# .NET Developers who are looking for a job change and good prospects.
- C# .NET Developers who want to do last minute revision before going to interview.
My name is Shivprasad Koirala, We love teaching and learning, We started the QuestPond website 15 years back with the one single goal of creating quality step by step IT programming related lessons.
We saw many lessons online, either they are done too fast or too slow or are too complicated.
The main goal of Questpond is to create Step by Step lessons on C#, ASP.NET , Design patterns , SQL and so on. As years moved on i added other step by step lessons like Angular , Sharepoint , MSBI, Azure and so on.