Interview Q&A

Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.

4608 total questions 4508 technical 100 career & HR 4272 from PDF library

Showing 1–25 of 99

Popular tracks

Mid PDF
Encapsulation – Hiding internal details of objects and exposing only necessary?

Short answer: Encapsulation – Hiding internal details of objects and exposing only necessary? is a common interview topic in C# OOP. Give a clear definition, then one concrete example. Real-world example (ShopNest) ShopN…

Mid PDF
Hierarchical Inheritance – One base, multiple derived classes.?

Short answer: class Vehicle {} // Base class Car : Vehicle {} // Single/Multilevel class Bike : Vehicle {} // Hierarchical Example code class Vehicle {} // Base class Car : Vehicle {} // Single/Multilevel class Bike : Ve…

Mid PDF
Why is OOP preferred over procedural programming?

Short answer: Promotes code reusability through classes and objects. Easier to maintain and extend large applications. Models real-world problems better. Supports modularity, abstraction, and encapsulation, which procedu…

Mid PDF
How does OOP help in software development?

Short answer: Encourages modular code → easier to maintain and test. Reduces code duplication through inheritance and composition. Improves scalability and flexibility in large projects. Enhances team collaboration as ob…

Mid PDF
Polymorphism – Allowing objects to take multiple forms (e.g., method?

Short answer: overloading/overriding). Real-world example (ShopNest) Checkout calls IPaymentGateway.Charge() . Razorpay and Stripe adapters implement the same interface, so ShopNest can switch gateways without rewriting…

Mid PDF
What are instance vs static members in a class?

Short answer: Instance members → Belong to each object, require object to access. Static members → Belong to the class itself, shared by all objects. public class Car Example code { public string Model; // Instance publi…

Mid PDF
How does encapsulation help in security?

Short answer: By making fields private, external code cannot directly modify sensitive data. Access is controlled via methods or properties, enforcing validation rules. Example: Prevent withdrawing more than the account…

Mid PDF
How is encapsulation implemented in C#?

Short answer: Use private fields to store data. Expose controlled access via public properties or methods. Apply validation logic inside these methods/properties. private int age; Example code public int Age { get { retu…

Mid PDF
What are access modifiers?

Short answer: Keywords that define visibility of class members. Common C# modifiers: private → accessible only inside the class public → accessible from anywhere protected → accessible in class and derived classes intern…

Mid PDF
Can fields be made public directly?

Short answer: Technically yes, but not recommended. Makes the data vulnerable to invalid modifications. Encapsulation recommends private fields + public properties. Real-world example (ShopNest) Think of ShopNest’s Produ…

Mid PDF
How does encapsulation differ from abstraction?

Short answer: Encapsulation → Hides internal data, focuses on data protection. Abstraction → Hides implementation details, focuses on simplifying complex systems. Real-world example (ShopNest) ShopNest’s Order keeps _ite…

Mid PDF
Give an example of encapsulation in C#.?

Short answer: Real-World Example: Bank Account Management public class BankAccount Example code { private string accountNumber; // private field private decimal balance; // private field public string AccountNumber { get…

Mid PDF
Why is abstraction important?

Short answer: Simplifies complex systems by exposing only relevant functionality. Enhances maintainability, readability, and reusability of code. Reduces dependency on implementation details, making systems more flexible…

Mid PDF
How do you implement abstraction in C#?

Short answer: Using abstract classes or interfaces. Abstract classes can have abstract and non-abstract methods. Interfaces define method signatures only. abstract class Vehicle { public abstract void Start(); } interfac…

Mid PDF
What are abstract classes?

Short answer: Classes that cannot be instantiated directly and may contain abstract methods (without implementation). Can have fields, constructors, and concrete methods. abstract class Animal { public abstract void Make…

Mid PDF
What are interfaces?

Short answer: Interfaces define a contract of methods, properties, or events that implementing classes must follow. Interfaces provide full abstraction without any implementation (C# 8+ allows default methods). interface…

Mid PDF
How do interfaces support abstraction?

Short answer: By exposing method signatures only, interfaces hide the implementation. Allows multiple classes to implement the interface differently, providing flexibility and decoupling. class Bird : IFlyable Example co…

Mid PDF
Can you instantiate an abstract class?

Short answer: No, abstract classes cannot be instantiated directly. Must be inherited by a derived class which implements abstract methods. abstract class Shape { public abstract void Draw(); } // Shape s = new Shape();…

Mid PDF
Can abstract classes have constructors?

Short answer: Yes, abstract classes can have constructors. Used to initialize fields for derived classes. abstract class Vehicle { Example code public string Brand; public Vehicle(string brand) { Brand = brand; } } class…

Mid PDF
Can abstract classes have non-abstract methods?

Short answer: Yes, abstract classes can have concrete methods with implementation. Allows shared behavior for derived classes. abstract class Animal { Example code public void Sleep() => Console.WriteLine("Sleepi…

Mid PDF
How does abstraction reduce complexity?

Short answer: Hides implementation details, exposing only what is necessary. Users interact with interfaces or abstract methods, not the full system logic. Simplifies testing, maintenance, and understanding of code. Real…

Mid PDF
Give an example of abstraction in C#.?

Short answer: Real-World Example: Payment Processing // Abstract class abstract class Payment { public override void Pay(decimal amount) => Console.WriteLine($"Paid {amount:C} using PayPal"); } // Usage Paym…

Mid PDF
How is inheritance implemented in C#?

Short answer: Using the colon (:) symbol. Derived class can access public/protected members of the base class. class Vehicle { public void Start() => Console.WriteLine("Start"); } Example code class Car : Ve…

Mid PDF
Can you inherit multiple classes in C#?

Short answer: No, C# does not support multiple class inheritance to avoid ambiguity. Real-world example (ShopNest) ShopNest has a base PaymentMethod with virtual decimal Fee() . UpiPayment and CardPayment override the fe…

Mid PDF
How does inheritance promote code reusability?

Short answer: Common functionality is implemented in base class. Derived classes reuse the code without duplicating it, reducing maintenance effort. Real-world example (ShopNest) ShopNest has a base PaymentMethod with vi…

C# OOP C# Programming Tutorial · OOP

Short answer: Encapsulation – Hiding internal details of objects and exposing only necessary? is a common interview topic in C# OOP. Give a clear definition, then one concrete example.

Real-world example (ShopNest)

ShopNest’s Order keeps _items private and exposes AddItem() so totals stay correct—callers cannot put a negative quantity directly into the list.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: class Vehicle {} // Base class Car : Vehicle {} // Single/Multilevel class Bike : Vehicle {} // Hierarchical

Example code

class Vehicle {} // Base
class Car : Vehicle {} // Single/Multilevel
class Bike : Vehicle {} // Hierarchical

Real-world example (ShopNest)

ShopNest has a base PaymentMethod with virtual decimal Fee(). UpiPayment and CardPayment override the fee logic without changing the checkout caller.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Promotes code reusability through classes and objects. Easier to maintain and extend large applications. Models real-world problems better. Supports modularity, abstraction, and encapsulation, which procedural programming lacks.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Encourages modular code → easier to maintain and test. Reduces code duplication through inheritance and composition. Improves scalability and flexibility in large projects. Enhances team collaboration as objects represent real-world entities.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: overloading/overriding).

Real-world example (ShopNest)

Checkout calls IPaymentGateway.Charge(). Razorpay and Stripe adapters implement the same interface, so ShopNest can switch gateways without rewriting the order service.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Instance members → Belong to each object, require object to access. Static members → Belong to the class itself, shared by all objects. public class Car

Example code

{
public string Model; // Instance
public static int Count; // Static
}

Real-world example (ShopNest)

Think of ShopNest’s Product, Cart, and Order classes: each object holds data + behavior, so pricing rules stay next to the data they use.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: By making fields private, external code cannot directly modify sensitive data. Access is controlled via methods or properties, enforcing validation rules. Example: Prevent withdrawing more than the account balance: public void Withdraw(decimal amount)

Example code

{
if (amount <= balance) balance -= amount; else throw new InvalidOperationException("Insufficient balance"); }

Real-world example (ShopNest)

ShopNest’s Order keeps _items private and exposes AddItem() so totals stay correct—callers cannot put a negative quantity directly into the list.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Use private fields to store data. Expose controlled access via public properties or methods. Apply validation logic inside these methods/properties. private int age;

Example code

public int Age
{ get { return age; } set { if (value > 0) age = value; }
}

Real-world example (ShopNest)

ShopNest’s Order keeps _items private and exposes AddItem() so totals stay correct—callers cannot put a negative quantity directly into the list.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Keywords that define visibility of class members. Common C# modifiers: private → accessible only inside the class public → accessible from anywhere protected → accessible in class and derived classes internal → accessible within the same assembly protected internal → accessible in derived classes or same assembly

Real-world example (ShopNest)

Think of ShopNest’s Product, Cart, and Order classes: each object holds data + behavior, so pricing rules stay next to the data they use.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Technically yes, but not recommended. Makes the data vulnerable to invalid modifications. Encapsulation recommends private fields + public properties.

Real-world example (ShopNest)

Think of ShopNest’s Product, Cart, and Order classes: each object holds data + behavior, so pricing rules stay next to the data they use.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Encapsulation → Hides internal data, focuses on data protection. Abstraction → Hides implementation details, focuses on simplifying complex systems.

Real-world example (ShopNest)

ShopNest’s Order keeps _items private and exposes AddItem() so totals stay correct—callers cannot put a negative quantity directly into the list.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Real-World Example: Bank Account Management public class BankAccount

Example code

{
private string accountNumber; // private field
private decimal balance; // private field
public string AccountNumber { get { return accountNumber; } } // read-only public decimal Balance { get { return balance; } } // read-only public BankAccount(string accNum, decimal initialBalance)
{
accountNumber = accNum; balance = initialBalance >= 0 ? initialBalance : throw new ArgumentException("Invalid balance"); }
public void Deposit(decimal amount)
{
if(amount > 0) balance += amount; else throw new ArgumentException("Deposit must be positive"); }
public void Withdraw(decimal amount)
{
if(amount > 0 && amount <= balance) balance -= amount; else throw new InvalidOperationException("Insufficient balance"); }
} // Usage BankAccount myAccount = new BankAccount("ACC123", 1000); myAccount.Deposit(500); // Balance becomes 1500 myAccount.Withdraw(200); // Balance becomes 1300 Console.WriteLine($"Account: {myAccount.AccountNumber}, Balance: {myAccount.Balance}"); Explanation: accountNumber and balance are private, protecting sensitive data. Controlled access via methods ensures data integrity. Demonstrates real-world encapsulation in action.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Simplifies complex systems by exposing only relevant functionality. Enhances maintainability, readability, and reusability of code. Reduces dependency on implementation details, making systems more flexible.

Real-world example (ShopNest)

Checkout calls IPaymentGateway.Charge(). Razorpay and Stripe adapters implement the same interface, so ShopNest can switch gateways without rewriting the order service.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Using abstract classes or interfaces. Abstract classes can have abstract and non-abstract methods. Interfaces define method signatures only. abstract class Vehicle { public abstract void Start(); } interface IDriveable { void Drive(); }

Example code

Using abstract classes or interfaces. Abstract classes can have abstract and non-abstract methods. Interfaces define method signatures only. abstract class Vehicle {
public abstract void Start();
}
interface IDriveable
{ void Drive(); }

Real-world example (ShopNest)

Checkout calls IPaymentGateway.Charge(). Razorpay and Stripe adapters implement the same interface, so ShopNest can switch gateways without rewriting the order service.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Classes that cannot be instantiated directly and may contain abstract methods (without implementation). Can have fields, constructors, and concrete methods. abstract class Animal { public abstract void MakeSound(); public void Sleep() => Console.WriteLine("Sleeping"); }

Example code

Classes that cannot be instantiated directly and may contain abstract methods (without implementation). Can have fields, constructors, and concrete methods. abstract class Animal {
public abstract void MakeSound();
public void Sleep() => Console.WriteLine("Sleeping");
}

Real-world example (ShopNest)

Checkout calls IPaymentGateway.Charge(). Razorpay and Stripe adapters implement the same interface, so ShopNest can switch gateways without rewriting the order service.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Interfaces define a contract of methods, properties, or events that implementing classes must follow. Interfaces provide full abstraction without any implementation (C# 8+ allows default methods). interface IFlyable

Example code

{ void Fly(); }

Real-world example (ShopNest)

Checkout calls IPaymentGateway.Charge(). Razorpay and Stripe adapters implement the same interface, so ShopNest can switch gateways without rewriting the order service.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: By exposing method signatures only, interfaces hide the implementation. Allows multiple classes to implement the interface differently, providing flexibility and decoupling. class Bird : IFlyable

Example code

{
public void Fly() => Console.WriteLine("Bird is flying");
}
class Airplane : IFlyable
{
public void Fly() => Console.WriteLine("Airplane is flying");
}

Real-world example (ShopNest)

Checkout calls IPaymentGateway.Charge(). Razorpay and Stripe adapters implement the same interface, so ShopNest can switch gateways without rewriting the order service.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: No, abstract classes cannot be instantiated directly. Must be inherited by a derived class which implements abstract methods. abstract class Shape { public abstract void Draw(); } // Shape s = new Shape(); // Not allowed

Example code

class Circle : Shape { public override void Draw() => Console.WriteLine("Circle"); }

Real-world example (ShopNest)

Checkout calls IPaymentGateway.Charge(). Razorpay and Stripe adapters implement the same interface, so ShopNest can switch gateways without rewriting the order service.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Yes, abstract classes can have constructors. Used to initialize fields for derived classes. abstract class Vehicle {

Example code

public string Brand;
public Vehicle(string brand) { Brand = brand; }
}
class Car : Vehicle
{
public Car(string brand) : base(brand) { }
}

Real-world example (ShopNest)

Checkout calls IPaymentGateway.Charge(). Razorpay and Stripe adapters implement the same interface, so ShopNest can switch gateways without rewriting the order service.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Yes, abstract classes can have concrete methods with implementation. Allows shared behavior for derived classes. abstract class Animal {

Example code

public void Sleep() => Console.WriteLine("Sleeping");
public abstract void MakeSound();
}

Real-world example (ShopNest)

Checkout calls IPaymentGateway.Charge(). Razorpay and Stripe adapters implement the same interface, so ShopNest can switch gateways without rewriting the order service.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Hides implementation details, exposing only what is necessary. Users interact with interfaces or abstract methods, not the full system logic. Simplifies testing, maintenance, and understanding of code.

Real-world example (ShopNest)

Checkout calls IPaymentGateway.Charge(). Razorpay and Stripe adapters implement the same interface, so ShopNest can switch gateways without rewriting the order service.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Real-World Example: Payment Processing // Abstract class abstract class Payment { public override void Pay(decimal amount) => Console.WriteLine($"Paid {amount:C} using PayPal"); } // Usage Payment payment1 = new CreditCardPayment(); payment1.Pay(500); payment1.ShowReceipt(500); Payment payment2 = new PayPalPayment(); payment2.Pay(300); payment2.ShowReceipt(300); Explanation: Payment defines what a payment should do…

Explain a bit more

(abstract method Pay). Derived classes (CreditCardPayment, PayPalPayment) define how payment is made. Users interact only with the abstract interface, not the internal logic.

Example code

public abstract void Pay(decimal amount);
public void ShowReceipt(decimal amount) => Console.WriteLine($"Paid: {amount:C}"); } // Derived classes implement abstraction class CreditCardPayment : Payment
{
public override void Pay(decimal amount) => Console.WriteLine($"Paid {amount:C} using Credit Card"); }
class PayPalPayment : Payment
{

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Using the colon (:) symbol. Derived class can access public/protected members of the base class. class Vehicle { public void Start() => Console.WriteLine("Start"); }

Example code

class Car : Vehicle { }
Car myCar = new Car(); myCar.Start(); // Inherited method

Real-world example (ShopNest)

ShopNest has a base PaymentMethod with virtual decimal Fee(). UpiPayment and CardPayment override the fee logic without changing the checkout caller.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: No, C# does not support multiple class inheritance to avoid ambiguity.

Real-world example (ShopNest)

ShopNest has a base PaymentMethod with virtual decimal Fee(). UpiPayment and CardPayment override the fee logic without changing the checkout caller.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share

C# OOP C# Programming Tutorial · OOP

Short answer: Common functionality is implemented in base class. Derived classes reuse the code without duplicating it, reducing maintenance effort.

Real-world example (ShopNest)

ShopNest has a base PaymentMethod with virtual decimal Fee(). UpiPayment and CardPayment override the fee logic without changing the checkout caller.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Permalink & share
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details