Technical Interview 2 Flashcards
CloudFront explanation?
Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speed - by utilizing edge locations that are located physically near users/consumers all throughout the world.
**If you are using the IoT application, then how will you be distributing certificates to all the devices?
You would be adding it to the image of the IoT application adding it to the
Internet of Things, devices connected to the internet, likely distribute certificates through TLS
How do you scale an on-prem application globally?
Connect the on-prem applications to the AWS environment to take advantage of the available regions and AZs across the globe, use global accelerator to utilize AWS’s fast network to route traffic, along with using cloudfront and edge locations (for any static/dynamic content you can deliver near the users)
How can you reroute requests originating from different countries to nearby web servers without a CDN
Use Route 53 routing policies:
Geolocation routing policy - to route users in different countries to specific regions, or used latency based routing to ensure users are connecting to the
Geo-proximity routing - Use when you want to route traffic based on the location of your resources and, optionally, shift traffic from resources in one location to resources in another.
Latency routing - to ensure users are connecting to the servers that have the quickest response time
Difference between scripting language and compiled language.
Scripting languages are usually interpreted at runtime rather than compiled. They can be written, saved, and ran immediately (for instance powershell, python, javascript)
Compiled languages are written and compiled (instead of interpreted) into a executable to then be ran/executed (like C, C#)
***How do you scale your 2 web and 1 DB app to 1000s of users and accept ordering system.
If we must keep the same 2 web servers and 1 DB node -
Application Load Balancer going to your 2 Web servers
Added an SQS queue between the Web and DB node. Have the Web servers add the ordering information to SQS queue, then use Lambda functions to write information to the database. (decouple)
Encryption - transit and at rest
How will you troubleshoot issues on linux, like network, process..etc
Network:
If the application is suppose to be listening on a specific port, i’d check netstat -anp | grep . If the port was listening but being used by another service, then find the service and restart it
Check ifconfig for network settings
Check iptables -L (for firewall)
top -c
What is proxy
When a connection goes through an intermediary device before the end location.
For instance if we wanted to make sure we filter URL and Web content requests going outbound from our VPC we may send them through a forward proxy server (useful for monitoring and data loss prevention)
Or in the case of RDS Proxy, we connect to the proxy first before the database, and if the database goes down, the RDS proxy will redirect to the other database without losing our connections since they are connected to the proxy.
**What is IDS/IPS, which layer in osi does it work?
Intrusion Detection System (IDS) - passive system that scans incoming traffic, identifies traffic and sends to IPS.
Intrusion Prevention System (IPS) - can prevent or block intrusions, takes action via inspection, quarantine or drop the packets. can log and send reports
Part of Layer 3 (Network Layer)
How would you do a sql replication?
Taking data written to the master database then synchronously or asynchronously replicating it to a secondary database.
Setup a:
Standby Replica (Multi AZ)
Read Replica
How would you connect to your servers for administration and troubleshooting, linux and windows?
If possible I would want to use AWS Systems Manager - Session Manager to securely connect
Possibly use a bastion host then to:
Putty - SSH - 22
Remote Desktop - RDP - 3389
what are the differences between windows and linux
Linux is an open source operating system, windows are not
Linux is cost free, windows costs additional
Linux is more efficient in comparison to Windows
Windows is often associated with graphical user interface, and Linux is easily started as command line only (even though it does have several distributions that have a GUI)
What is error 500 on a web page.
The HyperText Transfer Protocol (HTTP) 500
- Internal Server Error server error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.
This error response is a generic “catch-all” response within the 500 error family. Bad gateway 502, service unavailable 503, gateway timeout 504
How do you perform an upgrade of a load balanced web application with minimal customer impact?
I would opt for a blue/green deployment if possible
If using Elastic Beanstalk - immutable, blue/green, rolling with additional batch
CodeDeploy - Blue/green
What is the function of a OLTP database?
Online Transaction Processing -
OLTP databases administer day-to-day transactions of an organization.
Production DB with simple live transactions - like Amazon RDS, Aurora, DynamoDB