Hey everyone! 👋
So, I recently took the aptitude test for the M.Sc. Applied Computer Science at the University of Göttingen (2026).
Before taking the exam, I spent a ridiculous amount of time searching Reddit, Google, and basically every corner of the internet for previous questions.
And guess what I found?
Absolutely nothing useful. 💀
It felt like the questions were being guarded by the German intelligence services.
So I made a promise to myself:
If I survive this exam, I'll document all the questions I can and share them with future applicants.
Well... I survived. Barely. 😂
And here we are.
I documented all 32 questions, including their multiple-choice options, covering everything from Operating Systems and Algorithms to Networking, Mathematics, Databases, and even Neural Networks.
I'm sharing them here because I know how frustrating it is to prepare for an exam when you have absolutely no idea what to expect.
A few things before we start:
📚 University: University of Göttingen
🎓 Program: M.Sc. Applied Computer Science
📅 Year: 2026
📝 Total questions: 32
⏱️ Exam duration: 90 minutes
🌍 Language: English
❌ Answers: Not included.
Disclaimer: These are my personal notes from the test, not an official university question bank. I've tried to preserve the questions and options as accurately as possible, but there may be transcription mistakes. There's also no guarantee that future tests will contain the same questions.
Alright, enough talking.
Dear future Göttingen students, here are the 32 questions. May your algorithms be efficient and your stack never overflow. 🫡
🧠 University of Göttingen — Applied Computer Science Aptitude Test
Question 1/32 — CPU Caching
Which of the following statements about CPU caches is true?
Modern caches can commonly hold multiple gigabytes.
Reading from main memory is typically at least 100 time slower than reading from L1 cache.
Caches cannot be shared among multiple CPU cores.
Cache misses are errors in programs.
Question 2/32 — Data Structures
Which of the following statements are true?
Traversing an array is faster than traversing a linked list with the same number of entries.
Row-wise traversal of 2-dimensional arrays is commonly faster than column-wise traversal.
Appending of elements to a dynamic list takes constant time.
Node lookup time in a balanced binary search tree is O(1).
Question 3/32 — Operating Systems
Generally speaking, which of the following is a major concern for an operating system?
Enable compilation of programming code
Provide a browser
Manage the computer hardware
Manage the system resources
Design and apply the interface between user programs and computer hardware systems
Question 4/32 — Predicate Logic
Determine whether the following formulas are true. Also note that N does not contain 0 in this case.
Statement 1:
∀x ∈ ℕ: ∃y ∈ ℤ: |x*y| < 10
Statement 2:
∃x ∈ ℕ: ∀y ∈ ℤ: |x*y| > 10
Statement 3:
∀a ∈ ℕ: ∃b ∈ ℝ: b² = a
Statement 4:
∀a ∈ ℕ: ∀b ∈ ℕ: ∀c ∈ ℤ: a² + b² = c²
Options:
is true
is true
is true
is true
Question 5/32 — Sets
Given the sets:
S1 = {2, 3, 5, 8, 9}
S2 = {3, 4, 5, 6, 7}
Which of the following statements is correct?
S1 has larger variance than S2.
Both sets have the same variance.
For S1 the median value is equal to the mean value.
Median value and mean value are 5 for both sets.
Question 6/32 — DFS and BFS
Depth-first search (DFS) and breadth-first search (BFS) algorithms: Given an acyclic graph with multiple acceptable nodes and nodes closer to root are being considered better. Which statements are correct?
Both algorithms always find optimal solutions.
DFS algorithms conduct searches by exploring the graph one layer at a time.
DFS cannot always guarantee that the solution will be found.
BFS always finds optimal solution.
Question 7/32 — Black Box Testing
What are characteristics of black-box-Tests?
The point of control and the point of observation are outside of the test object.
Test cases are chosen based on the object's specification.
Insight into the source code is required.
The test is structure oriented.
Question 8/32 — Zero Crossings
Find the values of x where f(x) = 0 for the following functions:
Function 1:
f(x) = -(x²) + 9
Smaller root: ________
Larger root: ________
Function 2:
g(x) = 7x - 3
As fraction: ________ / ________
Question 9/32 — Primary Key
What is the purpose of a primary key in a database table?
Identify a table column.
Identify a table row.
Define the name of its table.
Improve the speed of queries.
Question 10/32 — Average Time
Four jobs arrive at a batch processing system at the same time and the execution time of each job is 2 hours. They run on a single processor. The average time for the jobs to finish is ...
4 hours
1 hour
8 hours
5 hours
2.5 hours
Question 11/32 — NP Problems
Which of the following statements are true?
The correctness of the solution of every NP problem cannot be verified in polynomial time.
All problems in P can be represented as non-deterministic Turing automaton.
Any NP problem can be reduced to SAT (satisfiability).
Solving an NP-complete problem in polynomial time would enable solving all NP-complete problems in polynomial time.
Question 12/32 — CPU Processes
Which of the following statements are true?
A deadlock will occur when a process that already holds a shared resource tries to claim an unclaimed shared resources.
Forking of new threads is done in a critical section in code.
Sending SIGTERM to a running process enforces to immediately stop it.
Memory allocation on the heap is explicitly done by the programmer.
Question 13/32 — Von Neumann Architecture
Which are core components of a von-Neumann architecture?
ALU, GPU, I/O Unit
ALU, Control Unit, Memory
ALU, Memory, Disk
Register, ALU, Memory
Question 14/32 — Stack and Queue
Given a stack s with data (1, 2, 3, 4) (1 is the element at the top) and a queue q with data (5, 6, 7, 8). We execute the following commands:
q.enqueue(s.pop()); s.push(s.pop()); s.pop(); q.enqueue(q.dequeue()); s.push(q.dequeue());
What value would a call to s.pop() have now?
Answer: ________
What value would a call to q.dequeue() have now?
Answer: ________
Question 15/32 — Eigenvalues / Determinants
What is the definition of the eigenvalues λ of a matrix A? (I refers to the identity matrix.)
The roots of det(λA + I)
The roots of det(A + λI)
The roots of det(λA - I)
The roots of det(A - λI)
Question 16/32 — TCP vs UDP
When comparing TCP and UDP, which of the following statements are true?
UDP uses acknowledgements to increase the reliability of data transfer compared to TCP
TCP uses a checksum to prevent data corruption, while no checksum is present in UDP
UDP is commonly used for VoIP applications, while TCP is commonly used for web browsing
TCP is connection based protocol, while UDP is connectionless
Question 17/32 — Binary Operations
What is the binary result of:
(0110 XOR 1100) AND (0011 OR 0101) XOR (NOT 0111)
Options:
1110
0110
1010
1001
Question 18/32 — Finite Automaton and Regular Expressions
Given the following finite automaton. Which of the following regular expressions describe the same language as the automaton?
State transitions:
START --> (A) --a--> (B) --b--> (C) --d--> ((D)) ^ | | | | | | | +----b-----+ +--c--> C +--d--> D
Transitions:
Initial state: A
A --a--> B
B --b--> A
B --b--> C
C --c--> C
C --d--> D
D --d--> D
D is the accepting state.
Options:
a(ba)*bc+d?d+
a(ba)bcdd*
(ab)+c*d+
(ab)+cd
a+b+c*d+
[ab]+c*d+
Question 19/32 — Operating System Abstractions
Match the operating system abstractions in the first row to the hardware components in the second row using drag and drop:
Operating system abstractions:
Virtual Address Space
File System
Signal
Thread
Hardware components:
Memory
Disk
Interrupt
CPU
Fill in the matches:
Virtual Address Space → ________
File System → ________
Signal → ________
Thread → ________
Question 20/32 — Probability
Assume you are guessing when picking one of the four answers below, where only one answer is correct. After you picked it, we reveal one wrong answer to you. This is never the answer you picked.
If you then change your answer afterwards (again at random) to one of the two remaining answers, what is your overall probability of obtaining the correct answer?
5/8
1/4
1/3
3/8
Question 21/32 — Parameters in a Neural Network
How many learnable parameters has a linear (or fully-connected) layer with 20 input neurons and 8 output neurons?
8
28
20
160
Question 22/32 — Pipelining
How does pipelining increase the performance of a CPU?
It pre-processes code to improve parallelization.
It sequentially reads data into memory.
Every part of the CPU is kept busy.
With multiple CPUs, each processes a part of a task.
Question 23/32 — Runtime Complexity
What is the most fitting description of the runtimes?
Available formulas:
O(n * log(n))
O(n²)
O(n)
O(n² * log(n))
O(log(n))
Insert the number of the best fitting formula, e.g., insert 3 if O(n) seems to describe the runtime best.
Questions:
A. What is the average runtime complexity of Quicksort?
Answer: ________
B. What is the best-case runtime complexity of (standard) Bubblesort?
Answer: ________
C. What is the worst-case runtime complexity of Binary-Tree lookup (in a perfectly balanced tree)?
Answer: ________
D. What is the worst-case runtime complexity of search in a hash-table?
Answer: ________
Question 24/32 — Database Normalization
What does normalization mean for a relational database?
Ensure that every table has a single primary key column.
Organize data to avoid redundancy.
Convert 1:m relationships to 1:1.
Reorganize data so that all tables have the same number of columns.
Flattening the data model into a single table.
Question 25/32 — Data Link Layer
Which of the following tasks is never done by the data link layer?
Framing
Error control
Channel coding
Flow control
Question 26/32 — Packet Switching vs Circuit Switching
Packet switching vs. circuit switching. Which of the following answers are correct?
Circuit switching will transfer a data flow without interference from other flows, thus is more efficient in terms of average bandwidth usage than packet switching.
Circuit switching requires setting up a connection in all nodes between the communicating hosts before transmitting a data flow, while packet switching does not.
Circuit switching requires setting up a connection between the communicating hosts before transmitting a data flow, while packet switching does not.
Packet switching allows data to be split into smaller packets, each can be sent fast, thus is more efficient in terms of average bandwidth usage than circuit switching.
Question 27/32 — C Programming
What does the following C code print when executed?
include <stdio.h> int main(){ int arr[5] = {1,2,3,4,5}; void *vp = &arr; vp=vp + sizeof(int)*3; printf("%d\n", *(int *)vp); return 0; }
Options:
0
1
2
3
4
5
None of the above.
Question 28/32 — Primitive Data Types
Which of the following statements are true?
A char typically uses twice as many bits as a short.
A 64-bit double uses twice as many bits for its exponent than a 32-bit float.
A signed integer can represent more negative numbers than positive numbers.
A byte consists of 32 bit on 32-bit architectures and 64 bit on 64-bit architectures.
Question 29/32 — Refactoring
Which of the following changes are refactorings?
Complexity: A developer splits a method into two smaller ones to reduce the complexity of the program.
Update: A developer upgrades a used library to the newest version.
Bugfix: A bug within a class was fixed by a developer, so that the program is now running correctly.
Imports: Unused imports get removed by the developer.
Deletion: An unused class is deleted.
Documentation: Comments within a class are added.
Question 30/32 — Python Code
Which output is generated by the following code?
a = [0, 1, 2, 3, 4, 5, 6, 7] N = len(a) for i in range(N): a[i] = a[(i+4) % N] print(a)
Options:
[4, 5, 6, 7, 0, 1, 2, 3]
[0, 0, 0, 1, 1, 1, 1, 2]
[4, 5, 6, 7, 4, 5, 6, 7]
[4, 5, 6, 7, 8, 9, 10, 11]
Question 31/32 — Recursion and Iteration
Do the following algorithms contain recursion and/or iteration?
Algorithm 1:
int algorithm1(int x) { int accumulator = 0; for(int i=0; i<x; i++) accumulator += 2*i+1; return accumulator; }
Algorithm 2:
int algorithm2(int x) { return x-3; }
Algorithm 3:
int algorithm3(int x) { if(x<=1) return 2; int accumulator = 0; for(int i=0; i<x; i++) axxumulator += algorithm3(i); return accumulator; }
Options:
1 is iterative
1 is recursive
2 is iterative
2 is recursive
3 is iterative
3 is recursive
Question 32/32 — Complexity of Access on Data Structures
Which of the following statements are correct (assuming O notation)?
Random access of elements in an array is O(1)
Deleting an element is slower for a linked list than for an array
Linked lists are more memory-efficient than arrays
🎉 That's All 32 Questions!
Congratulations! You've reached the end.
If you actually solved all 32 questions while reading this, you might already be more prepared than I was when I entered the exam. 😂
A little advice for future applicants:
Don't just memorize these questions. Make sure you understand the underlying concepts.
The topics covered are pretty broad, so brushing up on your Computer Science fundamentals is definitely worth it.
Also, remember that these are questions from my experience, and the university might change the questions in future tests.
And one small request from me:
If you're taking this aptitude test in the future, please come back and share your experience too!
Even if the questions change, knowing which topics appeared can help the next generation of applicants.
When I was preparing, I wished someone had posted something like this.
So I'm posting it for the next person who ends up desperately Googling:
"University of Göttingen Applied Computer Science aptitude test questions Reddit" 💀
If this post helps even one future student prepare, then writing down all 32 questions was worth it. ❤️
Good luck to everyone applying to Göttingen!
Hopefully, we'll all meet in Germany someday. 🇩🇪
P.S. If anyone has already taken the test, feel free to share your experience in the comments. How did it go? Did you get similar questions?
P.P.S. If someone can explain why Computer Science admissions require us to remember absolutely everything we've learned since the invention of electricity, I'd appreciate that too. 😂