Software Construction Flashcards

1
Q

What is Event driven architecture?

A

Software design pattern where the components are decoupled and asynchronous. It promotes scalability and responsiveness

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

What is an SDD?

A

Software design document is a detailed document that communicates the requirements and scope of a software system to guide development.

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

What does an SDD do in the SDLC?

A

Validates future work, facilities communication in a team and helps identify potential issues.

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

What are agile methods?

A

Development methods focused on flexibility, iterative delivery and increased project control

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

What does node.js use to be efficient and scalable?

A

Single threaded, event driven, non-blocking I/O model to handle concurrent connections

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

What is a module?

A

A JS file that contains functionality, classes or code to serve a certain purpose that can be reused

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

What is the difference between commonJS and ES modules?

A

ES modules are asychronous, and easier to import

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

What are the steps of debugging?

A

Identify the when (location), and the what (type of error)

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

What is asynchronous event handling? What are its features

A

Handles multiple events simultaneously without waiting for one to complete. It is scalable, non-blocking and concurrent.

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

What are event producers, and event consumers?

A

Producers generate events, consumers react - decoupling and modularity

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

What are the principles of working with modules?

A

Separation of concern
Single responsibility
Group directories and index.js files

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

What are code reviews?

A

Critically examining code to find quality and performance

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

What are the types of code reviews?

A

Informal
Walkthrough
Inspections

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

What are the types of request routes?

A

Static - do not change
Dynamic - data defined
Option Parameters - optional/default parameters

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

What is testing, and what are the two types?

A

Testing is the process of quantifying and validating the software.

Static testing verifies the code without executing, based on code, design etc (code reviews)

Dynamic testing validates the code by executing it to find issues in functionality (unit/integration testing)

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

What is positive testing?

A

Verifies that software operates as expected when providing valid inputs

17
Q

What is negative testing?

A

Testing how the software handles invalid inputs and gives error messages