Viva prep · Real questions · Student experiences Enroll in Bootcamp
165 proctors 5262 questions

Lazy IITians Project Mentorship

Prepare in structure for the Project Mentorship.

level1_96 MAD1 Level 1 Aug 3, 2026
  1. 1
    ID card verification.GitHub repository & collaborator check.
  2. 2
    Download the submission/ZIP from the portal (or perform checksum) and run the project.
  3. 3
    Demonstrate the complete project and all core functionalities.
  4. 4
    Show the summaries/dashboards from different user roles.
  5. 5
    Explain what happens after a student clicks Apply.
  6. 6
    Show where the Register route is implemented.
  7. 7
    Explain ORM. What is ORM? Which ORM have you used? Explain SQLAlchemy
  8. 8
    Explain the database relationships. Relationship between your tables. One-to-One and One-to-Many relationships. Relationship between Patient, Doctor and Appointment tables.
  9. 9
    Explain Cascade.
  10. 10
    Explain Flask Contexts. What is Application Context? What is Request Context? Difference between Application Context and Request Context.
  11. 11
    Explain Session Management. What are Flask Sessions?
  12. 12
    Explain Jinja2. What is Jinja2? How have you used Jinja2 in your project?
  13. 13
    Explain MVC Architecture.
  14. 14
    Which frameworks/libraries have you used in your project?
  15. 15
    Change the maximum parking spots and show the database updating live.
  16. 16
    Write a route to display all cardiologists.
  17. 17
    Write a query to retrieve all patient history from the Treatment table.
  18. 18
    Change a button colour.
level1_92 MAD1 Level 1 Aug 3, 2026
  1. 1
    ID card verification.Check GitHub repository.Verify MAD-1 collaborator.
  2. 2
    Download project from Viva Booking portal and run it.
  3. 3
    Register as Company.Create/Add a Drive (or Job Post).Approve Company/Drive.
  4. 4
    Register as Student.Apply for a Job/Drive.Shortlist a Student.
  5. 5
    Login as the shortlisted/blacklisted student.Demonstrate Blacklisting.
  6. 6
    Demonstrate Search functionality.
  7. 7
    Show only active companies.Explain Resume upload and company accessibility.
  8. 8
    Explain Admin, Company and Student dashboards.
  9. 9
    Explain placement status flow.
  10. 10
    Explain approval/rejection/blacklisting workflow.Explain what happens after rejecting a company/drive/job.
  11. 11
    Explain dashboard functionality.Explain database relationships.
  12. 12
    Explain any route/function pointed out by the examiner.
  13. 13
    Explain filtering/query logic.
  14. 14
    Show only shortlisted students.
  15. 15
    Show student application status instead of application date.
  16. 16
    Show only active companies.
  17. 17
    Show only approved drives.Show only jobs with salary > ₹1 lakh.
  18. 18
    Merge ongoing and completed drives into one table.
  19. 19
    Show only pending appointments.Show only cancelled appointments.Show only completed appointments.
  20. 20
    Show only applied drives (filter by status).
  21. 21
    Show only applied drives (filter by status).
  22. 22
    Change button colour (green/blue/any colour).
  23. 23
    Explain the query after making the changes.
  24. 24
    Which database did you use?
  25. 25
    What is ORM? Which ORM have you used? Where is ORM initialized/used in your code?
  26. 26
    Which function connects backend and frontend? (render_template)
  27. 27
    Authentication vs Authorization.HTTP Methods.
  28. 28
    Difference between GET and POST.Where have you used GET requests?
  29. 29
    Frontend Validation vs Backend Validation.
  30. 30
    MVC Architecture. CSS vs Bootstrap.
  31. 31
    Which Flask function is used for Jinja templating?
  32. 32
    Explain ORM implementation in your project.
  33. 33
    Explain frontend/backend validation in your code.
  34. 34
    Explain authorization implementation.
  35. 35
    Explain search functionality. Explain filtering queries.
  36. 36
    Explain how student duplicate applications are prevented.
  37. 37
    Explain how CGPA update works.Explain how placement status changes across dashboards.
  38. 38
    Explain how admin approves/rejects/blacklists users.
  39. 39
    Explain how data is stored and retrieved.
  40. 40
    Explain relationships between tables.
  41. 41
    Explain a portion of your code.
level1_132 MAD2 Level 1 Aug 3, 2026
  1. 1
    Download the project and run it.
  2. 2
    Demonstrate the application.
  3. 3
    Explain your project structure.
  4. 4
    Explain models.py.
  5. 5
    Explain table relationships (One-to-One, One-to-Many, Many-to-Many).
  6. 6
    Create a new model.py model.
  7. 7
    Explain the CSS file line by line.
  8. 8
    Explain db and how it differs from model.py.
  9. 9
    Vue 2 vs Vue 3.
  10. 10
    Vue CLI vs Vue CDN.
  11. 11
    Why did you choose CDN over CLI?
  12. 12
    Which is more scalable: CLI or CDN?
  13. 13
    What is Vue Router?
  14. 14
    Difference between createWebHistory and createWebHashHistory.
  15. 15
    What is meta in Vue Router? What alternatives exist?
  16. 16
    What is Vuex?
  17. 17
    Difference between data and store.
  18. 18
    Difference between state and data.
  19. 19
    Difference between props and emit.
  20. 20
    Show how to send data from child to parent using emit.
  21. 21
    What is ref?
  22. 22
    Difference between ref and reactive.
  23. 23
    What are Vue Lifecycle Hooks?
  24. 24
    What is an Object in Vue and why is it used?
  25. 25
    Token-based vs Session-based authentication (with code example).
  26. 26
    What is UserDatastore?
  27. 27
    HTTP status codes.
  28. 28
    Forbidden (403) vs Integrity Errors.
  29. 29
    Is Redis server-side or client-side?
  30. 30
    Difference between server-side and client-side storage.
  31. 31
    Explain Celery initialization.
  32. 32
    Explain Celery Beat.
  33. 33
    How do you change a Crontab schedule?
  34. 34
    Change the reminder/monthly report schedule to the current time.
  35. 35
    Write the scheduling code for the monthly report.
  36. 36
    Show Celery-generated emails.
  37. 37
    Where can you view sent emails?
  38. 38
    How do you verify that an email has been sent?
  39. 39
    Difference between cache.cached and cache.memoize key prefixes.
  40. 40
    Write a fetch() request without referring to your project.
  41. 41
    Write a fetch() request to delete a subject.
  42. 42
    Implement the fetch() request in a Vue component.
  43. 43
    Create a new API route to fetch data.
  44. 44
    Create a new DELETE route.
  45. 45
    Create an API to update a user's username and email.
  46. 46
    Write the API for the export feature.
  47. 47
    Write a SQL query to fetch all registered users.
  48. 48
    Write the SQLAlchemy relationship for a Many-to-Many relationship.
  49. 49
    Recreate the Admin Dashboard sidebar.
  50. 50
    Fix a browser console error.
  51. 51
    Change the application port and run the application.
  52. 52
    Relationship implementation in SQLAlchemy (One-to-One, One-to-Many, Many-to-Many).
  53. 53
    What is scalability?
  54. 54
    Difference between Horizontal and Vertical Scaling.
Level3_48 MAD2 Level 1 Aug 3, 2026
  1. 1
    Show your ID card.
  2. 2
    Download the project from the portal.
  3. 3
    Run the application.
  4. 4
    Demonstrate all the functionalities of the application.
  5. 5
    Explain the database models.
  6. 6
    Explain the backend implementation.
  7. 7
    Explain the Celery and Redis tasks.
  8. 8
    Show the Celery command.
  9. 9
    Modify the backend logic in the Admin Dashboard.
  10. 10
    Update the database model to satisfy an additional condition.
  11. 11
    Modify the application so that occupied parking spots also display the associated vehicle number (API + Frontend).
  12. 12
    Implement a Cancel Appointment feature for doctors (Frontend + Backend).
level1_94 MAD2 Level 1 Aug 3, 2026
  1. 1
    Show your ID card.
  2. 2
    Show your GitHub collaborator.
  3. 3
    Demonstrate the complete application.
  4. 4
    Demonstrate all CRUD operations.
  5. 5
    Demonstrate charts and summary statistics (Admin/User dashboard).
  6. 6
    Show MailHog.
  7. 7
    Show scheduled backend jobs (daily reminders, monthly reports).
  8. 8
    Show CSV export functionality.
  9. 9
    Explain what happens when a frontend button is clicked until the backend completes the task.
  10. 10
    Explain how the Admin user is created.
  11. 11
    Explain how Celery is implemented and executed.
  12. 12
    Explain how the CSV export job is implemented.
  13. 13
    Explain the API and route flow when a new booking is created.
  14. 14
    Explain the models.py file.
  15. 15
    Explain db.Model.
  16. 16
    Explain the difference between your MAD1 and MAD2 projects.
  17. 17
    Is there any core feature you have not implemented?
  18. 18
    What is something new you learned while building this project?
  19. 19
    Token-based vs Session-based authentication.
  20. 20
    Did you configure email notifications after backend tasks completed?
  21. 21
    What is Vue?
  22. 22
    Vue CLI vs Vue CDN. Which one did you use and why?
  23. 23
    What are Query Parameters?
  24. 24
    What is Celery?
  25. 25
    Why do we use Celery?
  26. 26
    Why are asynchronous jobs needed?
  27. 27
    What is Redis?
  28. 28
    Why do we use Redis?
  29. 29
    Difference between Celery Worker and Celery Beat.
  30. 30
    Celery Beat and Worker commands.
  31. 31
    Change the scheduled jobs to run every minute.
  32. 32
    Show that reminders are working.
  33. 33
    What is ORM?
  34. 34
    Difference between backref and back_populates.
  35. 35
    Difference between Client-Server and Distributed Architecture.
  36. 36
    Difference between cellspacing and cellpadding.
  37. 37
    Is caching implemented?
  38. 38
    Explain cache invalidation.
  39. 39
    Write a Vue v-if example.
  40. 40
    Write a random Flask route.
  41. 41
    Write an endpoint to book an appointment.
  42. 42
    Write an endpoint to apply for a drive.
  43. 43
    Write a frontend form.
  44. 44
    Write the frontend code to display available appointments.
  45. 45
    Change the button color.
  46. 46
    Move the Sign Up button to the top-right.
  47. 47
    Modify the application to display all users.
  48. 48
    Fix the monthly report scheduler.
  49. 49
    Verify APIs using Thunder Client/Postman.
  50. 50
    Show browser cookies.
Level1_14 MAD2 Level 1 Aug 3, 2026
  1. 1
    Show your GitHub repository and collaborator.
  2. 2
    Show your Student ID.
  3. 3
    Run the project.
  4. 4
    Demonstrate the complete application.
  5. 5
    Explain the code for the features the examiner asks about.
  6. 6
    Demonstrate backend jobs (Celery).
  7. 7
    Demonstrate CSV export.
  8. 8
    Send an email from the application.
  9. 9
    Demonstrate the search functionality.
  10. 10
    Explain the login flow in the Vue frontend.
  11. 11
    Can two patients book the same doctor at the same time?
  12. 12
    Can a blocked patient still log in?
  13. 13
    Can the admin search for doctors and patients?
  14. 14
    What happens if a doctor is deleted?
  15. 15
    Demonstrate profile update functionality.
  16. 16
    Demonstrate treatment-related functionality.
  17. 17
    Verify that duplicate booking is prevented logically and technically.
  18. 18
    What type of authentication have you implemented?
  19. 19
    Difference between Authentication and Authorization.
  20. 20
    What type of token are you using (e.g., JWT)?
  21. 21
    Show where JWT/authentication is implemented.
  22. 22
    What are RESTful APIs?
  23. 23
    What are HTTP headers?
  24. 24
    What are Vue Lifecycle Hooks?
  25. 25
    Show where lifecycle hooks are implemented.
  26. 26
    What is Axios?
  27. 27
    Explain the login handling code in Vue.
  28. 28
    Why is caching used?
  29. 29
    Show where caching is implemented.
  30. 30
    Explain the caching code.
  31. 31
    Explain how Redis is used.
  32. 32
    What is Local Storage?
  33. 33
    Which libraries have you used in your project?
level1_146 MAD2 Level 1 Aug 3, 2026
  1. 1
    Show your ID card.
  2. 2
    Demonstrate your application.
  3. 3
    Explain the project structure.
  4. 4
    Explain the file structure.
  5. 5
    Explain your database models.
  6. 6
    Explain the database design.
  7. 7
    Explain the backend jobs flow.
  8. 8
    Explain where caching is implemented.
  9. 9
    Explain how Redis is used in your project.
  10. 10
    Explain the Celery and Redis code.
  11. 11
    Show the frontend routes.
  12. 12
    What is Cascade Delete (ON DELETE CASCADE)?
  13. 13
    Explain database keys (Primary Key, Foreign Key, Candidate Key, etc.).
  14. 14
    Explain database relationships.
  15. 15
    Difference between STRING and TEXT data types.
  16. 16
    Difference between v-if and v-show.
  17. 17
    Difference between Vuex Store, Session Storage, and Local Storage.
  18. 18
    Why is Vuex better than Session Storage/Local Storage?
  19. 19
    What are the new features in Vue 3?
  20. 20
    Difference between POST, PUT, and PATCH.
  21. 21
    Difference between HTTP and HTTPS.
  22. 22
    Create an API that returns the sum of two numbers.
  23. 23
    Create a POST API that returns the start and end index of a substring within a parent string.
  24. 24
    Test the API using Postman or Thunder Client.
  25. 25
    Set a default value in a form field.
  26. 26
    Fix a small bug/debugging task.
  27. 27
    Modify parking charge calculation to always charge for a full hour, even for partial usage.
  28. 28
    Create a Vue component that displays a real-time clock.
  29. 29
    Implement text rotation logic in the backend.
  30. 30
    Difference between Horizontal Scaling and Vertical Scaling.
  31. 31
    What is SMTP?
  32. 32
    Disable GitHub Copilot during the viva.
level2_142 MAD2 Level 1 Aug 3, 2026
  1. 1
    Show your ID card.
  2. 2
    Show your GitHub repository.
  3. 3
    Download the project from the portal and run it.
  4. 4
    Explain your project statement.
  5. 5
    Demonstrate all CRUD operations.
  6. 6
    Demonstrate the search functionality.
  7. 7
    Demonstrate all core features of the application.
  8. 8
    Demonstrate backend jobs (scheduled and user-triggered).
  9. 9
    Demonstrate CSV export.
  10. 10
    Demonstrate caching.
  11. 11
    Demonstrate daily reminders and monthly reports.
  12. 12
    Show how frontend and backend are connected.
  13. 13
    Extend the deadline of an existing entity (project-specific live change).
  14. 14
    Show the generated authentication token.
  15. 15
    Show where the authentication token is generated.
  16. 16
    Show where the token is stored on the frontend.
  17. 17
    What security mechanism have you used?
  18. 18
    Is auth_required() necessary if roles_required() is already used? Can they be combined?
  19. 19
    Vue CLI vs Vue CDN.
  20. 20
    What are Vue Lifecycle Hooks?
  21. 21
    Explain each lifecycle hook.
  22. 22
    What are Vue Directives?
  23. 23
    What is v-model?
  24. 24
    Difference between one-way and two-way binding.
  25. 25
    What is Vuex?
  26. 26
    What is State Management?
  27. 27
    What is an async function?
  28. 28
    What does an async function return?
  29. 29
    Difference between synchronous and asynchronous functions.
  30. 30
    What is a Promise?
  31. 31
    Explain the stages/states of a Promise.
  32. 32
    What are Higher-Order Functions? Give an example.
  33. 33
    What happens if async is used incorrectly?
  34. 34
    What happens when a parent record is deleted?
  35. 35
    Explain Cascading (ON DELETE CASCADE).
  36. 36
    Can cascading be used for operations other than DELETE?
  37. 37
    Show where Celery is configured.
  38. 38
    Show the Celery tasks.
  39. 39
    Show user-triggered tasks.
  40. 40
    Show scheduled tasks.
  41. 41
    Change the cache timeout and demonstrate cache expiry.
  42. 42
    Create a new API that returns "Hello World".
  43. 43
    Create an API that returns the current server time (time.time()).
  44. 44
    Create an API route and display the response on the frontend.
  45. 45
    Add a new Vue component that: Fetches data from the backend. Displays the response. Includes a button to fetch the data again.
  46. 46
    Display a backend message ("Hello") on the frontend.
  47. 47
    Display the current server time on the frontend with a Refresh button.
  48. 48
    What frameworks have you used in your project?
  49. 49
    Explain models.py.
  50. 50
    Explain resources.py.
  51. 51
    How much AI did you use in your project?
Created for educational purposes only. Questions are based on students' personal experiences and may not reflect actual exam content.