modernizing/migrations Flashcards

(12 cards)

1
Q

Tell me about a system modernization or migration project you’ve worked on

A
  • Migrated SQL Server databases to Azure Managed Instances.
  • Optimized stored procedures
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Have you migrated a legacy .NET Framework/WinForms system?

A
  • Experience maintaining legacy WinForms.
  • Approach: decouple UI/business logic, create APIs, migrate modules incrementally.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How do you decide between .NET Framework vs .NET Core

A
  • Default to .NET Core for performance, cross-platform, new features.
  • Only use Framework if legacy dependencies require it.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Experience building or consuming REST APIs

A
  • Enhanced AML REST APIs (~20% more data exposure).
  • Integrated third-party APIs (FactSet, ICE).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Optimizing SQL queries & stored procedures

A
  • indexes
  • query plans
  • large joins
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Writing testable & resilient C# code

A
  • Separate business logic from UI/data access.
  • Use dependency injection and interfaces for mocking.
  • Unit tests for edge cases; single-responsibility methods.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Experience managing builds & deployments

A
  • DLL updates on IIS (Vertafore).
  • TeamCity pipelines for builds/tests/deployments (ACA Group).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How would you ensure quality during modernization?

A
  • Implement unit tests that capture legacy behavior
  • Serves as safety net during refactoring
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Unit/Integration/Regression Testing

A
  • Unit Tests: Focus on a single function, fast feedback.
  • Integration Tests: Ensure API, DB, and services interact correctly.
  • Regression Tests: Preserve legacy system behavior during modernization.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Strangler Fig Pattern

A
  • A technique to replace a legacy system incrementally.
  • Wrap the old system with new components and gradually route traffic to the new services.
  • Eventually “strangles” the old system until it can be fully retired.
  • Helps avoid big-bang rewrites and reduces risk.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How to break apart a monolith

A
  • Identify seams/boundaries: modules with clear domain ownership (billing, quotes, policies).
  • Extract services starting from low-risk areas or read-only functionality.
  • Replace shared DB patterns with domain specific DBs (Claims DB, Billing DB, etc)
  • Introduce eventing or messaging as systems become decoupled.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How to reverse-engineer undocumented logic

A
  • Analyze queries, stored procedures, and UI workflows.
  • Use debugging tools, call tracing, and logs.
  • Ask SMEs and senior engineers.
  • Document as you go (sequence diagrams, flow diagrams).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly