Software Architecture Flashcards

1
Q

What is Single Responsibilty Principle?

A

A Module should be responsible to one and only one, actor. or one reason to change.
It says to separate the code that different actors depend upon

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

Dependency Inversion is based on What?

A

Polymorphism(Runtime)

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

What is OO?

A

OO is the ability, through the
use of polymorphism, to gain absolute control over every source code
dependency in the system. It allows the architect to create a plugin architecture,
in which modules that contain high-level policies are independent of modules
that contain low-level details.

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

How to protect Component A from changes in Component B ?

A

Make Component B depend on Component A

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

What is OCP at Architecture level?

A

Higher Level Components must be protected from the changes in Lower Level components

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

What are Components ?

A

Components are units of deployment

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

What are Components in Java , .NET ?

A

JAR files are Components in JAVA . DLLs are components in .NET

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

When to use singleton DI?

A

Singletons are suitable for objects that need to be shared across the entire application

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

When to use Transient DI?

A

Objects that are short-lived and created on demand

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

When to use Scoped DI?

A

Objects that should maintain state for a session

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

What is Web Server?

A

Web servers deliver responses to simple requests . They primarily use http also support ftp and smtp. They deliver content like HTML pages , images , videos and files. Do not typically use multithreading

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

What is application server?

A

Delivere more complex content from databases , services and enterprise systems . They support many protocols and deliver dynamic content , like real-time updates, personalized information and customer support. Uses multithreading to process requests concurrently

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

What is web service server?

A

This server handles web service requests like API services etc . This service is accessed via HTTP typically an API to be used by programs

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

What is circuit breaker?

A

Circuit breaker is a state machine that starts in closed state and allows the flow if requests across it. When a problem is detected the circuit breaker moves to open state blocking all the requests for specific period. After this period , it moves to half open state where the first request is treated as test request . If request suceeds circuit closes and normal operation resumes , but if it fails the circuit moces back to open and remains there for a specific period before moving to half open again

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

What is circuit breaker in .net core?

A

It is a design pattern to improve the resilience and fault tolerance of applications that interact with external services or resources

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

What are transpilers?

A

Source to source compilers . They are a subset of compilers which take in a source code and convert it to another source code file in some other language or a different version of the same language generally understandable by a human

17
Q

Why do we use logging frameworks to to create logs?

A

To avoid performance overhead , log to different sources like console , files , sampling , to log serializable data that can be further used for analysis like JSON