Architecture interview questions
Questions
-
Difference between the role of the Architect and the Tech Lead
- Main concerns
- What’s the most difficult aspect of the switch from TL to Sln Arch
- Do you follow any particular mentoring strategy?
- Do you establish guidelines, best practices? How? How to make sure they are followed?
- How do you relate with Tech Leads in terms of the design/development process?
-
Mention a couple of web Architecture Styles and describe them => check this (https://docs.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/common-web-application-architectures)
- Monolithic
- N-layers
- Onion/Hexagonal/Clean Architecture (DDD/Dep Inv)
- Vertical Slice Architecture (https://jimmybogard.com/vertical-slice-architecture/)
-
What’s Event Driven Arch and it’s benefits (as opposed to request-driven)
- Event vs Message
- What’s Eventual Consistency? Have you been exposed to a situation where you have needed it, or considered it?
- BASE (Basically Available, Soft-state, Eventually-consistent) as opposed to ACID (Atomic, consistent, isolated, durable)
- Azure ServiceBus/RabbitMQ (or message broker) vs Kafka (Azure event hub), and where would you use each?
- Any experience with Kafka? From your experience, any warning in its adoption?
- How it relates to Microservices architecture?
- Kafka experience?
- describe a Kafka setup
- environments approach
- throughput
- any cost-control strategy?
- any scaling out strategy, ?
- describe a Kafka setup
-
What is uServices?
- Difference with SOA?
- Which are the benefits and trade offs?
- Do you know DDD? How is it related to uServices. => Entity vs Value Object vs Aggregates
- Have you been involved in migrating a monolith into microservice
- any patterns, experiences?
- Benefits of monolithic architecture
-
Exercise: Authentication and Authorization in microservices * what’s your approach? * Relation between OAuth and OIDC * diferent scenarios covered by the OAuth flows => Authorization Code flow: server-server => Authorization Code Flow with PKCE(proof key for code exchange) => Resource Owner Password Flow
-
Azure web app High Availability
- Availability Zones (Zone redundant), Regions
- Active-Active, Active-Passive
- RPO
- RTO
- Deployment strategies
- Canary deployment vs Blue/Green
- How to implement it in Azure
-
What is Cache
- Difference with a DDBB
- In Memory (not persisted) vs Persisted: trade offs
- If cache is so fast, why not just use it as the ddbb storage directly?
-
K8s/Docker
- AKS: any experience?
- Explain the setup: general pieces/responsibilities
- service mesh?
- security?
- packaging (helm)
-
Patterns
- Refactoring patterns
- e.g. refactoring monolith into uServices
- Any anecdote with a particularly helpfull pattern in your personal experience?
- Refactoring patterns
-
CI/CD
- CI vs C Delivery vs C Deployment
-
Non Functional Requirements
- what are NFRs?
- How do you manage them, govern them, document them in the process?
-
Technical Governance
- Documentation, how do you approach documentation?
- What sort of diagrams do you use if any, and why? How do you organize them?
-
Methodology
- What’s agile methodology about? Can you resume in one sentence?
- Your favorite/most important SCRUM ceremony?
- In a project where there’s a PO, SM, Tech Lead and Dev Team, how would the life cycle or a requirement would be and how does the Architect comes into the picture
-
Describe your favorite architecture design project