Software Engineering revision(questions with
answers)
Saved Groups
A function with an indefinite arity. In other words, a
function that doesn't have a defined number of
Variadic Function
parameters. It can take as many parameters as it
needs to and still perform the job it's supposed to.
It's a software or hardware tool that lets you run
virtual machines. The term comes from the UNIX
kernel term "supervisor". The semi-joke is like this, if
What is a Hypervisor? you're running multiple virtual machines each of them
has its own supervisor. Therefore, the software
running all the machines is the supervisor of the
supervisors, or the "hypervisor".
Your main thread will be tied to the multiprocessing
What happens if you
thread and then act as if that process is part of the
`.join` a multiprocessing
main thread. This will block further execution of the
process in Python?
main thread until that process is complete.
, It's used to tell fmt to print a structs field names and
values, rather than just its values which is what `%v` is
for. For example, if a struct is:
```
type SomeType struct {
a: int
b: string
}
someVar := SomeType{ 1, "hi"}
What is the `%+v` format
```
specifier used for in the
`fmt` package in Golang?
And it's printed with:
```
fmt.Printf("%+v", someVar)
```
You will get:
```
{a:1 b:"hi"}
```
,What is this pattern for in This pattern is used in Typescript to check if a
Typescript? potentially undefined value has a value or not. If it
doesn't the if condition is executed and the value
```ts being undefined is handled in some way.
export function
someFunction( That could be throwing an error, or simply assigning a
aParameter?: string, dummy value. This works because undefined is a
): void { `falsey` type, which gets turned into a `truthy` value
by the exclamation mark: `!`.
if (!aParameter) {
// ... something happens
}
...
}
```
, API stands for Application Programming Interface.
And fundamentally, it's an interface for one program
to control another using code.
The name comes from the following idea, if the user
of a program is itself a program, a "Graphical User
Interface" isn't going to be much use to it. It needs to
interact via code, and more fundamentally the
programmer who wants to interact with your api
needs to do this through programming.
Why is an API called an
API? So when someone writes an application, their
application needs a "programming interface". Which is
where the name comes from:
"Application" - being made by someone (another
programmer),
"Programming Interface" - Interface through which
some other programmers application can access and
control the application.
https://www.quora.com/Why-is-an-API-called-an-API
It's a pattern that takes expert input and uses it to
shape the software used to solve problems within that
domain. In practice, it means separating the models
that cover the data used in the project from the logic
that does work with those models.
What is a `Domain Driven
A common pattern is:
Design (DDD)` pattern?
Repository -> data interaction layer
Services -> logic layer
Controllers -> communication layer
https://en.wikipedia.org/wiki/Domain-driven_design