Databases, Containers, Deployment Flashcards

1
Q

What is Docker?

A

A platform for developing, shipping, and running applications in containers.

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

What are Containers?

A

Containers package an application and it’s dependencies together, ensuring it runs consistently across environments.

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

What is AWS ECS?

A

Elastic Container Service is a fully managed container orchestration service by Amazon Web Services that allows you to run, stop, and manage Docker containers on a cluster.

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

What is PostgreSQL?

A

An open-source relational database management system that uses SQL (Structured Query Language) to access and manage data.

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

How would you design a schema?

A

Identify entities and relationships e.g. Users and Orders with a one-to-many relationship

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

How do you optimize queries?

A

Use indexing, analyze query performance, and optimize joins

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

How can you manage database migrations?

A

Tools like knex.js manage schema changes over time.

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

Describe a complex SQL query

A

Joining multiple table to fetch user order history

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

What are some advantages of Docker?

A

Consistency across environments, simplifies dependency management, streamlines CI/CD

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

How do you manage Docker images?

A

Use Dockerfile to defined image and docker-compose for multi-container applications

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

AWS ECS benefits

A

Manage containers, scale applications, integrate with other AWS services e.g. auto-scaling based on load

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

How can ECS overcome deployment challenges?

A

Issues like dependency conflicts are resolved using multi-stage builds and monitoring container health

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

What is the difference between an inner join and outer join in SQL?

A

Inner Join returns only the rows that have matching values in both tables
Outer Join returns all rows from one table and the matched rows from the other table

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

How can you optimize SQL queries?

A
  • Create indexes on frequently searched columns
  • Use EXPLAIN to analyze and optimize query performance
  • Ensure joins use indexed columns and are written efficiently
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

3 Cloud Computing Models

A
  • Infrastructure as a Service (IaaS) virtualized computing resources over the internet such as Amazon EC2 or Google Compute Engine
  • Platform as a Service (PaaS) allows customers to develop, run, and manage applications without the complexity of building and maintaining infrastructure such as AWS Elastic Beanstalk or Google App Engine
  • Software as a Service (SaaS) delivers applications over the internet such as Google Workspace or Salesforce
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Describe Scalability and Elasticity

A

Scalability is the ability to handle increasing loads by adding resources either vertically (more power to an existing machine) or horizontally (more machines to a system), while Elasticity is the ability to scale resources up or down based on demand automatically

17
Q

Cost Management

A

Pay-as-you-go Model when managed correctly through resource optimization

18
Q

Cloud Security and Compliance

A
  • Data Encryption at rest and in transit
  • Identity and Access Management (IAM) controlling who can access what resources
  • Compliance with regulations and standards e.d. HIPAA
19
Q

DevOps

A

Software DEVelopment and IT OPerations to shorten the dev lifecycle and deliver quality software continuously

20
Q

CI/CD

A

Continuous Integration/Continuous Deployment automates the process of integrating code changes and deploying them to prod with tools such as GitLab CI and AWS CodePipeline

21
Q

Microservices Architecture

A

Microservices break applications into small, independent services that can be developed, deployed, and scaled independently, while Containerization packages applications and their dependencies into containers (Docker) to ensure consistency across environments

22
Q

Serverless Computing

A

Allows developers to build and run apps without managing servers with tools such as AWE Lambda or Google Cloud Functions

23
Q

API Management and Integrations

A

Create and manage secure APIs for communication between different services, connect and integrate various services and data sources

24
Q

Cloud Data Management

A

Use managed databases and leverage cloud storage solutions

25
Q

Monitoring and Logging

A

Monitor the performance and health of applications (Datadog)
Collect and analyze log data to troubleshoot and optimize applications (Splunk)