Senior Software Engineer Interview Questions and Answers

Part 1 - General Software Engineering


1. Tell me about yourself.

Answer

I am a Senior Software Engineer with more than 20 years of experience developing enterprise applications using C#, .NET, SQL Server, ASP.NET Core, Angular, JavaScript, and cloud technologies. I've worked on large-scale systems used by tens of thousands of users, designed REST APIs, optimized SQL databases, integrated third-party systems, and led development teams. Recently I've also been studying AI technologies, modern cloud architectures, and Python. I'm looking for a role where I can contribute technically while continuing to learn modern technologies.


2. Why are you looking for a new job?

Answer

I'm looking for an opportunity to work on modern technologies, solve challenging problems, and contribute to a strong engineering team. I enjoy designing scalable software and learning new technologies such as AI, cloud services, and distributed systems.


3. What makes you a senior developer?

Answer

A senior developer:


4. What is the difference between a programmer and a software engineer?

Answer

A programmer focuses on writing code.

A software engineer also considers:


5. What do you consider when designing software?

Answer

I think about:


Object-Oriented Programming


6. What are the four principles of OOP?

Answer

Encapsulation

Hide implementation details.

private decimal salary;


Inheritance

class Animal { }

class Dog : Animal { }


Polymorphism

animal.MakeSound();

Different implementations.


Abstraction

Expose only necessary functionality.

interface ILogger

{

    void Log(string message);

}


7. What is the difference between an abstract class and an interface?

Answer

Abstract Class

Interface

Can have implementation

Usually defines a contract

Constructors allowed

No constructors

Fields allowed

No instance fields

Single inheritance

Multiple interfaces


8. What is dependency injection?

Answer

Dependency Injection (DI) is a design pattern where objects receive their dependencies instead of creating them.

Instead of

var service = new EmailService();

use

public UserController(IEmailService service)

{

    _service = service;

}

Benefits:


9. What is SOLID?

Answer

S

Single Responsibility Principle

One class should have one responsibility.


O

Open/Closed Principle

Open for extension.

Closed for modification.


L

Liskov Substitution

Derived classes should replace base classes.


I

Interface Segregation

Many small interfaces instead of one large one.


D

Dependency Inversion

Depend on abstractions.


10. Give an example of Dependency Inversion.

Instead of

OrderService

creating

EmailService

inject

IEmailService

This allows changing implementation without changing OrderService.


Design Patterns


11. What design patterns have you used?

Answer

Common ones:


12. Explain Repository Pattern.

It separates business logic from data access.

Instead of

context.Users.Add(user);

use

_repository.Add(user);

Advantages:


13. What is Factory Pattern?

Creates objects without exposing creation logic.

ILogger logger = LoggerFactory.Create();


14. What is Strategy Pattern?

Allows changing algorithms at runtime.

Example:

Different payment methods.

Credit Card

PayPal

Bank Transfer

Each implements

IPaymentStrategy


15. What is Singleton?

Only one instance exists.

Example: Configuration, Logger, Cache


Clean Code


16. What is clean code?

Code that is:


17. What are common code smells?


18. What is refactoring?

Improving internal code without changing functionality.

Examples:


19. What is technical debt?

Choosing a quick solution now that will require additional work later.


20. How do you review code?

I look for:


Behavioural Questions


21. Tell me about a difficult bug.

Good Answer

Describe:

Situation

Task

Action

Result

Example:

We had a production issue where API response times increased from 200 ms to over 10 seconds. I analysed SQL execution plans, identified missing indexes, optimized the queries, and reduced the response time to under 300 ms.


22. Tell me about a disagreement with a teammate.

Answer using STAR:

Situation

Task

Action

Result

Focus on communication.

Never blame others.


23. Tell me about a project you're proud of.

Choose one where you:


24. How do you handle tight deadlines?

I first understand business priorities, estimate the work, communicate risks early, break the work into smaller deliverables, and focus on delivering the highest-value functionality first while maintaining code quality.


25. Why should we hire you?

I bring extensive experience designing and delivering enterprise software, a strong foundation in .NET and SQL, the ability to solve complex technical problems, and a collaborative approach to working with teams. I enjoy learning new technologies and can quickly become productive while also mentoring others and improving engineering practices.


Interview Tip

For behavioural questions, use the STAR method:


These 25 questions are only the beginning. For senior .NET positions, I recommend preparing across these topics as well:

  1. C# (50+ questions)
  2. .NET / ASP.NET Core (40+ questions)
  3. SQL Server (50+ questions)
  4. Entity Framework (30+ questions)
  5. REST APIs (25+ questions)
  6. Azure & AWS (40+ questions)
  7. React & Angular (50+ questions)
  8. System Design (40+ questions)
  9. Microservices (30+ questions)
  10. AI, LLMs, RAG, and vector databases (30+ questions)
  11. LeetCode and algorithms (50+ questions)

Together, this would provide a handbook of 400–500 interview questions with concise, interview-ready answers that you can print and use for daily practice.