Viva prep · Real questions · Student experiences Enroll in Bootcamp

Search viva questions

level2_127 MAD2 Level 1 Aug 2, 2026
  1. 1
    Show your ID card.
  2. 2
    Show your GitHub repository and collaborator.
  3. 3
    Confirm that you submitted the required form.
  4. 4
    Demonstrate your complete application.
  5. 5
    Explain your project and its implementation.
  6. 6
    Explain your models.py.
  7. 7
    Explain your project code.
  8. 8
    Show your login/authentication code.
  9. 9
    Show MailHog integration.
  10. 10
    Demonstrate Celery background jobs (daily reminder/monthly report).
  11. 11
    Explain where Celery and Redis are implemented.
  12. 12
    Difference between Authentication and Authorization.
  13. 13
    What token-based authentication mechanism have you used?
  14. 14
    How is the authentication token generated?
  15. 15
    Explain UserMixin and RoleMixin.
  16. 16
    What is caching?
  17. 17
    Where have you implemented caching?
  18. 18
    Show the cached API/code.
  19. 19
    What is lazy in SQLAlchemy relationships?
  20. 20
    What is cascading (cascade)?
  21. 21
    Difference between LIKE and ILIKE.
  22. 22
    Write an ORM query to fetch a user by ID.
  23. 23
    What happens if two users try to book the same appointment/resource simultaneously?
  24. 24
    Show your Celery tasks.
  25. 25
    Explain background mailing jobs.
  26. 26
    Write a v-for loop in Vue.
  27. 27
    Write a v-if / v-else example in Vue.
  28. 28
    Write an if-else statement in Vue.
  29. 29
    Write a JavaScript function to: Calculate the square of a number. Calculate the cube of a number. Multiply an integer by 4. Add two or three numbers.
  30. 30
    Write a JavaScript function to compute cube roots.
  31. 31
    Write an @app.route example for GET and POST methods.
  32. 32
    Write a Jinja function/filter to calculate the cube of an integer.
  33. 33
    What is MVC?
  34. 34
    What is Lazy Loading?
  35. 35
    Approximately what percentage of your project was built using AI?
level3_49 MAD2 Level 1 Aug 2, 2026
  1. 1
    Explain the important keywords/features used in your application.
  2. 2
    Explain your project folder and file structure.
  3. 3
    Explain your database schema and table relationships.
  4. 4
    Explain your Search API and its implementation.
  5. 5
    Explain the Admin dashboard statistics API.
  6. 6
    Explain where and how Redis is implemented.
  7. 7
    Explain where caching is implemented.
  8. 8
    Explain improvements from MAD1 to MAD2.
  9. 9
    Explain your project architecture.
  10. 10
    Hide/show a button conditionally using v-if.
  11. 11
    Show a welcome message below the search bar when searching for a specific keyword.
  12. 12
    Prevent company registration based on a backend condition.
  13. 13
    Prevent blacklisting users whose usernames satisfy a specific condition (logic problem).
  14. 14
    Change a button color.
  15. 15
    Limit the maximum number of slots/seats while creating a record.
  16. 16
    Display backend validation errors in the browser/Developer Console.
  17. 17
    What is Vue.js?
  18. 18
    What is a reactive framework?
  19. 19
    Vue CLI vs Vue CDN.
  20. 20
    What are Vue directives?
  21. 21
    Difference between v-if and v-show.
  22. 22
    What is v-cloak?
  23. 23
    What are Vue lifecycle hooks?
  24. 24
    Which lifecycle hooks did you use?
  25. 25
    Explain watch() and where you used it.
  26. 26
    What are Props?
  27. 27
    What is emit?
  28. 28
    What is Axios?
  29. 29
    Why didn't you use Axios?
  30. 30
    What is Vue Router's # (hash mode) in the URL? Where is it configured?
  31. 31
    What is the difference between Vue 2 and Vue 3?
  32. 32
    What is Node.js?
  33. 33
    What is Node?
  34. 34
    What is npm?
  35. 35
    Why do we need Node.js?
  36. 36
    Can your application be built using plain JavaScript instead of Vue?
  37. 37
    How does JavaScript work?
  38. 38
    What are asynchronous functions?
  39. 39
    What are Promises?
  40. 40
    Relationship between Promises and async/await.
  41. 41
    What are anonymous functions?
  42. 42
    Is every arrow function anonymous?
  43. 43
    What are named exports?
  44. 44
    What is a default export?
  45. 45
    Create a list of five integers in JavaScript.
  46. 46
    Use a higher-order function to multiply every element by 70.
  47. 47
    How do you execute a standalone JavaScript file?
  48. 48
    What is create_app() and what are its benefits?
  49. 49
    Why are underscores (_) used in Python?
  50. 50
    What does jsonify() do?
  51. 51
    What makes an API RESTful?
  52. 52
    What are the REST design principles?
  53. 53
    Are HTTP methods part of REST or HTTP itself?
  54. 54
    Which HTTP methods should contain a request body?
  55. 55
    Difference between HTTP and HTTPS.
  56. 56
    What does HTTP/1.1 mean?
  57. 57
    Explain TLS.
  58. 58
    Explain TCP.
  59. 59
    What communication protocol is used between Vue and Flask?
  60. 60
    How can you access a server without using a browser?
  61. 61
    What is a relational database?
  62. 62
    What is a NoSQL database?
  63. 63
    Difference between a Database and a Database Management System (DBMS).
  64. 64
    Which DBMS and database are you using?
  65. 65
    Why is SQLite suitable for your application?
  66. 66
    What enables SQL databases to scale efficiently?
  67. 67
    What is ORM?
  68. 68
    Advantages of ORM.
  69. 69
    Disadvantages of ORM.
  70. 70
    What are ENUMs?
  71. 71
    What is __tablename__? Is it mandatory?
  72. 72
    How do you restrict password length at the database level?
  73. 73
    How would you migrate from SQLite to another database?
  74. 74
    Session-based vs Token-based authentication.
  75. 75
    How does Session authentication work?
  76. 76
    Pros and cons of JWT.
  77. 77
    What is a Rainbow Table attack?
  78. 78
    What hashing algorithm was used in MAD1?
  79. 79
    What is SHA-256?
  80. 80
    Can SHA-256 be decrypted?
  81. 81
    What is Redis?
  82. 82
    What is Celery?
  83. 83
    Difference between Celery Worker and Celery Beat.
  84. 84
    Difference between Caching and Memoization.
  85. 85
    What is Memoization?
  86. 86
    Do cached values always need to be stored in Redis database index 1?
  87. 87
    What is in-memory storage?
  88. 88
    How do Flask, Celery, Redis, and Vite interact?
  89. 89
    Where is Redis physically storing its data?
  90. 90
    What is position: absolute in CSS?
  91. 91
    What do the four RGBA values represent?
  92. 92
    What is Client-Server Architecture?
  93. 93
    What protocols do you know? (HTTP, HTTPS, TCP, TLS, SMTP, etc.)
  94. 94
    Why do we use a virtual environment (venv)?
  95. 95
    Are Node modules installed inside the virtual environment?
  96. 96
    Where are Node modules stored?
  97. 97
    What is Vite?
  98. 98
    Does Vite act as a development server?
  99. 99
    What else does Vite provide?
  100. 100
    Do you need to run npm run build before npm run dev?
  101. 101
    What happens if package-lock.json is deleted?
  102. 102
    Can you regenerate the dist folder after deleting it?
level2_148 MAD2 Level 1 Aug 2, 2026
  1. 1
    Demonstrate your complete application.
  2. 2
    Explain your database models.
  3. 3
    Explain all your API endpoints.
  4. 4
    Explain your project structure.
  5. 5
    Explain the complete flow from Database → API → Frontend.
  6. 6
    Show where a new user is created in your code.
  7. 7
    Pick one functionality and explain how it is implemented internally.
  8. 8
    What is scaling?
  9. 9
    How would you scale your application for 10,000+ users?
  10. 10
    How would you make this application production-ready?
  11. 11
    If this application became a startup/product, what improvements would you make?
  12. 12
    How would you scale it for 100 hospitals (or a large multi-organization deployment)?
  13. 13
    What problems/difficulties did you face while building this project?
  14. 14
    If you had more time, what improvements would you make?
  15. 15
    How did you test your application?
  16. 16
    How can you be confident that your application works correctly in all scenarios?
  17. 17
    Show where you implemented try...catch (or equivalent error handling) for API requests.
  18. 18
    Demonstrate an error scenario and show how your application handles/displays the error.
  19. 19
    What is caching?
  20. 20
    Explain the relationships and joins between your database tables.
  21. 21
    What is Vue?
  22. 22
    Vue CLI vs Vue CDN.
  23. 23
    What is Celery?
  24. 24
    What is Redis?
  25. 25
    Explain how RBAC (Role-Based Access Control) is implemented.
  26. 26
    Have you used AI while building the project? If yes, how did you verify the AI-generated code was correct, and what did you learn from it?
level3_25 MAD2 Level 1 Aug 2, 2026
  1. 1
    Demonstrate your complete application.
  2. 2
    Explain your project code/workflow.
  3. 3
    Explain models.py.
  4. 4
    Explain the overall application architecture.
  5. 5
    Explain how a booking/application request flows through the system.
  6. 6
    Explain the login flow.
  7. 7
    Explain the eligibility logic implemented in your project.
  8. 8
    Demonstrate backend jobs (Celery tasks).
  9. 9
    Check API endpoints using Postman/Thunder Client.
  10. 10
    Show whether cookies are created in the browser.
  11. 11
    Move a button (e.g., Register/Signup) to the top-right corner.
  12. 12
    Change the button color.
  13. 13
    Display all users' data.
  14. 14
    Fix a monthly report/Celery task.
  15. 15
    Write simple GET and POST API endpoints.
  16. 16
    Move a <div> to another location and modify its formatting.
  17. 17
    What are GET and POST requests?
  18. 18
    Where did you initialize the db object?
  19. 19
    What is db.Model?
  20. 20
    How did you implement Celery?
  21. 21
    Explain the code of your backend tasks.
  22. 22
    How are Redis, Celery, and the backend integrated?
  23. 23
    Explain the data flow for a user-triggered Celery task.
  24. 24
    What is Role-Based Access Control (RBAC)?
  25. 25
    How have you implemented RBAC?
  26. 26
    How is user authentication performed?
  27. 27
    What is ORM?
  28. 28
    What is SQLAlchemy?
  29. 29
    What is a Foreign Key?
  30. 30
    What are relationships in SQLAlchemy?
  31. 31
    Difference between backref and back_populates.
  32. 32
    What is MVC?
  33. 33
    What other architectural patterns have you used?
  34. 34
    Difference between Client-Server Architecture and Distributed Architecture.
  35. 35
    What is Git?
  36. 36
    What is Version Control System (VCS)?
  37. 37
    Difference between Git and Version Control System.
  38. 38
    Have you used CSS or Bootstrap?
  39. 39
    Why did you design the frontend this way?
  40. 40
    Explain Parent–Child component communication with an example.
  41. 41
    Why are all dashboards using onMounted()?
  42. 42
    Difference between URL redirection and URL rewriting/navigation.
level1_119 MAD2 Level 1 Aug 2, 2026
  1. 1
    Demonstrate your application (if asked).
  2. 2
    Explain models.py and app.py.
  3. 3
    Explain how Flask handles a request from arrival to response.
  4. 4
    How does Flask decide which function should handle a request? (WSGI)
  5. 5
    Explain the route where emails are sent (using Postman).
  6. 6
    Explain how the admin is able to view uploaded resumes/files.
  7. 7
    Explain the resources you used to build the project (courses, AI, documentation, etc.).
  8. 8
    How much AI did you use while building the project?
  9. 9
    Change the graph/chart layout or position.
  10. 10
    Apply filters in the Vue frontend.
  11. 11
    Make changes to backend routes.
  12. 12
    Create an API that returns the number of reservations/bookings made in the last X days.
  13. 13
    Modify the frontend to display those reservations.
  14. 14
    Create a Celery task (e.g., addition of two numbers) and expose it through an API.
  15. 15
    Build a Vue component that calls the API and displays the result.
  16. 16
    Create a Flask route that returns today's date + 5 days and a message.
  17. 17
    Build a Vue component with: Input field Submit button Fetch request Display API response.
  18. 18
    Create a Celery task that retrieves records from the last 5 days, expose it via an API, and return the task ID.
  19. 19
    Build a parent-child Vue application using: v-for Props Conditional styling based on score.
  20. 20
    Build a Vue app with vue-router using dynamic routes (/users/:id) and handle invalid IDs gracefully.
  21. 21
    Vue CLI vs Vue CDN.
  22. 22
    Which Vue version are you using (Vue 2 or Vue 3)?
  23. 23
    What is npm?
  24. 24
    What are Vue lifecycle hooks?
  25. 25
    Difference between Vue 2 and Vue 3.
  26. 26
    What are Computed Properties?
  27. 27
    What are Watchers?
  28. 28
    Difference between Computed Properties and Watchers.
  29. 29
    When can Vue lose reactivity?
  30. 30
    Difference between v-if and v-show.
  31. 31
    Difference between v-bind and v-model.
  32. 32
    : is shorthand for which Vue directive?
  33. 33
    What are Slots in Vue?
  34. 34
    What are Navigation Guards in Vue Router?
  35. 35
    What are Dynamic Routes in Vue Router?
  36. 36
    How do you pass data from a grandparent component to a grandchild?
  37. 37
    How do you send data from a grandchild back to a grandparent?
  38. 38
    What is Vue Router?
  39. 39
    What are State, Mutations, and Actions (Vuex)?
  40. 40
    What is the purpose of Actions?
  41. 41
    What is Pinia?
  42. 42
    How does JavaScript work?
  43. 43
    What is a Promise?
  44. 44
    What is Type Coercion?
  45. 45
    What do call(), apply(), and bind() do?
  46. 46
    Explain Flask-Security.
  47. 47
    What is UserDatastore?
  48. 48
    Explain RBAC implementation.
  49. 49
    What are RoleMixin and UserMixin?
  50. 50
    How is the authentication token generated?
  51. 51
    Difference between fs_uniquifier and authentication tokens.
  52. 52
    What happens to the fs_uniquifier token after a password change?
  53. 53
    What is Celery?
  54. 54
    What is Redis?
  55. 55
    Difference between @cache.cached and @cache.memoize.
  56. 56
    What is the benefit of caching?
  57. 57
    Redis acts as a message broker between which two entities?
  58. 58
    What is the purpose of the Redis Result Backend?
  59. 59
    In which data structure does Redis store data?
  60. 60
    What is CORS?
  61. 61
    What is CSRF?
  62. 62
    What is SMTP?
  63. 63
    How are charts rendered in your application? (e.g., Chart.js)
  64. 64
    Modify the Chart.js graph to use only two colors.
  65. 65
    Explain the project routes and backend changes.
  66. 66
    Explain frontend API filters.
  67. 67
    Explain project-specific JavaScript concepts introduced in your code.
Level2_145 MAD2 Level 1 Aug 2, 2026
  1. 1
    Explain your project files/folder structure.
  2. 2
    Explain any one page/component in your project.
  3. 3
    Explain your database models.
  4. 4
    Explain one of your database queries.
  5. 5
    Difference between is and ==. Is there any performance/speed difference?
  6. 6
    What do .all() and .first() return in SQLAlchemy?
  7. 7
    Explain the @auth_required decorator.
  8. 8
    Add password validation to enforce at least: One uppercase letter One lowercase letter One digit
  9. 9
    Implement the password visibility toggle for the Confirm Password field.
  10. 10
    What is Redis caching?
  11. 11
    What is marshal_with?
  12. 12
    Explain common HTTP status codes.
  13. 13
    How do you apply margin only to the top and bottom in Bootstrap?
  14. 14
    How do you apply margin to all sides in Bootstrap?
  15. 15
    What happens if you remove a CSS class from an HTML element?
  16. 16
    Explain Bootstrap utility classes.
  17. 17
    Make basic code changes using the documentation if required.
Level2_144 MAD2 Level 1 Aug 2, 2026
  1. 1
    Explain the directory structure of your application.
  2. 2
    Give a short demonstration of your application.
  3. 3
    Explain models.py.
  4. 4
    Open any one Vue component/file and explain it.
  5. 5
    Which version of Vue are you using (Vue 2 or Vue 3)?
  6. 6
    Difference between Vue CLI and Vue CDN.
  7. 7
    Why did you use Vue CDN? Show where it is included (index.html).
  8. 8
    How many Vue files/components do you have?
  9. 9
    What is the difference between v-if and v-show?
  10. 10
    What is Axios? Have you used it?
  11. 11
    Show your fetch() API calls.
  12. 12
    If the backend returns a 400 Bad Request response, how does the frontend handle it?
  13. 13
    What do you know about Vuex?
  14. 14
    What are State, Mutations, and Actions in Vuex?
  15. 15
    What is the purpose of Actions?
  16. 16
    Explain how RBAC is implemented in your application.
  17. 17
    How does the @role_required decorator work?
  18. 18
    What is the difference between back_populates and backref?
  19. 19
    What is cache?
  20. 20
    Where does Redis store its cache?
  21. 21
    Change the Celery schedule so that both the monthly report and daily reminder run at 5:20 PM.
  22. 22
    What types of browser storage are available?
  23. 23
    How are you rendering charts in your application? (e.g., Chart.js)
  24. 24
    Change the Chart.js bar chart so that it uses only two colors.
level3_24 MAD2 Level 1 Aug 2, 2026
  1. 1
    Demonstrate your complete application.
  2. 2
    Explain your entire codebase (backend and frontend).
  3. 3
    Explain your database/models in detail.
  4. 4
    Explain the flow of a feature from frontend to backend (e.g., booking/service flow).
  5. 5
    Explain every library/package used in your project and why it is needed.
  6. 6
    Explain every API used in your application.
  7. 7
    Explain the challenges and learnings from MAD1 and MAD2.
  8. 8
    Add a new database entry using a Python script or the terminal.
  9. 9
    Change the background color of the page/body.
  10. 10
    Change the background color of a specific div/login box.
  11. 11
    Set a background image.
  12. 12
    Change the font/text color.
  13. 13
    Change the button color.
  14. 14
    Change the navbar color.
  15. 15
    Move the navbar (center/bottom/footer).
  16. 16
    Move the header to the center of the page.
  17. 17
    Modify a database column and update the application accordingly.
  18. 18
    What is Vue?
  19. 19
    What are JavaScript frameworks?
  20. 20
    What is Vue Router?
  21. 21
    What are Vue Routes?
  22. 22
    What are Vuex Mutations and Actions?
  23. 23
    What is AJAX?
  24. 24
    What is Server-Sent Events (SSE)?
  25. 25
    What is an Opaque Request?
  26. 26
    What is Flask?
  27. 27
    Can a Flask endpoint/API return a Boolean value?
  28. 28
    What happens if a database table is empty? What does the query return?
  29. 29
    What is ORM?
  30. 30
    Explain your database schema/models.
  31. 31
    What type of database errors can occur? (e.g., inserting a string into an integer column)
  32. 32
    What happens if invalid data is inserted into an empty table?
  33. 33
    How many models have you used?
  34. 34
    Difference between frontend validation and backend validation.
  35. 35
    Which validation is more important, frontend or backend?
  36. 36
    What is Git?
  37. 37
    What is Version Control?
  38. 38
    Difference between Git and a Version Control System (VCS).
  39. 39
    What is another name for a Version Control System?
  40. 40
    What are Webhooks?
  41. 41
    What is CSRF?
  42. 42
    What is XSS?
  43. 43
    What is DoS (Denial of Service)?
  44. 44
    Difference between Privacy and Security.
  45. 45
    What is Redis?
  46. 46
    What is Celery?
  47. 47
    What is Caching?
  48. 48
    What is Point-to-Point Messaging?
  49. 49
    Difference between Task Queue and Message Queue.
  50. 50
    What is CSS?
  51. 51
    What is Inline CSS?
  52. 52
    Difference between Inline CSS and Internal CSS.
  53. 53
    What are the different ways to store data in the browser/client?
  54. 54
    Difference between Local Storage, Session Storage, and Cookies.
  55. 55
    What is SMTP?
  56. 56
    What are the advantages and disadvantages of SMTP?
  57. 57
    Rate your application out of 5 and justify your rating.
  58. 58
    If your application crashes in production, how would you debug and resolve the issue?
Level2_116 MAD2 Level 1 Aug 1, 2026
  1. 1
    Demonstrate the complete application.
  2. 2
    Show the project/folder structure.
  3. 3
    Show the requested features/pages during the demo.
  4. 4
    Explain specific parts of the code when asked.
  5. 5
    Display the number of days remaining before book access is revoked.
  6. 6
    What is ORM?
  7. 7
    What is relationship()?
  8. 8
    What is backref?
  9. 9
    Difference between backref and back_populates.
  10. 10
    What is cascade="all" (Cascade options)?
  11. 11
    Why did you use __tablename__? What happens if we remove it
level2_99 MAD2 Level 1 Aug 1, 2026
  1. 1
    Demonstrate the complete application.
  2. 2
    Show the database schema.
  3. 3
    Display the password in red next to the login button on the navigation bar.
  4. 4
    Make a requested code change and explain it.
  5. 5
    What is ORM?
  6. 6
    Explain your database structure.
  7. 7
    Explain Foreign Keys.
  8. 8
    What happens if a referenced (parent) record is deleted? (Referential integrity / cascade behavior.)
  9. 9
    What changes would you make to migrate your application from SQLite to PostgreSQL?
  10. 10
    What are the main components of Celery?
  11. 11
    Difference between Redis and Celery.
  12. 12
    Difference between Celery Beat and Celery Worker.
Created for educational purposes only. Questions are based on students' personal experiences and may not reflect actual exam content.