Viva prep · Real questions · Student experiences Enroll in Bootcamp

Search viva questions

level1_106 MAD2 Level 1 Aug 3, 2026
  1. 1
    Show Student ID.
  2. 2
    Show GitHub repository and collaborator.
  3. 3
    Demonstrate the complete application.
  4. 4
    Where have you used APIs in your project?
  5. 5
    Where is Vue implemented?
  6. 6
    Where is JWT token authentication implemented?
  7. 7
    Where is Role-Based Access Control (RBAC) implemented?
  8. 8
    Explain the frontend technology used in your project.
  9. 9
    What is Redis?
  10. 10
    Where have you implemented caching?
  11. 11
    What is caching?
  12. 12
    What are the major frameworks used in your project?
  13. 13
    Which database are you using?
  14. 14
    Which ORM are you using?
  15. 15
    Change the navbar order so that Profile appears before Dashboard.
  16. 16
    Write a REST API that fetches all company details (in Notepad or VS Code).
appdev_level1_viva33 MAD2 Level 1 Aug 3, 2026
  1. 1
    Show Student ID card.
  2. 2
    Show GitHub repository and collaborator.
  3. 3
    Demonstrate the complete application.
  4. 4
    Demonstrate email functionality.
  5. 5
    Trigger scheduled Celery jobs live (daily reminder/monthly report).
  6. 6
    Explain all API routes (examiner may pick any 3–4).
  7. 7
    Show where caching is implemented.
  8. 8
    Explain how cache hits work.
  9. 9
    Explain authentication flow in both frontend and backend line by line.
  10. 10
    Explain route protection in Vue Router.
  11. 11
    Vue CLI vs Vue CDN — which one did you use and why?
  12. 12
    What is Redis?
  13. 13
    Why is Redis faster than a traditional database?
  14. 14
    Token-based vs Session-based authentication.
  15. 15
    How does authentication work in your application?
  16. 16
    What is caching?
  17. 17
    How does cache hit work?
  18. 18
    Write a Flask route that accepts a role as a URL parameter, queries the database, and returns all users belonging to that role.
  19. 19
    Write a JavaScript function that accepts firstname and lastname and returns the combined full name.
level1_128 MAD2 Level 1 Aug 3, 2026
  1. 1
    Show Student ID.
  2. 2
    Show GitHub collaborator.
  3. 3
    Download the project from the portal.
  4. 4
    Run the application and explain the setup (multiple terminals/command prompts).
  5. 5
    Demonstrate authentication flow.
  6. 6
    Create and approve a company/staff.
  7. 7
    Create two staff members and approve them.
  8. 8
    Blacklist one staff member and verify that login is blocked.
  9. 9
    Show where the blacklist logic is implemented.
  10. 10
    Show the admin CSV export feature.
  11. 11
    Demonstrate Celery export functionality.
  12. 12
    Demonstrate scheduled email functionality by changing the Celery schedule to the current time.
  13. 13
    Book an appointment/reservation and verify edge cases (same slot, approvals, etc.).
  14. 14
    Check whether totals/counts include only approved records or all records, and modify the logic if required.
  15. 15
    Show where authentication is implemented in the backend.
  16. 16
    Show where tokens are generated.
  17. 17
    Show where tokens are sent from the frontend.
  18. 18
    Show where caching is implemented.
  19. 19
    Add a print() statement after cache.set() and explain why it executes only on the first request (cache miss) and not on subsequent requests (cache hit).
  20. 20
    Explain a random line from models.py.
  21. 21
    Show where the blacklist/approval logic is implemented.
  22. 22
    Session-based vs Token-based authentication.
  23. 23
    JWT
  24. 24
    Flow of token-based authentication.
  25. 25
    Authentication vs Authorization.
  26. 26
    What is caching?
  27. 27
    How does cache hit work?
  28. 28
    Does the database get queried on a cache hit?
  29. 29
    What is Redis?
  30. 30
    What is Celery?
  31. 31
    How have you implemented Celery?
  32. 32
    Vue Lifecycle Hooks.
  33. 33
    What is a Promise?
  34. 34
    What is an Async function?
  35. 35
    Vue CLI vs Vue CDN.
  36. 36
    What is Lazy Loading?
  37. 37
    What is a Single Page Application (SPA)?
  38. 38
    Difference between filter() and filter_by() in SQLAlchemy.
  39. 39
    Difference between POST and PUT.
  40. 40
    What is a server?
  41. 41
    What is a JavaScript function?
  42. 42
    Change the Celery monthly schedule to the current time.
  43. 43
    Change the color of the form/body/sidebar.
  44. 44
    Write a simple Flask route.
  45. 45
    Write a route to fetch all approved applications.
  46. 46
    Write a route that returns all occupied parking spots and their users.
  47. 47
    Write a route that accepts a username and returns the user's role.
  48. 48
    Write a route that returns all users with the role admin.
  49. 49
    Write a simple JavaScript function in Notepad.
  50. 50
    Change approval-count logic to exclude/include pending entities as required.
level2_131 MAD2 Level 1 Aug 3, 2026
  1. 1
    Show Student ID and GitHub collaborator.
  2. 2
    Demonstrate the complete application.
  3. 3
    Create 3 parking lots.
  4. 4
    Edit one of the lots.
  5. 5
    Make 2 reservations for the same lot from the user dashboard.
  6. 6
    Show how the summary/dashboard updates after multiple reservations.
  7. 7
    Register a student/user.
  8. 8
    Log in as both student/user and admin.
  9. 9
    Add a drive (or equivalent admin feature).
  10. 10
    Apply for the drive.
  11. 11
    Explain the code when a frontend error occurs.
  12. 12
    Show where Celery is implemented.
  13. 13
    Change Celery scheduled tasks to run every 1 minute for testing.
  14. 14
    Show where caching is implemented and explain why each route is cached.
  15. 15
    Explain the Vue Lifecycle.
  16. 16
    What is a Vue component?
  17. 17
    What is the basic structure of a Vue component?
  18. 18
    What goes inside the <template> section?
  19. 19
    What goes inside the <script> section? (e.g., data, methods, computed, lifecycle hooks, etc.)
  20. 20
    What goes inside the <style> section?
  21. 21
    What is a Watcher?
  22. 22
    What is caching?
  23. 23
    What problem are we avoiding by using caching?
  24. 24
    Where all have you implemented caching in your project?
  25. 25
    Explain Role-Based Access Control (RBAC).
  26. 26
    How much AI (%) did you use in your project?
  27. 27
    Why does your code contain so many comments?
LEVEL1_viva14 MAD2 Level 1 Aug 3, 2026
  1. 1
    Show Student ID card.
  2. 2
    Show GitHub repository and collaborator.
  3. 3
    Verify checksum or download the project directly from the portal.
  4. 4
    Run the application.
  5. 5
    Demonstrate all CRUD operations.
  6. 6
    Show all core features of the application.
  7. 7
    Show backend jobs (Celery tasks, daily reminders, monthly reports).
  8. 8
    Show export CSV functionality.
  9. 9
    Demonstrate search functionality.
  10. 10
    Show edge cases: A patient/user cannot book the same slot twice. Two users cannot book the same resource at the same time. Blacklisted users cannot access the application.
  11. 11
    Show any additional features (e.g., user blocking).
  12. 12
    Show API routes.
  13. 13
    Explain 2–3 API endpoints.
  14. 14
    Test an API using Postman or Thunder Client.
  15. 15
    Show where authentication is implemented.
  16. 16
    Show where RBAC (Role-Based Access Control) is implemented.
  17. 17
    Show where authentication tokens are generated.
  18. 18
    Show where authentication tokens are stored.
  19. 19
    Show how the admin account is created.
  20. 20
    Explain the pricing/business logic implementation.
  21. 21
    Explain doctor availability / booking validation logic.
  22. 22
    Explain database relationships.
  23. 23
    Explain cascade delete (all, delete-orphan).
  24. 24
    Show where caching is implemented.
  25. 25
    Show cache expiry configuration.
  26. 26
    Authentication vs Authorization.
  27. 27
    Token-based vs Session-based authentication.
  28. 28
    JWT vs Flask-Login.
  29. 29
    Where are tokens stored?
  30. 30
    What is RBAC?
  31. 31
    What is caching?
  32. 32
    Why do we use caching?
  33. 33
    What is Redis?
  34. 34
    What happens if Redis is stopped? Will Celery still work?
  35. 35
    Vue Lifecycle Hooks.
  36. 36
    mounted() / onMounted().
  37. 37
    Difference between Vue CLI and Vue CDN.
  38. 38
    Which one did you use and why?
  39. 39
    Can CDN be used for scalable applications?
  40. 40
    What is styling used in your project? (Bootstrap/CSS)
  41. 41
    CRUD methods.
  42. 42
    HTTP methods (GET, POST, PUT, PATCH, DELETE) in one line.
  43. 43
    RESTful APIs.
  44. 44
    HTTPS headers.
  45. 45
    Horizontal vs Vertical Scaling.
  46. 46
    AI usage percentage and whether it was mentioned in the report.
  47. 47
    Display a welcome message after user login.
  48. 48
    Implement a loading state in the frontend.
  49. 49
    Write a Vue v-for loop in Notepad.
  50. 50
    Modify logic so a rejected student/user gets one additional chance.
  51. 51
    Change pricing calculation (project-specific business logic).
  52. 52
    Explain how to add another validation or edge case (thought process).
  53. 53
    Use YAML/OpenAPI documentation for professional API documentation.
  54. 54
    Prepare for Level 2 with deeper code understanding.
Level2_150 MAD1 Level 1 Aug 3, 2026
  1. 1
    Demonstrate the complete placement workflow: Create a Company profile and get it approved by the Admin. Log in as the Company and create a Placement Drive. Approve the Placement Drive from the Admin dashboard. Register a Student and apply for the approved Placement Drive.
  2. 2
    Demonstrate CSV Export functionality.
  3. 3
    Demonstrate Scheduled Jobs (Celery) by configuring a task with an appropriate schedule.
  4. 4
    Write the Register/Sign-up API route/class in Notepad.
  5. 5
    Which did you use: Vue CDN or Vue CLI?
  6. 6
    Explain async and await.
  7. 7
    What is ORM?
Level2_140 MAD1 Level 1 Aug 3, 2026
  1. 1
    ID card verification GitHub collaborator verification Project demo
  2. 2
    Asked to implement certain tasks
  3. 3
    Difference between authentication and authorization
  4. 4
    Difference between inline, internal, and external CSS
  5. 5
    How to change the Flask application's port in the code
  6. 6
    Write/use a for loop in a Jinja template
level2_135 MAD1 Level 1 Aug 3, 2026
  1. 1
    Show the GitHub repository and collaborator.
  2. 2
    Download the project from the portal, verify the checksum, and run it.
  3. 3
    Demonstrate the application and explain its features.Test edge cases.
  4. 4
    Perform core workflows such as: Login as Admin. Add/Edit Treks. Create and approve Staff. Assign Treks to Staff. Login as Trekker and book a Trek. Change Trek status as Staff.
  5. 5
    Explain models.py.
  6. 6
    Explain the frameworks used in your project.
  7. 7
    What are Flask Blueprints?
  8. 8
    Have you implemented Blueprints in your project?
  9. 9
    What is ORM? Which ORM have you used?
  10. 10
    Explain Delete Cascade.
  11. 11
    What is RBAC (Role-Based Access Control)?
  12. 12
    How have you implemented RBAC in your project?
  13. 13
    Explain HTTP Methods. Difference between POST and PUT.
  14. 14
    Give an example of POST from your project.
  15. 15
    Is POST idempotent? Is PUT idempotent? Explain.
  16. 16
    Add a new column to display the Assigned Staff in the Trekker's All Bookings page.
level2_133 MAD1 Level 1 Aug 3, 2026
  1. 1
    Download the project from the portal and run it.
  2. 2
    Show the GitHub repository and collaborators.
  3. 3
    Write a route that accepts an ID as input and returns/displays it on the frontend.
  4. 4
    Which HTML tag is used to create a form?
  5. 5
    What is the Internal Server Error (HTTP 500) status code?
level2_131 MAD1 Level 1 Aug 3, 2026
  1. 1
    Show ID card. Verify GitHub collaborator/checksum.
  2. 2
    Download the project from the Viva portal and run it.
  3. 3
    Demonstrate all mandatory functionalities: Register Company. Approve Company. Create Placement Drive. Approve Placement Drive. Register Student. Apply for a Drive. Blacklist Company and verify whether it can log in again.
  4. 4
    Explain the overall project/codebase.
  5. 5
    Explain your models.py.
  6. 6
    Explain a specific line/portion of code and its logic.
  7. 7
    Explain the significance of a particular line of code.
  8. 8
    Explain how data is sent from the backend to the frontend.
  9. 9
    Write a controller/route to fetch all companies and send them to an HTML template.
  10. 10
    Explain Blueprints and why they are used.
  11. 11
    Explain Flask-WTF and why it is used.
  12. 12
    What is Jinja2? Where have you used Jinja2 in your project?
  13. 13
    Why is Jinja2 needed? What would be harder without it?
  14. 14
    Write the Jinja loop to iterate through the fetched company records.
  15. 15
    Explain the MVC architecture and how it is applied in your project.
  16. 16
    Which ORM have you used?
  17. 17
    Explain HTTP Methods. Difference between PUT and PATCH.
  18. 18
    What is CORS?
  19. 19
    Did you build the project yourself or use AI? If AI was used, explain where and how you used it.
Created for educational purposes only. Questions are based on students' personal experiences and may not reflect actual exam content.