Networking
Data Structures
Algorithms
Operating Systems
Software Engineering
100

What are the 5 layers of the protocol stack from low level to high level?

Physical layer

data link layer

network layer

transport layer 

application layer

100

How is a binary search tree structured?

For a node, values to the left of it are less than its value, values to the right of it are greater than its value.

100

What is the difference between big O, Big Omega, and Big Theta?

Big O is upper bound (worst case), Big Omega is lower bound (best case), and Big Theta is average bound.

100

Is RAID 0 mirroring or striping?

Striping

100

In Unified Process, what is the shortest phase: Inception, Elaboration, Construction, Transition?

Inception

200

How many bytes is the UDP header?

8 bytes

200

How do hash tables determine where to hash a value?

Hash function

200

What single-source shortest path algorithm can handle negative weights?

Bellman-Ford

200

What is a page fault?

An attempt to access a page not loaded into memory

200

What is the relationship between Scrum and Agile?

Scrum is an Agile process

300

What is the difference between routing and forwarding?

Routing is a network-wide process, forwarding is router-local.

300

What is the difference between a min-heap and a max-heap?

A min heap has the minimum value as the highest priority item, a max heap has the maximum value as the highest priority.

300

What does NP stand for?

Non-deterministic polynomial

300

What is the difference between threads and processes?

Threads are multi-threaded processes, processes are single-threaded processes.

300

What is the difference between an SSD and an SD?

System sequence diagrams (SSDs) model the relationship between the user and the system. Sequence diagrams (SDs) model the relationship between objects in the system.

400

What does the acronym DORA stand for?

Discover, Offer, Request, Ack (for DHCP)

400

What are the two ways to represent a graph in memory?

Adjacency matrix, adjacency list

400

What is the approach called that satisfies a set of linear equations to maximize or minimize a linear function given a set of variables?

Linear programming

400

What does the Banker’s Algorithm aim to accomplish?

Deadlock avoidance

400

In a use case diagram, if use case A extends use case B, what is the relationship between the two use cases?

A conditional invocation

500

For congestion control, how is the congestion window adjusted?

Additive increase, multiplicative decrease

500

How would one traverse a tree in preorder with respect to a node X?

Visit X, then its children.

500

Describe the problem that the dynamic programming problem knapsack seeks to solve.

Given a set of items with different values, what is the most valuable combination of items that can fit into a certain capacity.

500

What are the 4 necessary conditions for deadlock

Mutual exclusion, hold and wait, no preemption, circular wait

500

Name as many of the 9 GRASP patterns as you can. You will receive 100 points per GRASP you can name.

Information expert

Creator

Low coupling

High cohesion

Controller

Polymorphism

Pure fabrication

Indirection

Law of Demeter

M
e
n
u