Viva prep · Real questions · Student experiences Enroll in Bootcamp

Search viva questions

level1viva1 MAD1 Level 1 Aug 1, 2026
  1. 1
    Show student ID card.
  2. 2
    Show GitHub repository.
  3. 3
    Download the code from the portal and run the application.
  4. 4
    Explain the admin dashboard statistics (e.g., total trekkers, staff, treks, bookings).
  5. 5
    Make the Staff stat card on the admin dashboard clickable.
  6. 6
    On clicking the stat card, navigate to another page.
  7. 7
    Write a Flask route that accepts a value in the backend and stores it in both the User and Staff models.
Proctor 800 MAD1 Level 1 Aug 1, 2026
  1. 1
    Show ID card.
  2. 2
    Show GitHub repository and collaborator access.
  3. 3
    Complete project demo (checked all core features thoroughly).
  4. 4
    Explain the code in app.py.
  5. 5
    Explain the models.py file.
  6. 6
    Show the frontend/backend validations or constraints used.
  7. 7
    What is ORM?
  8. 8
    Difference between GET and POST methods.
  9. 9
    What is a Flask secret key?
  10. 10
    What is template inheritance in Jinja?
  11. 11
    What is an Enum?
  12. 12
    Explain the statelessness of HTTP.
  13. 13
    Difference between render_template() and redirect().
  14. 14
    CSS priority: Inline vs Internal vs External CSS.
  15. 15
    CSS priority: Class selector vs ID selector.
  16. 16
    Which Bootstrap class/button is used to create a red button?
  17. 17
    Create a form that accepts user input.
  18. 18
    Write a Jinja for loop.
  19. 19
    Write a Flask route to accept trek details and display them on another page.
  20. 20
    Explain/write code showing how Jinja connects with HTML.
  21. 21
    Add a validation so the maximum slots allowed are 30.
  22. 22
    Write an SQL query to fetch all open treks.
appdev_level1_viva11 MAD1 Level 1 Aug 1, 2026
  1. 1
    Complete demo of the project.
  2. 2
    Show GitHub repository and verify collaborator.
  3. 3
    Show specific project features/functions.
  4. 4
    Login as admin and perform a search.
  5. 5
    Blacklist a user and try logging in with that user.
  6. 6
    What happens when trek slots become 0? Can users still register?
  7. 7
    Explain booking status logic (Open/Closed) and its backend implementation.
  8. 8
    What is ORM?
  9. 9
    Explain CRUD operations.
  10. 10
    If you are not using ORM, what would you use instead?
  11. 11
    Difference between PUT and PATCH.
  12. 12
    What are HTTP methods? Explain each method.
  13. 13
    What is Jinja?
  14. 14
    Explain MVC architecture.
  15. 15
    Change the application's port number.
  16. 16
    Create a table using a Jinja for loop.
  17. 17
    Write Jinja code to display trek details one by one using a for loop.
level1_viva11 MAD1 Level 1 Aug 1, 2026
  1. 1
    Show your College ID.
  2. 2
    Show your GitHub repository and collaborator.
  3. 3
    Download the project from the Viva Portal and run it.
  4. 4
    Demonstrate the complete application.
  5. 5
    Create new staff and users.
  6. 6
    Add a trek.
  7. 7
    Demonstrate search functionality.
  8. 8
    Explain the booking route.
  9. 9
    Show user booking functionality.
  10. 10
    Show whether the admin can view individual booking/history.
  11. 11
    Explain what happens when all slots are booked.
  12. 12
    Show missing or additional features (e.g., profile editing).
  13. 13
    Show the code for the booking route.
  14. 14
    Explain how a specific functionality works in the code.
  15. 15
    Explain MVC architecture and identify which files act as Model, View, and Controller.
  16. 16
    Change the application's port number.
  17. 17
    What is ORM?
  18. 18
    Explain CRUD operations.
  19. 19
    Explain SQLAlchemy operations such as: .add() .commit() .delete() query.get()
  20. 20
    Explain HTTP methods.
  21. 21
    Difference between Authentication and Authorization.
  22. 22
    What is Jinja?
  23. 23
    Explain basic Jinja syntax.
  24. 24
    Write Jinja code to display trek details (e.g., name and location).
  25. 25
    Display only filtered records using Jinja.
  26. 26
    Write a Flask route to display: Blacklisted students. Blacklisted staff. Booked treks.
  27. 27
    Modify a route to return only filtered data (e.g., blacklisted users).
  28. 28
    Change the color of the login button using CSS.
level1_viva21 MAD1 Level 1 Aug 1, 2026
  1. 1
    Show your College ID.
  2. 2
    Show your GitHub repository and collaborator.
  3. 3
    Download the project from the Viva Portal.
  4. 4
    Run the application.
  5. 5
    Demonstrate the complete application.
  6. 6
    Register and log in with different user roles (Admin, Staff, User/Trekker).
  7. 7
    Approve staff accounts from the Admin dashboard.
  8. 8
    Create and assign treks.
  9. 9
    Update trek slots/status.
  10. 10
    Edit user profile.
  11. 11
    Book a trek and demonstrate overbooking prevention.
  12. 12
    Show bookings in the Admin dashboard.
  13. 13
    Modify app.py.
  14. 14
    Explain a specific route (e.g., booking route).
  15. 15
    Explain the route logic.
  16. 16
    Show backend validation in your code.
  17. 17
    Which database have you used?
  18. 18
    Where is your database configured/located?
  19. 19
    What is ORM?
  20. 20
    Which ORM have you used?
  21. 21
    Write a query to: Display only shortlisted students. Display only pending/completed bookings. Display only blacklisted users. Display bookings matching a filter condition. Display users with NULL mobile numbers.
  22. 22
    Explain how cascading delete is implemented (e.g., deleting a company also deletes its drives).
  23. 23
    What is url_for()?
  24. 24
    Which parameter is passed to url_for()?
  25. 25
    What is render_template()?
  26. 26
    How is data passed from the backend to the frontend?
  27. 27
    Write a basic Flask route (e.g., Hello World).
  28. 28
    What is a session?
  29. 29
    What is the data type of a session?
  30. 30
    Explain server-side/backend validation.
  31. 31
    Explain HTTP methods.
  32. 32
    Difference between GET and POST.
  33. 33
    Change the color of a button, heading, or dashboard element.
  34. 34
    Modify a page to display only filtered records (e.g., shortlisted students, pending/completed bookings).
  35. 35
    Add a small frontend feature or UI improvement.
  36. 36
    Modify a route/query to apply filtering logic.
level1_viva31 MAD1 Level 1 Jul 31, 2026
  1. 1
    Show your College ID.
  2. 2
    Show your GitHub repository and collaborator.
  3. 3
    Perform checksum or download the project from the Viva Portal.
  4. 4
    Set up the camera (OPPE requirements).
  5. 5
    Demonstrate the complete application.
  6. 6
    Show all core functionalities.
  7. 7
    Register users with different roles (Admin, Company, Student/Patient).
  8. 8
    Demonstrate role-specific features (e.g., create drive, blacklist company/student, add doctor, book appointments, upload resume).
  9. 9
    Explain the user table.
  10. 10
    Show the application is working correctly.
  11. 11
    Show where Flask is initialized.
  12. 12
    Explain db.create_all() and what db represents.
  13. 13
    Show models.py.
  14. 14
    Explain how users/models are implemented.
  15. 15
    Show the database.
  16. 16
    Write a complete Flask Hello World application from scratch.
  17. 17
    Difference between render_template() and redirect().
  18. 18
    What are Flash messages?
  19. 19
    How are Flash messages displayed in HTML?
  20. 20
    What is a database?
  21. 21
    What is Database Normalization?
  22. 22
    Explain MVC architecture.
  23. 23
    Difference between GET, POST, PUT, and PATCH.
  24. 24
    Difference between HTTP and HTTPS.
  25. 25
    Difference between REST and RESTful API.
  26. 26
    Difference between Authentication and Authorization.
  27. 27
    Difference between Inline, Internal, and External CSS.
  28. 28
    CSS priority/order of precedence.
  29. 29
    Restrict the maximum number of doctors that an Admin can create.
  30. 30
    Prevent a patient from booking more than a specified number of appointments.
  31. 31
    Prevent a company from creating a new placement drive while another drive is still active.
  32. 32
    Add a frontend-only button (e.g., Delete/Block button).
  33. 33
    Write a database query based on a given condition (e.g., list students who applied to drives of blacklisted companies).
app_dev1 MAD1 Level 1 Jul 31, 2026
  1. 1
    Show your GitHub repository.
  2. 2
    Download the project from the Viva Portal and run the application.
  3. 3
    Give a complete walkthrough of the project.
  4. 4
    Create a doctor.
  5. 5
    Show doctor availability.
  6. 6
    Edit doctor details.
  7. 7
    Search doctors/departments from the Admin dashboard.
  8. 8
    Show the Patient dashboard.
  9. 9
    Book an appointment.
  10. 10
    Demonstrate booking appointments with different doctors at the same time.
  11. 11
    Show patient history.
  12. 12
    Edit patient details.
  13. 13
    Add an appointment summary from the Doctor's side and show it on the Patient's side.
  14. 14
    Modify the Admin dashboard to display the number of successfully completed appointments next to each doctor's name.
level1_102 MAD1 Level 1 Jul 31, 2026
  1. 1
    Demonstrate the functionalities of all user roles.
  2. 2
    Add and edit doctor records.
  3. 3
    Add and edit patient records.
  4. 4
    Explain or implement how the application prevents a patient from booking the same appointment twice.
  5. 5
    Explain MVC architecture.
Level1_20 MAD1 Level 1 Jul 31, 2026
  1. 1
    Demonstrate the complete application.
  2. 2
    Show all core functionalities.
  3. 3
    Explain the complete registration workflow.
  4. 4
    Demonstrate login, registration, appointments, and availability features.
  5. 5
    Show the data stored in the database.
  6. 6
    Locate the code for a specific feature (e.g., adding a doctor).
  7. 7
    Explain the code line by line.
  8. 8
    Show the forms.py file.
  9. 9
    What is ORM?
  10. 10
    Why do we use db.Model?
  11. 11
    Write a SQLAlchemy query to fetch users aged above 50.
  12. 12
    Write a SQLAlchemy query to fetch records where the name starts with a specific letter (e.g., "M").
  13. 13
    What is the significance of if __name__ == "__main__":?
  14. 14
    Write a Flask route that returns Hello World.
  15. 15
    Write a Flask route with a custom input parameter.
  16. 16
    Write a Jinja for loop.
  17. 17
    How many HTTP methods are there?
  18. 18
    Difference between POST and PUT.
  19. 19
    Can PUT be used instead of POST?
  20. 20
    What happens if POST is used to update existing records?
level1_viva16 MAD1 Level 1 Jul 31, 2026
  1. 1
    Show your student ID.
  2. 2
    Show your GitHub collaborator.
  3. 3
    Demonstrate the complete application.
  4. 4
    Walk through the code and explain all major features.
  5. 5
    Explain how the frontend works.
  6. 6
    Explain the frontend–backend integration and overall application flow.
  7. 7
    Explain how data is passed to Jinja2 templates and where it comes from.
  8. 8
    Explain CRUD operations and show how they are implemented in your backend.
  9. 9
    Explain why a student cannot apply more than once for the same drive (duplicate prevention).
  10. 10
    Modify the application so that if a company is blacklisted, none of its drives are visible on the student dashboard, even if a student was previously selected.
  11. 11
    What is a Flask API?
  12. 12
    What is ORM? Why use ORM instead of writing raw SQL?
  13. 13
    What is SQLAlchemy?
  14. 14
    What are Vue lifecycle hooks?
  15. 15
    What is the mounted() lifecycle hook?
  16. 16
    What is v-model (Vue data binding)?
  17. 17
    Explain Vue templates.
  18. 18
    Where do you store authentication tokens?
Created for educational purposes only. Questions are based on students' personal experiences and may not reflect actual exam content.