Devicely Flashcards

(21 cards)

1
Q

Como você pensou na separação das camadas do seu projeto?

A

Separei por responsabilidade: API, Application, Database e Domain, visando desacoplamento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Você seguiu alguma arquitetura específica como Clean Architecture?

A

Baseei-me nos princípios da Clean Architecture, isolando lógica de negócio e usando DI.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Por que usou mapeamento manual ao invés de AutoMapper?

A

Para ter controle total, facilitar debugging e evitar dependência externa.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Como você trataria esse projeto se ele precisasse escalar para múltiplos domínios?

A

Modularizaria o domínio e adotaria microsserviços se necessário.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Você teve preocupação com performance usando EF Core?

A

Usei AsNoTracking, evitei Includes desnecessários e utilizei o Count antes da execução da query pra evitar carregamento desnecessário.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Por que trocou Guid por int como chave primária?

A

Int melhora indexação e performance em paginação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Pensou nos riscos de migrations automáticas?

A

Sim, em produção usaria pipelines com validação e rollback.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Como você adicionaria autenticação e autorização?

A

Usaria JWT com Identity ou Azure AD e decoraria rotas com Authorize.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Como você protegeria informações sensíveis?

A

Com variáveis de ambiente e serviços como Key Vault ou Secrets Manager da AWS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Que validações adicionaria para proteger a API pública?

A

Rate limiting, logs com alertas e CORS (se possível).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Por que focou os testes na camada de serviço?

A

É onde está a lógica de negócio.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Se novos devs entrassem amanhã, o que você deixaria preparado?

A

README, diagrama/desenho e treinamentos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Que decisões técnicas você tomou para facilitar futuras mudanças?

A

Usei DTOs, interfaces, separei responsabilidades, clean code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Você vê acoplamentos hoje que poderiam gerar problemas?

A

O DeviceService centraliza muita lógica; SRP pode melhorar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Se a API recebesse 10x mais requisições, onde poderiam haver gargalos?

A

No banco; mitigaria com cache pool.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Como garantir consistência transacional?

A

Com transactions.

17
Q

Com milhões de devices, a estrutura atual aguenta?

A

Sim com índices, mas pode exigir cache e paginação otimizada.

18
Q

Pensou em logs e observabilidade?

A

Sim, usaria Kibana ou Dynatrace.

19
Q

O que deixaria pronto para um time ágil trabalhar bem?

A

CI/CD, Sonar, testes automatizados e padrões de PR.

20
Q

Usou algum design pattern?

A

Sim: Repository (Database) e DI. E muitos princípios de Clean.

21
Q

Se você pudesse refatorar hoje, o que mudaria?

A

Separaria validações do service e adicionaria cache e versionamento.