Tech Flashcards
What is Webpack?
Open-source JavaScript module bundler that takes modules with dependencies and generates static assets representing those modules?
What is Secure Shell?
The cryptographic network protocol for operating network services, such as remote command line login and remote command execution, securely over an unsecured network, connecting client to server?
(ssh user@serveraddress)
What is a shell?
User interface for access to an operating system’s services (GUI or CLI)?
What is the open source software that automates software provisioning, configuration management, and application deployment?
Ansible
What is operating system feature in which the kernel allows the existence of multiple isolated user-space instances?
Containerization (operating-system level virtualization)
What is a special relational database table column (or combination of columns) designated to uniquely identify all table records
Primary Key
What is the term describing a DB table representing a many-to-many relationship between two entities?
Join table (junction, linking, association table)
What are the YAML files that express configurations, deployment, and orchestration in Ansible, and allows Ansible to perform operations on managed nodes.
Ansible Playbooks
What are the description of the nodes that can be accessed by Ansible described by a configuration file, in INI or YAML format whose default location is in /etc/ansible/hosts?
Ansible Inventory
What is the quality of a distributed data store being able to continue operation despite an arbitrary number of messages being dropped or delayed by the network between nodes?
Partition tolerance (network partition)
What is Consistency?
The quality of a distributed data store where every read receives the most recent write or an error.
What is Availability?
The quality of a distributed data store where every request receives a (non-error) response – without the guarantee that it contains the most recent write.
What is a special relational database table column (or combination of columns) designated to uniquely identify all table records?
Primary key
What Javascript keyword always returns a promise and allows the usage of keyword “await” in it?
async
What Javascript keyword before a promise makes JS engine wait until that promise resolves and also behaves as a “throw error” clause?
await
What is is the maintenance of, and the assurance of the accuracy and consistency of, data over its entire life-cycle?
Data integrity
What is the process of structuring a relational database in order to reduce data redundancy and improve data integrity?
Database normalization
What occurs in database systems that have values repeated unnecessarily in one or more records or fields, within a table, or where the field is replicated/repeated in two or more tables?
Data redundancy
What is a Forward Proxy server and what is it used for?
What is a server that acts as an intermediary for requests from clients seeking resources from other servers, used to add structure and encapsulation to distributed networks. Provides anonymity to clients.
What is a Message queue?
Type of asynchronous service-to-service communication software component puts messages to be processed by one service consumer: so messages aren’t lost when a service fails, decouple heavyweight processing, to buffer or batch work, and to smooth spiky workloads?
What is First normal form (1NF)
Property of relational database is true if the domain of each attribute contains only atomic (indivisible) values, and the value of each attribute contains only a single value from that domain.
Example: Not having multiple telephone # per person in the same column or across multiple columns.
What is a dynamic-named value that can affect the way running processes will behave on a computer, that is specific to each process, that can be inherited from a parent process?
Environment variable
Second normal form (2NF)
Property of a relational database is true if it is in 1NF and every non-prime attribute of the relation is dependent on the whole of every candidate key?
Example: Part, Warehouse, Quantity, Warehouse_address. Address doesn’t belong, redundant and repeated.
What is an intermediary for its associated servers to be contacted by any client? It can hide servers behind it, do load balancing, caching, compressing.
Reverse proxy
What is a form of a database where it is in 2NF and all the attributes in a table are determined only by the candidate keys of that relation and not by any non-prime attributes. (None of the attributes are transitively dependent on each other)
Third normal form (3NF)
What is Redis?
An in-memory, nosql, key-value data structure used as a cache, database, and message broker.
It can sit between the server application and primary database to cache and speed records.
What is Sharding/Horizontal partitioning
Technique divides a database by putting different rows into different tables, potentially across each instance of a database schema, to improve index/search performance?
What are the three locations in order of Caching DNS records for a specific Time To Live(TTL)?
Browser, OS, and ISP recursive resolver.
What web development design pattern prevents duplicate form submissions as a result of page refreshing or bookmarking by returning a 302 Found response?
Post/Redirect/Get (PRG)
What is Network Address Translation (NAT)
The method of remapping one IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device? It is used in private networks to help conserving global IP address space.
What is Elasticsearch?
A distributed, Lucene-based, full-text search engine with an HTTP web interface and schema-free JSON documents?
What is the UNIX command to make a new directory?
mkdir name_of_directory
What is the UNIX command to used to update the access date or create a new file (without opening or saving it)?
touch
What is the UNIX command used to create a hard link or a symbolic link (symlink) to an existing file?
ln source_file target_file
What is the UNIX command used to remove objects such as computer files, directories and symbolic links from file systems?
rm (-recursive -verbose)
What is the UNIX command used to write the full pathname of the current working directory to the standard output? (print working directory)
pwd (-physical -logical)
What is Redundant Array of Independent Disks (RAID)?
What is the data storage virtualization technology that combines multiple physical disk drive components into one or more logical units for the purposes of data redundancy, performance improvement, or both.
What is the Unix command that moves one or more files or directories from one place to another?
mv file target_destination
What is an OS command that outputs the strings it is being passed as arguments? Commonly used to output status text to the screen in shell scripts.
echo (hello $USER)
What is a OS command which enables a replacement of a word by another string, mainly used for abbreviating a system command, or for adding default arguments to a regularly used command?
alias myAlias=”arbitrary string”
What logical gate returns a true output results if one, and only one, of the inputs to the gate is true? Also “one or the other but not both” or the inequality function.
XOR (exclusive OR)
What OS command is used to mark variables and functions to be passed to child processes from a parent process?
export PATH=$PATH:/append/
What is TCP (Transmission Control Protocol)?
Once a client has a IP address, what network protocol governs reliable, ordered, and error-checked delivery of a stream of data?
What is a command-line utility for searching plain-text data sets for lines that match a regular expression?
Global Regular Expression Print
grep
What is the first step in the main flow of a browser render engine?
Parsing
HTML and CSS files into a DOM and CSSOM tree.
In a browser render main flow, what is the step after parsing the HTML and CSS into DOM and CSSOM that creates the elements that are actually visible?
Render Tree construction
What step of the browser render main flow calculates position and size of elements in the render tree, using a dirty bit to determine what parent node hierarchy needs rendering?
Layout/Reflow
What step of the browser render main flow traverses the completed render tree and actually displays and renders each element to the screen from the back of a stacking context to the front?
Painting
What Unix directory contains system files such as startup scripts and user passwords?
/etc
What is a subset of a computer’s hardware resources, virtualized as a separate computer?
LPAR/VM
What is is computer software, firmware or hardware that creates and runs virtual machines by running on a host machine and creates guest VMs?
Hypervisor
What is Jenkins?
What is an open source automation server with continuous integration that supports version control tools and triggers builds by various means?
What is Docker?
Technology uses images as read-only templates to build instances called containers? To do so, it has a CLI client with [run, build] commands that communicates with a daemon (persistent process) on a host that listens for commands and manages images and containers.
What is a pure function?
A function whose
- Return values are the same with the same input.
- No side effects (does not mutate local static or non-local vars)
What is the function signature for Array.prototype.map?
arr.map(function callback(currentValue[, index[, array]])
What is Agile in general?
Software development approach defined by self-organizing/cross-functional teams, adaptive planning, evolutionary development, early delivery, and continual improvement:
What are the 5 stages of Waterfall software development?
Requirements, Design, Implementation, Testing, Maintenance.
What are the 3 roles in Scrum?
Product owner, development team, Scrum master.
What are the 5 stages of the Scrum workflow?
Sprint planning, Daily scrum, Sprint review, Sprint retrospective, Backlog refinement.
What is WebSocket?
A computer communications protocol, providing full-duplex communication channels over a single TCP connection that allows server to send real-time messages with onMessage, and uses HTTP Upgrade header to establish itself.
What is Vagrant and what are its components?
Tool for building virtual software dev environments, uses a Box/VM, Providers (Virtualbox, VMWare, AWS) where it runs, and a Provisioner (Ansible, Chef, Puppet) to configure the env.
What is a Vagrantfile?
A configuration file that describes an environment including boxes used, networking, CPU and memory, providers used, shell scripts to run for provisioning among others.
What is round-robin DNS? What are its drawbacks?
Load balancing technique where DNS authoritative nameserver rotates through a list of IPs. Drawbacks are client caching causing imbalanced load, and individual server unreliability.
What is the outline/framework for a System Design problem?
Use Case, Interfaces, Constraints/Capacity, High Level Design, Data Model, Scalability
What is data replication and two ways it can be done?
Storing data in more than one site to for redundancy, improve system availability. Can be done through transactional or snapshot.
What is TLS?
Transport Layer Security (formerly SSL) is a cryptographic protocol that uses asymmetric key server auth, then symmetric-key encryption negotiated at start of connection to encrypt subsequent data. HTTPS is HTTP inside TLS, over port 443.
What is caching and its trade off?
A hardware or software component that stores data so that future requests for that data can be served faster. Tradeoff between size and speed. Replacement policy can be FIFO, LRU
What are three places/levels where caching can be implemented?
Application code, included in database as a feature, or in-memory RAM caches (Redis, Memcached).
What happens when you type URL for a webpage and press enter?
DNS: Resolve address to IP using DNS (browser cache, OS cache, ISP).
TCP: Take URL/IP and port and opens TCP socket via OS, does SYN/SYN-ACK/ACK (TLS handshake happens next, public key encrypt for auth, then negotiate symmetric key for data)
HTTP(S): Client send HTTP request includes header with REST verb. Server responds with status code.
HTML: If it’s a webpage, browser parses HTML/CSS into DOM/CSSOM. Render Tree → Layout/Reflow → Painting the render tree
What is a session and common example?
A temporary information communication between two systems. May use a cookie for authentication, saved user preference, or shopping cart information. In Rails, all session data is stored in client-side cookie, no server data.
What are the 4 examples of Agile?
Individuals and Interactions over processes and tools
Working Software over comprehensive documentation
Customer Collaboration over contract negotiation
Responding to Change over following a plan
When does a React component rerender?
Only when shouldComponentUpdate returns true, which it does by default for React.Component. Children do not automatically rerender when parent render.
What is React PureComponent?
Same as React.Component, but implements shallow comparison (rather than auto-true) for shouldComponentUpdate. This means scalar value comparison, and reference comparison for objects.
What React container composition approach passes child elements into generic components?
Containment
What React container composition approach passes props from a more specific parent component into a more generic child component?
Specialization
What are two purposes for security certificate?
- Identify verification
2. Encryption
What are the steps of a TLS handshake?
- Client says hello (makes request).
- Server says here’s my CA-signed cert and my public key.
- Client uses browser-stored cert to verify and decrypt cert. Client generates and sends symmetric session key encrypted with server public key.
- Server decrypts with server-private and encrypts message with symmetric session key.
What Dockerfile directive sources a container from online DockerHub?
FROM
What Dockerfile directive runs an OS command in the container cmd line?
RUN
What Dockerfile directive opens a port in the container?
EXPOSE
What Dockerfile directive starts container?
CMD
What are two UNIX commands that allow viewing system processes?
top
ps aux
What UNIX command displays system IO info?
iostat
What is the 7th layer of the OSI model? Why? How is it done?
Application Layer
Why: Allow apps communicate.
How: HTTP, SMTP, FTP.
What is the 6th layer of the OSI model? Why? How is it done?
Presentation Layer
Why: Make data presentable to applications.
How: Translation (ASCII), encryption, compression (gzip).
What is the 5th layer in OSI model? Why? How is it done?
Session Layer
Why: Opening & closing communication between devices, rightsizing connection.
How: Synchronization, Half or full duplexing.
What is the 4th layer in OSI model? Why? How is it done?
Transport Layer
Why: Break message data into segments, flow control, error control.
How: TCP, UDP, and Ports.
What is the 3rd layer in OSI model? Why? How is it done?
Network Layer
Why: Break segments into packets, move between inter-networks to right place.
How: Routing and addressing (IP)
What is the 2nd layer in OSI model? Why? How is it done?
Data link layer
Why: Move packets between two nodes intra-network using framing, physical addressing.
How: Medium access control (MAC) and logical link control (LLC). ex: 802.3 Ethernet, 802.11 Wi-Fi
What is the 1st layer in OSI model? Why? How is it done?
Physical layer - transmitting bits.
What is a VLAN?
Broadcast domain partitioned at Layer 2 (Data link layer). Used to logically segment networks independent of physical structure (ex: company departments).
What is Address Resolution Protocol? How?
Layer 2 Protocol to retrieve a physical MAC address from using a IP address.
How: Computer first checks ARP cache, if not found send ARP broadcast on network requesting MAC for IP. Dest computer answers.
What is DHCP? Why?
Dynamic Host Configuration Protocol. Allows clients to retrieve and be dynamically assigned IP address.
Why: Automated, centralized, reuse/allocate IPs.
What is a router? How does it function?
Device for forwarding packets at Layer 3 between networks.
How: Reads network packet header and uses routing table to forward the packet.
WHAT is a network switch?
Device for connecting devices together in a network.
What is KVM?
Kernel-Based Virtual Machine - Module lets Linux function as a hypervisor.
HOW does a network switch function?
How: Layer 2 uses MAC addresses to send packet to right place.