Technical Questions Flashcards
(37 cards)
What Is Load Balancing?
Load balancing is simple technique for distributing workloads across multiple machines or clusters.
What Is CAP Theorem?
The CAP Theorem for distributed computing states that it is not possible for a distributed computer system to simultaneously provide all three of the following guarantees: Consistency, Availability, Partition tolerance.
What is Consistency in the CAP theorem?
All nodes see the same data even at the same time with concurrent updates.
What is Availability in the CAP theorem?
A guarantee that every request receives a response about whether it was successful or failed.
What is Partition Tolerance in the GAP theorem?
The system continues to operate despite arbitrary message loss or failure of part of the system.
What is Microservice Architecture?
Microservice Architecture is an architectural style that structures an application as a collection of small autonomous services, modeled around a business domain.
Why use WebSocket over Http?
A WebSocket is a continuous connection between client and server. That continuous connection allows for server-push where data can be sent from server to client at any time. Data can also be sent either way very efficiently.
What Is Scalability?
Scalability is the ability of a system, network, or process to handle a growing amount of load by adding more resources. You can scale up or out.
What is scaling up in scalability?
Scaling Up involves adding more resources to the existing nodes, such as RAM, storage, or processing power.
What is scaling out in scalability?
Scaling Out involves adding more nodes to support more users.
What is Domain Driven Design?
Domain Driven Design is a methodology and process prescription for the development of complex systems whose focus is mapping activities, tasks, events, and data within a problem domain into the technology artifacts of a solution domain.
What is the difference between Interface and Implementation?
The interface defines an object’s visibility to the outside world. In object oriented programming, classes are the interface and how the object is processed and executed is the implementation.
What does the acronym SOLID stand for?
SOLID stands for single-responsibility, open-closed, Liskov substitution, interface segregation and dependency inversion principles. These are the first five rules of OO design by Martin.
What is single-responsibility principle in the SOLID acronym?
Each object class (that is, the specific methods, variables, and parameters defined within the object) added to a codebase should be responsible for only one specific job or function
What is the open/closed principle in SOLID?
Developers should be able to add new features to a codebase while leaving existing code intact.
What is the Liskov substitution principle in SOLID?
Objects contained in a subclass must exhibit the same behavior as those in the superclass.
What is the Interface segregation principle in SOLID?
Clients should not be forced to rely on interfaces they don’t use.
What is the Dependency inversion principle in SOLID?
If any module in a software design is dependent on a higher-level component, that superior component should not be affected by any changes to its dependent.
What is the first normalization form?
Each table cell should contain a single value. And each record needs to be unique.
What is the second normalization form?
No non-prime attribute should be functionally dependent on prime attribute
What is the third normalization form?
Has no transitive functional dependencies. Essentially, any records with matches should be moved to a separate table and be referred to with a foreign key.
What are the types of SQL joins?
The basic types of SQL joins are: inner, left, and right.
INNER JOIN lets us select all records from two tables as long as there is a match between the columns.
LEFT JOIN returns all records from the left table, plus the matched values from the right table. If there are no matches, the left join returns all rows from the left table and a NULL value from the right.
RIGHT JOIN is identical to LEFT JOINS, but with the opposite direction of the operation.
What is a primary key?
A primary key is a column (or a set of columns) whose value exists and is unique for every record in a table. A table can have one and only one primary key.
What is a foreign key?
A foreign key is a column (or a set of columns) that references a column (most often the primary key) of another table.