Technical Questions Flashcards
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.