Learning Material for PROG2005
This course allows examination aids, and is not a multiple choice based exam.
Please, fill in your answers in each of the boxes provided below. In the context of command line interface in Bash shell, in Linux, the command • to change directory is: cd • to delete a directory is: rm -dr • to move a directory to new location in a file system is: mv • to display the current path the user is in: pwd • to display the username of the current user is: how am i • to list the content of a directory is: ls • to show the entire content of a text file is (use the command that starts with "c"): cat • to execute a command as a superuser sudo
List and elaborate on the different general test types you are aware of. Showcase briefly, how these can be implemented in Go (pseudocode is enough), and discuss the corresponding relevant packages. unit testing ◦ unit testing is the test the developer writes while he makes the program to test what he has made • function test ◦ testing the functionality of the code when the program is finished to check if everything works
CRUD and REST Match the CRUD components with the corresponding REST methods. C in CRUD stands for to the REST method R in CRUD stands for the REST method U in CRUD stands for to the REST method D in CRUD stands for CREATE POST READ GET UPDATE PUT/PATCH DELETE (CREATE, CLUSTER, COMPOSE).and corresponds (DELETE, GET, PUT, POST, REMOVE, PATCH) (REDIRECT, READ, REVIEW)and corresponds to (POST, GET, READ, HEAD) (UPGRADE, UPDATE, UNKNOWN)and corresponds (HEAD, PUT/PATCH, POST, DELETE, REMOVE) (DENY, Alternative 4, DELETE, DELAY)and DELETE (POST, DELETE, PURGE, REMOVE) corresponds to the REST method
Write the Go struct that corresponds to the following JSON output: { "name": "myanmar", "mean_age": 29.0, "population": 54.41, "base": "MMK", "exchange": { "NOK": 0.0051, "EUR": 0.00051, "USD": 0.00054, "GBP": 0.00043 } } When specifying the Go struct, ensure efficiency of the encoded information on the wire as well as potential support for additional currencies.
type contry struct { name string json:"name" json:"mean_age" json:"population" json:"mmk" } maenAge int population float64 base string Exchange map[string]float64 json:exchange",
Organise all layers of the OSI Reference Model from highest (top - closest to user) to lowest (bottom - closest to hardware) by dragging relevant boxes containing the layer name into the corresponding in the grey area on the right side. Select one alternative: Network Access Layer Internet Layer Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer
In the SLA lecture we discussed how the assessment of system uptime and downtime relies on monitoring. Monitoring may not always be reliable (e.g., fail due to lost packets), so the question is how uptime and downtime are calculated in such cases. In the following you will find some scenarios that describe different monitoring results (e.g. unconfirmed "down" based on missing monitoring, followed by a successful response indicating that the system is up). Your task is to indicate whether the described time frame is considered up- or downtime by selecting the corresponding alternative.
Unconfirmed "up", followed by confirmed "up" is interpreted as ...(monitoring, failure, Down, Up).
Unconfirmed "down", followed by "down" is interpreted as (monitoring, failure, Down, Up)
Unconfirmed "up", followed by "down" is interpreted as (Down, monitoring, failure, up)
What do vertical and horizontal scalability mean? (find exam, requires extensive logic).
Simple bash commands (input boxes)
Testing in Go, list and elaborate on the different general types of testing you are aware of.
Scalability - what do we mean by ...
REST API Design practices
General code review principles