Technical Questions Flashcards

1
Q

What Is Load Balancing?

A

Load balancing is simple technique for distributing workloads across multiple machines or clusters.

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

What Is CAP Theorem?

A

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.

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

What is Consistency in the CAP theorem?

A

All nodes see the same data even at the same time with concurrent updates.

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

What is Availability in the CAP theorem?

A

A guarantee that every request receives a response about whether it was successful or failed.

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

What is Partition Tolerance in the GAP theorem?

A

The system continues to operate despite arbitrary message loss or failure of part of the system.

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

What is Microservice Architecture?

A

Microservice Architecture is an architectural style that structures an application as a collection of small autonomous services, modeled around a business domain.

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

Why use WebSocket over Http?

A

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.

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

What Is Scalability?

A

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.

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

What is scaling up in scalability?

A

Scaling Up involves adding more resources to the existing nodes, such as RAM, storage, or processing power.

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

What is scaling out in scalability?

A

Scaling Out involves adding more nodes to support more users.

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

What is Domain Driven Design?

A

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.

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

What is the difference between Interface and Implementation?

A

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.

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

What does the acronym SOLID stand for?

A

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.

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

What is single-responsibility principle in the SOLID acronym?

A

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

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

What is the open/closed principle in SOLID?

A

Developers should be able to add new features to a codebase while leaving existing code intact.

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

What is the Liskov substitution principle in SOLID?

A

Objects contained in a subclass must exhibit the same behavior as those in the superclass.

17
Q

What is the Interface segregation principle in SOLID?

A

Clients should not be forced to rely on interfaces they don’t use.

18
Q

What is the Dependency inversion principle in SOLID?

A

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.

19
Q

What is the first normalization form?

A

Each table cell should contain a single value. And each record needs to be unique.

20
Q

What is the second normalization form?

A

No non-prime attribute should be functionally dependent on prime attribute

21
Q

What is the third normalization form?

A

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.

22
Q

What are the types of SQL joins?

A

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.

23
Q

What is a primary key?

A

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.

24
Q

What is a foreign key?

A

A foreign key is a column (or a set of columns) that references a column (most often the primary key) of another table.

25
Q

What are the types of DNS records?

A

A, quad A, CNAME, ANAME, SOA, NS, MX, TXT, SRV, PTR, and SPF.

26
Q

How many types of DNS records are there?

A

11

27
Q

What is an A record in DNS?

A

This maps a qualified domain name (FQDN) to an IPv4 address and acts as a translator by converting domain names to IP addresses.

28
Q

What is a quad A record in DNS?

A

Similar to A Records but maps to an IPv6 address (smartphones prefer IPv6, if available).

29
Q

What is a CNAME DNS record?

A

A canonical name record is used to point a FQDN to another FQDN. This is useful if an IP changes frequently or you want to point multiple FQDNs to one location.

30
Q

What is an ANAME DNS record?

A

This record type allows you to point the root of your domain to a hostname or FQDN.

31
Q

What is an SOA DNS record?

A

The Start Of Authority record stores information about domains and is used to direct how a DNS zone propagates to secondary name servers.

32
Q

What is an NS DNS record?

A

A Name Server specifies which name servers are authoritative for a domain or subdomains (these records should not be pointed to a CNAME).

33
Q

What is an MX DNS record?

A

A Mail Exchange record maps where to deliver email for a domain (should point to a mail server name and not to an IP address).

34
Q

What is a TXT DNS record?

A

Allows administrators to add limited human and machine-readable notes and can be used for things such as email validation, site, and ownership verification, framework policies, etc., and doesn’t require specific formatting.

35
Q

What is an SRV DNS record?

A

Allows services such as instant messaging or VoIP to be directed to a separate host and port location.

36
Q

What is a PTR DNS record?

A

A pointer record is the reverse of A and AAAA records, which maps IP addresses to domain names. These records require domain authority and can’t exist in the same zone as other DNS record types (put in reverse zones).

37
Q

What is a SPF DNS record?

A

These help prevent email spoofing and limits spammers but have been deprecated in favor of TXT records.