Introduction
C# (C-Sharp) is one of the most popular programming languages used for building desktop applications, web applications, APIs, cloud solutions, mobile apps, and enterprise software. If you're preparing for a C# developer interview, these frequently asked questions will help you strengthen your fundamentals and advanced concepts.
Basic C# Interview Questions
1. What is C#?
C# is an object-oriented programming language developed by Microsoft for building applications on the .NET platform.
2. What are the key features of C#?
Object-Oriented
Type-Safe
Automatic Garbage Collection
Rich Library Support
Language Interoperability
Scalability
3. What is .NET?
.NET is a software development framework created by Microsoft for building and running applications.
4. What is CLR?
CLR (Common Language Runtime) is the execution engine of .NET that manages memory, exceptions, and security.
5. What is CTS?
CTS (Common Type System) defines how data types are declared and used in .NET.
6. What is CLS?
CLS (Common Language Specification) defines rules that .NET languages must follow to ensure interoperability.
7. What is managed code?
Code executed under CLR supervision.
8. What is unmanaged code?
Code executed directly by the operating system without CLR.
9. What is JIT Compiler?
Just-In-Time Compiler converts Intermediate Language (IL) into machine code at runtime.
10. What is MSIL?
Microsoft Intermediate Language generated after compiling C# code.
OOP Concepts
11. What is Object-Oriented Programming?
A programming paradigm based on objects and classes.
12. What are the four pillars of OOP?
Encapsulation
Inheritance
Polymorphism
Abstraction
13. What is a Class?
A blueprint for creating objects.
14. What is an Object?
An instance of a class.
15. What is Encapsulation?
Binding data and methods together while restricting direct access.
16. What is Inheritance?
The ability to derive a class from another class.
17. What is Polymorphism?
The ability of a method to perform different tasks based on context.
18. What is Abstraction?
Hiding implementation details and exposing only essential functionality.
19. What is Method Overloading?
Multiple methods with the same name but different parameters.
20. What is Method Overriding?
Providing a new implementation of a base class method.
Data Types
21. What are Value Types?
Stored directly in memory.
Examples:
int
double
bool
char
22. What are Reference Types?
Store references to memory locations.
Examples:
class
string
object
array
23. Difference between Value Type and Reference Type?
Value types store actual data, reference types store memory addresses.
24. What is Boxing?
Converting a value type into an object type.
25. What is Unboxing?
Converting an object type back into a value type.
26. What is Nullable Type?
Allows value types to store null values.
Example:
int? age = null;
27. What is var?
Allows implicit type declaration.
28. What is dynamic?
Type checking occurs at runtime.
29. Difference between var and dynamic?
var is checked at compile time, dynamic at runtime.
30. What is object data type?
Base type for all .NET types.
Exception Handling
31. What is Exception Handling?
Mechanism to handle runtime errors.
32. What are try, catch, and finally blocks?
Used to detect and handle exceptions.
33. What is throw keyword?
Used to raise an exception manually.
34. What is custom exception?
User-defined exception class.
35. Difference between throw and throw ex?
throw preserves stack trace; throw ex resets it.
Access Modifiers
36. What are access modifiers?
Keywords controlling visibility.
37. What is public?
Accessible from anywhere.
38. What is private?
Accessible only within the class.
39. What is protected?
Accessible within derived classes.
40. What is internal?
Accessible within the same assembly.
Constructors and Destructors
41. What is a Constructor?
Special method called when an object is created.
42. Types of Constructors?
Default
Parameterized
Static
Copy
43. What is Static Constructor?
Executes only once per class.
44. Can constructors be overloaded?
Yes.
45. What is Destructor?
Used for cleanup before object destruction.
Collections
46. What is Array?
Fixed-size collection of elements.
47. What is ArrayList?
Dynamic collection storing any type.
48. What is List?
Generic dynamic collection.
49. Difference between Array and List?
List can grow dynamically.
50. What is Dictionary?
Stores key-value pairs.
51. What is Hashtable?
Non-generic key-value collection.
52. Difference between Dictionary and Hashtable?
Dictionary is generic and type-safe.
53. What is Queue?
FIFO collection.
54. What is Stack?
LIFO collection.
55. What is HashSet?
Stores unique values only.
String Handling
56. Is string a value type or reference type?
Reference type.
57. What is StringBuilder?
Used for efficient string manipulation.
58. Difference between String and StringBuilder?
String is immutable; StringBuilder is mutable.
59. What is string interpolation?
Embedding expressions inside strings.
Example:
$"Hello {name}"
60. What is verbatim string?
String prefixed with @.
Delegates and Events
61. What is Delegate?
Type-safe function pointer.
62. What are Events?
Mechanism for notification.
63. Difference between Delegate and Event?
Events provide controlled delegate access.
64. What is Action Delegate?
Represents methods returning void.
65. What is Func Delegate?
Represents methods returning a value.
LINQ
66. What is LINQ?
Language Integrated Query for querying collections.
67. Benefits of LINQ?
Readability
Less Code
Strong Typing
68. What is Lambda Expression?
Anonymous function syntax.
Example:
x => x > 10
69. What is Deferred Execution?
Query executes only when results are requested.
70. Difference between IEnumerable and IQueryable?
IEnumerable works in memory; IQueryable executes against data source.
Advanced C#
71. What is Interface?
Contract containing method declarations.
72. Can an interface contain implementation?
Yes, using default interface methods in newer versions.
73. What is Abstract Class?
Class that cannot be instantiated directly.
74. Difference between Interface and Abstract Class?
Interfaces define contracts; abstract classes can provide implementation.
75. Can a class inherit multiple classes?
No.
76. Can a class implement multiple interfaces?
Yes.
77. What is Sealed Class?
Class that cannot be inherited.
78. What is Partial Class?
Class definition split across multiple files.
79. What is Extension Method?
Adds methods to existing types.
80. What is Reflection?
Ability to inspect metadata at runtime.
Memory Management
81. What is Garbage Collection?
Automatic memory cleanup process.
82. What are Generations in GC?
Generation 0
Generation 1
Generation 2
83. What is IDisposable?
Interface for releasing unmanaged resources.
84. What is using statement?
Ensures resource disposal.
85. What is Finalize method?
Called by GC before object removal.
Multithreading
86. What is Thread?
Smallest execution unit.
87. What is Multithreading?
Running multiple threads simultaneously.
88. What is Task?
Higher-level abstraction for asynchronous work.
89. What is async and await?
Keywords for asynchronous programming.
90. Difference between Thread and Task?
Tasks are lightweight and managed by the thread pool.
ASP.NET and .NET Core
91. What is ASP.NET?
Framework for web applications.
92. What is ASP.NET Core?
Cross-platform web framework.
93. What is Middleware?
Component that processes HTTP requests.
94. What is Dependency Injection?
Technique for providing dependencies externally.
95. What is REST API?
Architectural style for web services.
Modern C# Features
96. What are Records?
Reference types designed for immutable data.
97. What is Pattern Matching?
Feature for checking object structure and type.
98. What is Nullable Reference Type?
Helps prevent null reference exceptions.
99. What is Global Using?
Allows project-wide namespace imports.
100. What are Top-Level Statements?
Enable writing simple programs without a Program class.
Conclusion
These Top 100 C# Interview Questions cover fundamentals, OOP concepts, collections, LINQ, delegates, multithreading, memory management, ASP.NET Core, and modern C# features. Mastering these questions will significantly improve your confidence in technical interviews for Junior, Mid-Level, and Senior C# Developer positions.
No comments:
Post a Comment