Syllabus For Interview - Intermediate
Syllabus For Interview - Intermediate
Let's narrow down the focus to intermediate-level topics that are highly
relevant to your role as a Software Engineer, especially given your experience with
C#, .NET, SQL, and web development. Here are some key areas to focus on for an
intermediate-level interview preparation:
- **Error Handling**:
- Study exception handling using `try-catch-finally`.
- Learn about custom exception classes and when to throw exceptions.
- **Asynchronous Programming**:
- Focus on `async` and `await` for asynchronous operations, especially how to
work with asynchronous I/O operations (e.g., web requests, database calls).
---
---
- **Transactions**:
- Understand **ACID** properties (Atomicity, Consistency, Isolation, Durability)
and how transactions are handled in SQL.
- Learn to handle **SQL deadlocks** and **transaction isolation levels**.
---
- **Design Patterns**:
- **Factory Pattern**: Understand how to use this pattern for object creation
based on conditions.
- **Singleton Pattern**: Focus on ensuring a class has only one instance
throughout the application's lifecycle.
- **Observer Pattern**: Learn how to allow an object to notify other objects
about changes in its state.
- **Strategy Pattern**: Learn how to define a family of algorithms and make them
interchangeable.
---
---
- **Sorting Algorithms**:
- Understand and practice algorithms like **Bubble Sort**, **Selection Sort**,
and **Merge Sort**. Focus on time and space complexity (Big-O notation).
- **Linked Lists**:
- Study the implementation of singly linked lists and common operations
(insertion, deletion, searching).
- **Hash Tables**:
- Understand how hash tables work, their time complexity for operations like
search, insertion, and deletion.
---
---
---
---
---
By focusing on these intermediate-level topics, you'll cover the core areas needed
for most technical interviews in software engineering roles while still keeping the
content manageable. Good luck with your preparation!