Algorithms
Design Patterns Fundamentals
Version Control Drama
Microsoft
Concurrency Chaos
100

This search algorithm divides the data set in half with each comparison, resulting in a logarithmic time complexity, but it requires the data to be sorted.

What is Binary Search?

100

This pattern ensures a class has only one instance and provides a global point of access to that instance, often used in logging, database connections, or configurations.

What is the Singleton Pattern?

100

This is the most commonly used distributed version control system that allows multiple developers to collaborate on code by tracking changes.

What is Git?

100

Bill Gates famously said, "640K ought to be enough for anybody," in reference to this early personal computer's memory capacity.

What is the IBM PC?

100

In concurrent programming, this issue occurs when multiple threads or processes read and write shared data, potentially leading to inconsistent results.

What is a race condition?

200

This sorting algorithm has an average and worst-case time complexity of O(n log n) and uses a divide-and-conquer approach, often the default in many libraries.

What is QuickSort?

200

This design pattern provides a way to create objects while hiding the creation logic, allowing the system to be independent of how objects are instantiated.

What is the Factory Pattern?

200

This issue occurs when two developers modify the same lines of a file and try to merge their changes, resulting in Git being unable to resolve the conflict automatically.

What is a merge conflict?

200

Before the dominance of Windows, this was the name of the first operating system released by Microsoft in 1980, which became a foundation for MS-DOS.

What is Xenix?

200

This type of deadlock occurs when two or more processes hold non-sharable resources and wait for others to release resources, but no process ever releases the resource it holds.

What is a circular wait?

300

This algorithm is used to find the minimum spanning tree of a graph, starting from a random node and adding the smallest edge that connects the tree to a new vertex.

What is Prim’s Algorithm?

300

This pattern allows objects with incompatible interfaces to work together by providing a wrapper that translates one interface into another.

What is the Adapter Pattern?

300

This Git command moves a branch pointer to a new commit while also resetting the working directory and the staging area, useful for undoing changes in both.

What is git reset --hard?

300

Microsoft acquired this gaming company in 2014, known for developing the popular game Minecraft, for $2.5 billion.

What is Mojang?

300

This technique allows multiple threads to read from shared data simultaneously, but requires exclusive access for writing, ensuring consistency.

What is a read-write lock (or RWLock)?

400

This algorithm finds the shortest paths from a source node to all other nodes in a graph with positive edge weights, using a priority queue.

What is Dijkstra’s Algorithm?

400

This design pattern is used when you need to define a skeleton of an algorithm in a superclass but allow subclasses to override specific steps of the algorithm without changing its structure.

What is the Template Method Pattern?

400

In Git, this command is used to combine multiple commits into one, often used to clean up the commit history before merging.

What is git rebase?

400

This early Microsoft program, developed in 1983 for the Apple Macintosh, later became a staple on Windows and helped establish Microsoft as a leader in graphical software.

What is Microsoft Word?

400

This phenomenon, occurring in multi-threaded environments, describes a condition where higher-priority tasks continually prevent lower-priority tasks from executing.

What is priority inversion?

500

This problem requires finding the maximum value that can be obtained by placing items in a bag of fixed capacity, where each item has a weight and a value.

What is the Knapsack Problem?

500

This pattern is used to avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request, passing it along a chain until an object handles it.

What is the Chain of Responsibility Pattern?

500

This workflow pattern in Git involves long-running branches such as 'main' or 'develop,' and feature branches that are created, merged, and then deleted after features are completed.

What is Git Flow?

500

This was the internal codename for Windows 95, one of Microsoft's most significant OS releases, focused on a user-friendly interface.

What is Chicago?

500

This approach allows a thread to yield execution while waiting for a resource, instead of blocking, improving efficiency in non-blocking I/O operations.  

What is asynchronous programming?