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

18
Q

What does cerificate mean?

A

If a website has a valid certificate, it means a certificate authority had taken steps to verify that the address actually belongs to that organization

19
Q

What does browser do with certificates?

A

When you type url or click on link to a secure website, browser will check the certificate for
1. Website address matches the address on certificate
2.certificate is signed by a certificate authority that the browser recognizes as a ‘trusted’ authority

20
Q

What are public and private certificates?

A

Public certificates are needed for digital projects that can be viewed publicly - by anyone surfing internet or other user community. Whereas, private trust provides a secure srrvice for internal IT environments that gives more time to evolve the systems to more stringent requirements needed for public trust

21
Q

What is Microsoft Entra ID?

A

Creating apps maintaining own username and password incurs a high administrative burden when adding or removing users. Instead , your apps can delegate that responsibility to a centralized identity provider. Microsoft Entra ID is a centralized identity provider in the cloud.

22
Q

What are advantages of Microsoft Entra ID?

A
  1. Conditional access policies - user needs to be in specific location
  2. MFA
    3.Enabling user to sign in once and then automatically signed in to all the webapps that share the same centralized directory- Single Sign-On(SSO)
23
Q

What is purge?

A

Systematically removing unnecessary files and applications to optimize performance

24
Q

What is the issue with standard HTTP request/response pattern?

A

If the application runs on mutiple computers or even open in multiple windows on the same computer, then the updates made through this process would not be visible in real time- until the page is refreshed

25
Q

What is long polling?

A

First attempt to create a lower- latency communication standard is known as long-polling. It consisted of jeeping the connection made after an initial HTTP request open, in order to allow the server to respond at a later time.

26
Q

What is the issue with long polling?

A

For larger applications, with more users and requests and a larger database long-polling could become a very resource intensive solution and was not well suited for applications that require low latency. It also still required a connection setup and frequent request-response exchanges

27
Q

What is web socket protocol?

A

Initially, an HTTP handshake is made between participating client and server and then it is moved to web socket protocal where both client and server continue to communicate in a full duplex, persistent connection, connection is maintained for as long as application is running

28
Q

What are progressive webapps?

A

A progressive web app(PWA) is an app that’s built using web platform technologies, but that provides a user experience like that of a platform-specific app

29
Q

Can progressive website run on multiple platforms and devices?

A

Like a website, a PWA can run on mutiple platforms and devices from a single codebase. Like a platform-specific app, it can be installed on the device, can operate while offline and in the background, and can integrate with the device and other installed apps

30
Q

What does threadsafe mean?

A

A code or datastructure is threadsafe when the outcome of the code and underlying resources do not create undesirable results because of multiple threads interacting with code concurrently