Skip to main content
Dat 3rd Sem Fall 2025
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Oral Exam

How to prepare for the oral exam

Now that you have handed in your exam assignment, it’s time to get ready for the oral exam.
Here are some tips to help you prepare effectively for your oral exam in the backend course.


Before the exam

Prepare a short presentation (4–5 minutes)

You may use a few slides to structure your presentation. However, it is important that you demonstrate your skills directly in your codebase using IntelliJ. It gives confidence when we see a student navigate freely in their own code and tools.

Your presentation should cover the following points:

  1. Summarize your assignment with a brief description of the problem domain
    (“My task was to create a REST API for handling <your problem domain here>”).
    Explain how far you got. A simple slide with a table of user stories and checkmarks is a good approach.

  2. Show your database ERD and briefly explain the main entities and their relationships
    (One-to-Many, Many-to-Many, etc.).

  3. Run some of your endpoints using your .http files in IntelliJ.

  4. Run your automated tests, if you wrote any, and briefly explain what they verify.

  5. Walk through an implemented user story:
    Start with the route, then controller → service → DAO → entity. Keep it short and clear.

  6. Reflect on the process and explain what you have learned.

  7. Practice your presentation to make sure it fits within the time limit.


Code review (with yourself or a peer)

  1. Go through your codebase and ensure you understand all key components and what they do.
  2. If you have used AI tools to generate code, be prepared to explain the logic behind the generated code.
    Reflect on how you used AI in your development process, and how you ensured code quality and your own understanding.
  3. Identify areas of your code you find challenging. Make sure you can explain them clearly.
  4. Prepare to discuss your design choices. The user stories are open-ended, so you have made decisions along the way—be ready to justify them.
  5. Make sure you understand validation and error handling in your application.
    You don’t need a perfect solution, but you should be able to show an example where an exception or validation error results in a structured JSON response with an appropriate HTTP status code.

Other topics to review

Walk through this list of topics and make sure you have a reasonable understanding of them.
You don’t need to be an expert in everything, but you should be able to discuss them in the context of your own code and the projects from the semester.


Tasks you did not complete during the 5-hour written exam

  1. Review any user stories or tasks you did not complete. Be prepared to explain how you would approach them if given more time.
  2. You may make improvements to your code after submission for your own learning, but do not change the main/master branch.
    These changes will not be assessed directly, but they may help you understand your own code when discussing it at the exam.
  3. Reflect on what you would do differently if you were to start the assignment again. This shows your ability to learn and adapt.

During the exam

  1. The time schedule for the oral exam will usually be posted on WiseFlow a few days after the written exam.
    Be there in due time — at least 30 minutes before your scheduled time.
  2. The exam will last around 30 minutes, including your presentation, dialogue with the examiner, and assessment.
  3. Have your code ready to share in IntelliJ. Be prepared to:
    • navigate your codebase
    • run your .http files
    • run your tests (if any)
  4. Be concise and focused in your responses. Avoid going off on tangents. For some it might be tempting to speak about everything you know, but remember that time is limited. So stick to the point - and keep it relevant to your code and the questions asked.
  5. If you do not know the answer to a question, it is okay to say so.
    You can also explain how you would go about finding the answer.
    Always ask for clarification if a question is unclear.