Simplified Study Guide
OOP & Programming Basics
- Inheritance: Manager inherits from Employee.
- Abstract Class: Cannot be instantiated; defines methods for derived classes.
- Constructor Order: Base constructor runs before derived constructor.
- Encapsulation: Restricts access -> better maintainability/flexibility.
- Polymorphism: Same method, different behavior (e.g., Area() in different shapes).
- Virtual/Override: Use virtual in base class, override in derived.
- Access Modifiers: protected (Base + derived), private (Class only), public (Everyone).
- Upcasting: Convert to a general (base) type.
- Static vs Instance: Static methods can't access instance members.
.NET & C# Specific
- Main(): Entry point of a console app.
- Windows Service: Background process without UI.
- async/await: Simplifies async programming.
- Delegates: Type-safe function pointers.
- IDisposable: Ensures cleanup of resources.
- Lambda Expressions: Inline anonymous functions.
- Exception Handling: try-catch-finally; finally always runs.
- Stack: LIFO (Last-In-First-Out), e.g., method calls.
- Linked List: Good for insert/delete; doubly linked allows two-way traversal.
Web Development (ASP.NET, JS, HTML)
- ASP.NET MVC: Routes defined in RouteConfig.cs, Controllers select actions.
- Cookies: Small files stored on client.
- Sessions: Stored server-side (default).
- Application Object: Shared across all users.
- JavaScript: Client-side, dynamic, weakly typed.
- XMLHttpRequest: let xhr = new XMLHttpRequest();
- ViewBag vs ViewData: ViewBag is dynamic.
- Razor Syntax: Use @ to write C# in HTML.
- XHTML Rules: Quote attributes, no minimized tags (e.g., <br />).
Simplified Study Guide
Database & SQL
- SELECT Query: ORDER BY lastName, firstName.
- UPDATE Statement: Modifies records.
- Stored Procedures: Encapsulated SQL for reuse.
- Indexing: Speeds up queries (esp. on ID fields).
- Normalization: Reduces redundancy, improves integrity.
- Primary Key: Only one per table.
- Foreign Key: Links tables.
- Metadata: Describes structure (aka data dictionary).
- Connection Pooling: Reuses DB connections.
- SqlDataReader vs SqlDataAdapter: SqlDataReader is forward-only; SqlDataAdapter.Fill() loads
into DataSet.
Testing & Debugging
- Unit Testing: Test individual components.
- Regression Testing: Check old features still work.
- Test Case Includes: Steps + Expected results.
- White Box Testing: Tests internal logic.
- Debug Windows Service: Attach to process in Visual Studio.
- Mocking: Fake objects for testing.
Architecture & Design Patterns
- SOLID: S = Single Responsibility, O = Open/Closed.
- Singleton: One instance only.
- Factory Method: Delegates instantiation to subclasses.
- Observer: One-to-many dependency.
- Repository: Mediates between domain/data layers.
- CQRS: Separate read/write models.
- Event Sourcing: Store changes as events.
Web APIs & Services
- SOAP: XML-based; described via .wsdl.
- REST: Stateless, cacheable, uniform interface.
Simplified Study Guide
- GraphQL: Client requests specific data.
- gRPC: High-performance, uses HTTP/2.
- OAuth 2.0: Secure delegated authorization.
- JWT: Token format -> Header.Payload.Signature.
DevOps, CI/CD, & Deployment
- DevOps: Combines development + IT ops.
- CI/CD: Automates build/test/deploy.
- Infrastructure as Code: Define infra in files (e.g., Terraform).
- Docker: Package apps + dependencies.
- Kubernetes: Manage containers.
- Load Balancing: Distribute traffic.
- Azure App Service / AWS Lambda: Cloud deployment platforms.
Agile & Project Methodologies
- SDLC Phases: Requirements -> Design -> Dev -> Testing.
- Scrum: Sprint-based.
- Kanban: Visual workflow (To Do -> In Progress -> Done).
- TDD: Write tests before code.
- 12-Factor App: Methodology for scalable web apps.
- DDD (Domain-Driven Design): Model-driven development.
Security
- HTTPS: Port 443, encrypted communication.
- SQL Injection: Prevent with parameterized queries.
- XSS: Prevent input of harmful client scripts.
- TLS: Encrypts data over the web.
- Machine Key: Secures ViewState in ASP.NET.