1. Path to production
Describe how work moves through development, developer review, QA, pre-production or stakeholder approval, and production. Explain what each stage verifies.
Prepare to discuss how you deliver, design, test, and support software. These pointers are a checklist of areas to be aware of, not a script to memorize. Focus on examples from your own work and explain why your team made its choices.
Describe how work moves through development, developer review, QA, pre-production or stakeholder approval, and production. Explain what each stage verifies.
Know how infrastructure is provisioned and releases are deployed. Examples include Terraform, AWS CloudFormation, Azure Bicep or ARM, and Kubernetes. Describe your team's actual approach.
Be ready to walk through checkout, dependency installation and restore, build, security scanning, tests, coverage checks, and artifact or image publishing, followed by release gates. Pipeline examples include GitHub Actions, Azure DevOps, Jenkins, and Bamboo. For on-premises hosting, know options such as IIS on Windows and Apache or Nginx on Linux.
Explain how logs, metrics, and anomalies are monitored and how alerts reach the team. Tools may include Application Insights, CloudWatch, Datadog, or Splunk.
Understand the purpose of unit, integration (including Testcontainers), architecture fitness, mutation, and end-to-end tests. Distinguish pipeline automation from QA activities such as smoke, regression, and exploratory testing.
Identify the compute, storage, database, messaging, networking, monitoring, and secret-management services your application uses. AWS examples include Lambda, ECS or EKS, S3, DynamoDB, RDS, Route 53, SNS, SQS, CloudWatch, and Secrets Manager. Azure examples include Functions, Container Apps or AKS, Blob Storage, Cosmos DB, Azure SQL, Azure DNS, Service Bus, Storage Queues, Application Insights, and Key Vault. Explain what the services in your own system do.
Be prepared to describe a monolith, modular monolith, or microservices, along with module boundaries and communication. Know patterns such as Clean Architecture, Vertical Slice Architecture, contracts, event-driven design, and event storming, and explain why the chosen approach fits.
Have examples of TDD, DDD, SOLID, and design patterns. Also discuss cross-cutting concerns such as security, validation, error handling, resilience, caching, auditing, logging, and performance monitoring.
Know the UI framework, such as Angular, React, Vue, Blazor, ASP.NET MVC, or Razor Pages, and whether the app is a monolith or uses micro-frontends. Be familiar with lazy loading, state management, identity-provider integration, and analytics where relevant.
Know the major runtime and framework versions used in your project, plus how upgrades are managed. Check current support status; version examples become outdated.
Explain how schema changes are authored, reviewed, and applied, whether through scripts, application migrations, or a migration bundle, and how the change fits the release and recovery plan.
Understand how feature or release flags enable controlled rollouts and A/B testing, who owns them, and how stale toggles are removed.
Be able to explain the consistency and availability trade-off a distributed system faces when a network partition occurs, and relate it to the needs of a real system.
Prepare specific examples of contributions such as open-source work, mentoring, helping with interviews, or building a technical community. You can also discuss how you show technology leadership within your organization: delivering internal tech talks, contributing to engineering guilds, sharing standards or practices, and helping teams adopt useful improvements. Explain your role, the impact, and what you learned.
You do not need to have used every tool or architecture listed here. Show how you think, make trade-offs, learn, and contribute; use real examples and be clear about what you personally did.