# Whiteboarding
### Fundamental Starting points / ice-breaker questions
#### Q. Could you explain the high level difference between a Monolithic vs Microservices architecture?
:::info
A. You should create a basic diagram somewhat like below:

:::
#### Q. Explain briefly a 3-Tier Architecture
:::info
You can improvise upon the following:

Describe all tiers (Presentation/Logic/DB) briefly as part of your explanation/answer.
:::
#### Q. I have heard about different options such as VMs, containers, serverless etc. where do they fit in this diagram?
:::info
A. Talk about different compute options and how they fit in all 3 layers.
- Compute layer options and their AWS services
- VM
- EC2 instances
- Containers
- ECS
- EKS
- Serverless
- Lambda
- Fargate
:::
#### Q. Where do I store the data? What are my options?
:::info
A. Talk about different storage options and their use cases.
Storage on AWS:
- Object
- S3
- Block
- EBS
- Instance Store
- File
- EFS
- FSx
:::
#### Q. How do I control my traffic ingress and igress in AWS?
:::info
A. Answer should elaborate on the following diagram about Security Groups and Network ACLs:

**Followup Questions:**
1. Difference between SG and NACL?
2. Which one should I use?
3. Other services apart SG and NACL?
:::
### Decoupling and Scaling
#### Q. How and where and why do I add load balancer in this diagramm?
:::info
A. Your answer should elaborate on the following:
**LB Basic Architecture**

**LB with 3 Tier architecture**

**Follow-up questions**
1. Types of Load balancers
2. Use cases of different LBs
3. Difference between L4 and L7 Load balancers
4. What can be the target nodes? (VMs or Containers or Lambda functions)
:::
#### Q. How do I decouple my application tier from the web tier?
- Message brokers
- Amazon SQS
- Amazon MQ
#### Database Scaling and performance

#### Q. How do I make my RDS DB highly available?
:::info
A. Describe RDS multi-az feature as per the following:
**Initial Setup**

**After Failover**

:::
#### Q. How do I tackle read-heavy app scaling for my DB?
:::info
A. Talk about Read Replicas
:::
**Followup Questions**
1. Use case for Multi-AZ vs Read-replicas? When to use which?
2. Can I consider any of those as my backup? why or why not?
3. How can I improve performance in DynamoDB?
### Interview do’s and don’ts
:::success
1. Ask followup questions and talk about your assumptions. Think yourself like a consultant for a tech project.
2. make sure you time your question properly and know when to stop talking. Don't keep talking.
3. Pause if in doubt. Ask to repeat the question, if needed, or rephrase.
4. Make a video or role play with your friends
5. It's fine if you don't know an answer. Just acknowledge and move on to the next question, instead of trying to guess and failing miserably.
6.
:::