Perguntas Mais Frequentes em Entrevistas para Senior Developer
📋 Visão Geral
Este documento lista os tópicos mais comuns abordados em entrevistas para posições de desenvolvedor senior, organizados por categorias para facilitar o estudo e preparação.
🏗️ Arquitetura e Design
Padrões Arquiteturais
- Clean Architecture
- Hexagonal Architecture (Ports and Adapters)
- Onion Architecture
- Microservices vs Monolith
- Event-Driven Architecture
- CQRS (Command Query Responsibility Segregation)
- Event Sourcing
- Domain-Driven Design (DDD)
- Layered Architecture
- N-Tier Architecture
- Service-Oriented Architecture (SOA)
- Serverless Architecture
- Event Sourcing vs Event Streaming
- Saga Pattern for Distributed Transactions
SOLID Principles
- Single Responsibility Principle (SRP)
- Open/Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- Aplicação Prática em .NET
- Dependency Injection Container
- Repository Pattern com SOLID
- Benefícios dos Princípios SOLID
Design Patterns
- Gang of Four Patterns
- Repository Pattern
- Unit of Work Pattern
- Factory Pattern
- Strategy Pattern
- Observer Pattern
- Decorator Pattern
- Adapter Pattern
- Facade Pattern
- Mediator Pattern (MediatR)
- Command Pattern
- Specification Pattern
- Fluent Interface Pattern
- Value Objects
- Event Sourcing Pattern
- Saga Pattern
- Outbox Pattern
- CQRS (Command Query Responsibility Segregation)
- Event-Driven Architecture
- Domain Events
- Integration Events
Anti-Patterns
🔧 Desenvolvimento .NET
C# Avançado
- Async/Await e Task Parallel Library
- LINQ e Expression Trees
- Reflection e Dynamic Programming
- Generics e Constraints
- Extension Methods
- Anonymous Types
- Tuples e Records
- Pattern Matching
- Nullable Reference Types
- Source Generators
Performance e Otimização
- Memory Management e Garbage Collection
- Boxing e Unboxing
- String Interning
- StringBuilder vs String Concatenation
- Collections Performance
- Value Types vs Reference Types
- Span<T> e Memory<T>
- Object Pooling
- Profiling e Benchmarking
Entity Framework
- Lazy Loading vs Eager Loading
- Change Tracking
- Query Optimization
- Compiled Queries
- Raw SQL vs LINQ
- Connection Pooling
- Migration Strategies
- Database-First vs Code-First
🗄️ Banco de Dados
SQL e Performance
- Índices e Otimização de Queries
- Normalização vs Denormalização
- Stored Procedures vs ORM
- Connection Pooling
- Deadlocks e Concurrency
- ACID Properties
- Isolation Levels
NoSQL e Bancos de Dados
- Document Stores (MongoDB, Cosmos DB)
- Key-Value Stores (Redis, DynamoDB)
- Graph Databases (Neo4j)
- Time Series Databases
- Wide Column Stores (Cassandra)
- Polyglot Persistence
- Database Selection Criteria
- Performance Comparison (RDBMS vs NoSQL)
- Data Modeling Strategies
- Consistency Models (ACID vs BASE)
- Sharding Strategies
- Replication Patterns
☁️ Cloud e DevOps
Cloud Computing
- AWS, Azure, Google Cloud
- Cloud Pública vs Privada vs Híbrida
- Modelos de Serviço Cloud (IaaS, PaaS, SaaS)
- Serverless (Lambda, Functions)
- Cloud Migration Strategies
- Multi-Cloud Architecture
- Cloud Security (IAM, Security Groups)
- Cost Optimization
- Auto Scaling
- Vendor Lock-in
AWS Services
- Serviços de Computação (EC2, Lambda)
- Serviços de Banco de Dados (RDS, DynamoDB)
- Serviços de Storage (S3)
- Serviços de Mensageria (SQS, SNS)
- Serviços de Email (SES)
- Serviços de Segurança (IAM, Cognito)
- Serviços de Monitoramento (CloudWatch)
- Serviços de Analytics
- Configuração e Deploy AWS
Azure Services
- Azure Services (App Service, Functions, Cosmos DB, Service Bus, Event Hub)
- Azure Cloud
- Azure Functions
Google Cloud Services
Infrastructure as Code
DevOps e Containerização
- Docker e Containerização
- Git Strategies (GitFlow, Trunk-Based)
- Automated Testing
- Blue-Green Deployments
- Canary Deployments
- Configuration Management
- Container Orchestration
Kubernetes
- Conceitos Fundamentais do Kubernetes
- Arquitetura do Cluster
- Recursos Principais (Pods, Deployments, Services)
- Networking no Kubernetes
- Monitoramento e Observabilidade
- Deploy e Scaling
- Ferramentas e Comandos
- Desenvolvimento Local
- Helm Charts
- Segurança no Kubernetes
- Service Mesh e Istio
- Troubleshooting
- Resource Management (CPU, Memory, Storage)
- Escalabilidade Horizontal e Vertical
- Rolling Updates
- Health Checks (Liveness, Readiness)
Escalabilidade
- Tipos de Escalabilidade (Horizontal vs Vertical)
- Escalabilidade em Linux vs Windows Server
- Estratégias de Implementação
- Auto Scaling com Azure e AWS
- Monitoramento e Métricas
- Melhores Práticas de Escalabilidade
- Matriz de Decisão para Escalabilidade
CI/CD
- Conceitos Fundamentais de CI/CD
- Ferramentas de CI/CD
- Implementação em .NET
- GitOps e ArgoCD
- Considerações Importantes
🔒 Segurança
Web Security
- OWASP Top 10
- Authentication vs Authorization
- JWT Tokens
- OAuth 2.0 e OpenID Connect
- HTTPS e SSL/TLS
- CORS Policies
- SQL Injection Prevention
- XSS Protection
- CSRF Protection
- Content Security Policy (CSP)
- Security Headers
- Input Validation
- Output Encoding
- Secure Communication
- API Security
- Rate Limiting
- Security Testing (Penetration Testing)
Application Security
- Input Validation
- Output Encoding
- Secure Coding Practices
- Dependency Scanning
- Secrets Management
- API Security
- Authentication Services (AWS Cognito, Auth0, Keycloak)
- Authorization Patterns (RBAC, ABAC)
- Secure Configuration Management
- Audit Logging
- Data Encryption (At Rest, In Transit)
- Certificate Management
- Security Monitoring
- Incident Response
Segurança Avançada
- OAuth 2.0 e OpenID Connect
- OWASP Top 10
- Autenticação e Autorização
- Secrets Management
- Security Headers
- Security Testing
- Checklist de Segurança
📊 Testes
Testing Strategies
- Unit Testing
- Integration Testing
- End-to-End Testing
- Test-Driven Development (TDD)
- Behavior-Driven Development (BDD)
- Mocking e Stubbing
- Test Coverage
- Performance Testing
- Contract Testing
- Property-Based Testing
- Mutation Testing
- Visual Testing
- Accessibility Testing
- Security Testing
- Load Testing
- Stress Testing
- Chaos Engineering
Testing Tools
- xUnit, NUnit, MSTest
- Moq, NSubstitute
- FluentAssertions
- AutoFixture
- TestContainers
- Playwright
- Selenium
- Postman/Newman
- JMeter
- Artillery
- Pact (Contract Testing)
- WireMock
- TestContainers
- SonarQube
🔄 Concorrência e Paralelismo
Threading
- Thread vs Task
- Async/Await Patterns
- Thread Pool
- Synchronization Primitives
- Race Conditions
- Deadlocks
- Thread Safety
Parallel Programming
- Parallel LINQ (PLINQ)
- Task Parallel Library (TPL)
- Data Parallelism
- Task Coordination
- Cancellation Tokens
📡 APIs e Comunicação
Web APIs
- REST vs GraphQL
- API Design Principles
- Versioning Strategies
- Rate Limiting
- API Documentation
- OpenAPI/Swagger
- gRPC
- WebSockets
- API Gateway Patterns
- Backend for Frontend (BFF)
- API Security
- API Testing
- API Monitoring
- API Versioning Strategies
- API Design Best Practices
Message Queues e Sistemas de Mensageria
- RabbitMQ
- Apache Kafka
- Azure Service Bus
- AWS SQS/SNS
- Apache Pulsar
- Redis Pub/Sub
- Event Sourcing
- Saga Pattern
- Outbox Pattern
- Dead Letter Queues
- Message Ordering (FIFO)
- Message Deduplication
🏢 Soft Skills e Liderança
Liderança Técnica
- Code Reviews
- Mentoring
- Technical Decision Making
- Architecture Reviews
- Team Collaboration
- Knowledge Sharing
Comunicação
- Stakeholder Communication
- Technical Documentation
- Presentation Skills
- Conflict Resolution
- Remote Work Collaboration
💼 Carreira e Desenvolvimento Profissional
Responsabilidades Estratégicas
- Roadmap Técnico
- Avaliação de Riscos
- Inovação e Pesquisa de Tecnologias
- Padrões e Processos de Desenvolvimento
Gestão de Projetos
- Estimativas de Projetos
- Priorização de Features
- Gestão de Dependências Técnicas
- Planejamento para Escalabilidade
Indicadores de Sucesso
- Indicadores Técnicos
- Indicadores Organizacionais
- Redução de Bugs em Produção
- Melhoria na Performance
- Aumento na Cobertura de Testes
- Redução de Débito Técnico
Desafios Comuns
- Desafios Técnicos
- Desafios Organizacionais
- Manter-se Atualizado
- Balancear Qualidade e Velocidade
- Lidar com Código Legado
Desenvolvimento Contínuo
- Aprendizado Contínuo
- Networking Profissional
- Participação em Conferências
- Contribuição para Open Source
- Escrita de Artigos Técnicos
Transição para Senior
- Preparação para Senior
- Desenvolvimento de Competências de Liderança
- Experiência em Arquitetura
- Habilidades de Comunicação
- Mindset de Senior
📈 Monitoramento e Observabilidade
Conceitos Fundamentais
- Os Três Pilares da Observabilidade
- Logs, Metrics e Traces
- Detecção Proativa de Problemas
- Debugging Rápido
- Business Intelligence
Logging Estruturado
- Configuração do Serilog
- Logging Estruturado em Controllers
- Structured Logging
- Log Aggregation
- Enriquecimento de Logs
Métricas e Monitoramento
- Métricas e Monitoramento
- Metrics Collection
- Performance Monitoring
- Resource Utilization
- Business Metrics
Distributed Tracing
APM e Ferramentas
- APM (Application Performance Monitoring)
- Application Insights
- Prometheus
- Grafana
- ELK Stack (Elasticsearch, Logstash, Kibana)
- Jaeger
- Zabbix
- Datadog
- Dynatrace
- Seq
- Nagios
Alerting e Notificações
Health Checks
Testes de Observabilidade
🔄 Integração e Middleware
Enterprise Integration
- Enterprise Service Bus (ESB)
- Message Brokers
- API Gateways
- Service Mesh
- Event-Driven Integration
- Data Integration Patterns
- ETL/ELT Processes
- Real-time Data Processing
- Batch Processing
- Data Pipeline Design
- Integration Testing
- Error Handling in Integrations
- Retry Patterns
- Circuit Breaker Pattern
Legacy Integration
📅 Event Sourcing
Conceitos Fundamentais
- O que é Event Sourcing
- Vantagens do Event Sourcing
- Audit Trail Completo
- Temporal Queries
- Debugging Facilitado
Implementação Prática
Padrões Relacionados
- Event Sourcing vs Event Streaming
- CQRS com Event Sourcing
- Saga Pattern com Event Sourcing
- Outbox Pattern
- Snapshot Pattern
Integração e Ferramentas
📱 Frontend e Full-Stack
Web Technologies
- JavaScript/TypeScript
- React, Angular, Vue.js
- Single Page Applications (SPA)
- Progressive Web Apps (PWA)
- WebAssembly
Mobile Development
🎯 Problemas de Codificação
Algoritmos e Estruturas de Dados
- Sorting Algorithms
- Search Algorithms
- Data Structures (Lists, Trees, Graphs)
- Time Complexity Analysis
- Space Complexity Analysis
System Design
- Scalable System Design
- Database Design
- Caching Strategies
- Load Balancing
- Fault Tolerance
- High Availability
- Distributed Systems
- CAP Theorem
- Eventual Consistency
- Strong Consistency
- Partitioning Strategies
- Replication Patterns
- Data Sharding
- Circuit Breaker Pattern
- Bulkhead Pattern
- Retry Pattern
- Timeout Pattern
📚 Conceitos Avançados
Functional Programming
- Immutability
- Pure Functions
- Higher-Order Functions
- Functional Patterns in C#
- LINQ Functional Approach
- Monads
- Functors
- Applicative Functors
- Functional Error Handling
- Railway Oriented Programming
- Functional Testing
- Functional Architecture
Reactive Programming
- Rx.NET
- Observable Pattern
- Event Streams
- Backpressure Handling
- Reactive Streams
- Hot vs Cold Observables
- Subject Types
- Schedulers
- Error Handling in Rx
- Testing Reactive Code
- Reactive Architecture
- Event Sourcing with Rx
🛠️ Ferramentas e Tecnologias
Development Tools
- Visual Studio
- JetBrains Rider
- Git e GitHub
- NuGet Package Management
- Docker Desktop
- VS Code
- Azure Data Studio
- SQL Server Management Studio
- Postman
- Fiddler
- Charles Proxy
- Redis Desktop Manager
- MongoDB Compass
- pgAdmin
Build e Deploy
- MSBuild
- Azure DevOps
- GitHub Actions
- Jenkins
- TeamCity
- GitLab CI/CD
- CircleCI
- Travis CI
- Octopus Deploy
- ArgoCD
- Helm
- Terraform
- Ansible
- Chef
- Puppet
📊 Métricas e KPIs
Code Quality
Performance Metrics
- Response Time
- Throughput
- Error Rates
- Resource Utilization
- Availability
- SLI/SLO/SLA
- MTTR (Mean Time to Recovery)
- MTBF (Mean Time Between Failures)
- Error Budget
- Performance Budget
- User Experience Metrics
- Business Metrics
- Technical Debt Metrics
- Code Quality Metrics
🔄 Migração e Modernização
Legacy Modernization
- .NET Framework to .NET Core/.NET 5+
- Database Migration
- API Modernization
- Cloud Migration
- Containerization
- Monolith to Microservices
- Data Migration Strategies
- Application Modernization
- Technology Stack Migration
- Performance Optimization
- Security Hardening
- Compliance Updates
Technology Upgrades
📋 Comportamentais
Situational Questions
- Handling Production Issues
- Technical Debt Management
- Team Conflict Resolution
- Project Estimation
- Risk Assessment
Leadership Scenarios
- Mentoring Junior Developers
- Architecture Decisions
- Technology Selection
- Process Improvement
- Stakeholder Management
📚 Termos Técnicos e Conceitos Fundamentais
Termos de Performance e Otimização
Termos de Arquitetura
Termos de Concorrência
Termos de Banco de Dados
Termos de Rede e Web
Termos de DevOps e Infraestrutura
Termos de Padrões e Práticas
- Design Patterns
- SOLID Principles
- DRY (Don't Repeat Yourself)
- KISS (Keep It Simple, Stupid)
- YAGNI (You Aren't Gonna Need It)
- Clean Code