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_131 MAD1 Level 1 Jul 31, 2026
  1. 1
    Show your College ID.
  2. 2
    Download the project from the Viva Portal or perform checksum.
  3. 3
    Explain the complete project/folder structure.
  4. 4
    Explain the purpose of every file and how they are connected.
  5. 5
    Explain current_app.
  6. 6
    What is ORM?
  7. 7
    Have you used ORM? Why?
  8. 8
    Explain the frontend, backend, and database architecture.
  9. 9
    Explain the complete workflow when a user registers.
  10. 10
    Explain the complete data flow for a feature (e.g., Add Doctor, Apply for Drive, Profile Update).
  11. 11
    Explain app.py.
  12. 12
    Explain models.py.
  13. 13
    Explain a specific route chosen by the proctor.
  14. 14
    Explain how a route with both GET and POST methods works.
  15. 15
    Explain endpoint routes such as '/delete/<int:id>'.
  16. 16
    Explain @app.template_filter.
  17. 17
    Explain context_processor.
  18. 18
    Explain app_context.
  19. 19
    Explain all model relationships.
  20. 20
    Explain One-to-One, One-to-Many, and Many-to-Many relationships.
  21. 21
    Explain backref.
  22. 22
    Explain nullable.
  23. 23
    Explain Foreign Key.
  24. 24
    Explain Secondary (Junction) Tables.
  25. 25
    How do you add a new record using SQLAlchemy ORM?
  26. 26
    Write an ORM query to insert a new record.
  27. 27
    Update a record using a field other than the primary key.
  28. 28
    Fetch a record using its Primary Key.
  29. 29
    Fetch related data using relationships (without writing an explicit SQL query).
  30. 30
    Write a SQL query to insert data.
  31. 31
    What is RegisterForm? Where is it defined?
  32. 32
    What is Flask-Migrate? Why did you use it?
  33. 33
    Why is SQLALCHEMY_TRACK_MODIFICATIONS=False used?
  34. 34
    Explain debug=True.
  35. 35
    Explain if __name__ == "__main__".
  36. 36
    Explain url_for().
  37. 37
    Explain redirect().
  38. 38
    Explain render_template().
  39. 39
    Match: redirect() → route render_template() → HTML template url_for() → endpoint/function name
  40. 40
    What parameter should be passed to url_for()?
  41. 41
    Why do some routes use <int:id> while others don't?
  42. 42
    Alternative ways to pass data besides <int:id>.
  43. 43
    Explain all HTTP methods.
  44. 44
    Difference between GET and POST.
  45. 45
    Can a form be submitted using PUT or DELETE?
  46. 46
    What happens if a form uses the GET method?
  47. 47
    How is the POST method triggered?
  48. 48
    Can GET be used to create data?
  49. 49
    How do you retrieve query parameters?
  50. 50
    Explain request.args.get().
  51. 51
    Explain form action.
  52. 52
    Explain enctype.
  53. 53
    Difference between Authentication, Authorization, and Validation.
  54. 54
    How do you protect routes so only logged-in users can access them?
  55. 55
    What type of validation is pattern?
  56. 56
    Explain minlength validation.
  57. 57
    What is Template Inheritance?
  58. 58
    Explain Jinja object access (e.g., reservation.spot.lot.name).
  59. 59
    Write a Jinja for loop.
  60. 60
    Explain the name attribute in HTML forms.
  61. 61
    Difference between block and inline elements.
  62. 62
    Difference between <tr>, <td>, and <th>.
  63. 63
    What is .parking-summary-card? What does the . selector represent?
  64. 64
    What is display: flex?
  65. 65
    How do you make a section occupy half the page width?
  66. 66
    How do you add a hover effect to a button?
  67. 67
    Align two different text elements using HTML/CSS.
  68. 68
    What JavaScript did you use?
  69. 69
    Explain your Chart.js implementation.
  70. 70
    What is the DOM?
  71. 71
    What is Version Control?
  72. 72
    Which Version Control tool did you use?
  73. 73
    What does git status do?
  74. 74
    Git command to create a new branch.
  75. 75
    Explain basic Git commands.
  76. 76
    Explain how resume/file upload is handled.
  77. 77
    Why did you use request.files.get()?
  78. 78
    Create a route and HTML form that accepts user input and displays it on the browser.
  79. 79
    Create a route that stores form input in the database.
  80. 80
    Create a route with URL parameters (e.g., /sum/<a>/<b> or /course/<course_name>).
  81. 81
    Retrieve a student's applications using ORM relationships.
  82. 82
    Retrieve a company by its ID.
  83. 83
    Retrieve a student by ID.
  84. 84
    Display student details and applications in a table.
  85. 85
    Create a One-to-One relationship in code.
  86. 86
    Insert a new Admin/User using ORM.
  87. 87
    Add a parking spot using ORM.
  88. 88
    Change the Admin Dashboard cards from row layout to column layout.
  89. 89
    Print list elements greater than a given value using a Jinja loop.
  90. 90
    Explain the complete flow of the code you wrote during the coding task.
  91. 91
    Did you implement a search feature? Explain its frontend and backend.
  92. 92
    What resources or documentation did you use while building the project?
  93. 93
    What is your area of interest outside this degree?
Level1_133 MAD1 Level 1 Jul 30, 2026
  1. 1
    Show your College ID.
  2. 2
    Show your GitHub repository.
  3. 3
    Download the project from the Viva Portal.
  4. 4
    Run checksum.
  5. 5
    Demonstrate the application (the proctor may stop you midway and ask specific scenarios).
  6. 6
    Create sample entities (e.g., student, company, drive, upload CV).
  7. 7
    Explain the Student Dashboard workflow.
  8. 8
    Explain the Company CRUD workflow.
  9. 9
    Explain additional features beyond the basic requirements.
  10. 10
    Identify and explain any flaw noticed by the proctor (e.g., logout functionality).
  11. 11
    Explain MVC and show where it is implemented in your code.
  12. 12
    Explain the complete request flow after login (Browser → Controller/Route → Database → Response → View).
  13. 13
    Explain how Controller and View interact during operations such as registration.
  14. 14
    Explain one complete route from your project (e.g., student applying for a drive).
  15. 15
    Explain routing and the purpose of different route handlers.
  16. 16
    Explain different parts of your code when the proctor points to them.
  17. 17
    Explain models.py.
  18. 18
    Explain the database schema.
  19. 19
    Explain relationships between tables.
  20. 20
    Explain Primary/Foreign Keys.
  21. 21
    Explain One-to-One and One-to-Many relationships and how they are identified.
  22. 22
    What is ORM? Why is it used?
  23. 23
    Have you heard of MySQLAlchemy?
  24. 24
    What is Lazy Loading?
  25. 25
    What is backref?
  26. 26
    What is Cascade Delete?
  27. 27
    What is Cascade Update?
  28. 28
    What are other Cascade operations/rules?
  29. 29
    How would you delete one application without affecting other related records?
  30. 30
    Difference between Authentication and Authorization.
  31. 31
    What is Password Hashing?
  32. 32
    How did you implement Password Hashing?
  33. 33
    Explain all HTTP request methods.
  34. 34
    Difference between GET, POST, and PUT.
  35. 35
    What is Jinja?
  36. 36
    What is Template Inheritance?
  37. 37
    Have you used a REST API?
  38. 38
    If a database error occurs, how would you handle it? (Exception Handling)
  39. 39
    Display the student's name on the Student Dashboard.
  40. 40
    Display the student's roll number on the Student Dashboard.
  41. 41
    Display the current date.
  42. 42
    Display the current date and time.
  43. 43
    Change the dashboard heading to "{{ Name }}'s Dashboard".
  44. 44
    Fetch and display all student names on the Company Dashboard using a Jinja for loop (including both applied and non-applied students).
  45. 45
    Answer UI-related questions or explain your frontend implementation.
Level1_95 MAD1 Level 1 Jul 30, 2026
  1. 1
    Show your College ID.
  2. 2
    Verify GitHub collaborator access.
  3. 3
    Download the project from the Viva Portal.
  4. 4
    Show your project report (to verify LLM/AI usage declaration).
  5. 5
    Demonstrate the complete application.
  6. 6
    Demonstrate CRUD operations.
  7. 7
    Show any additional features you implemented beyond the project requirements.
  8. 8
    Explain how you prevent duplicate submissions (e.g., student applying multiple times).
  9. 9
    Explain the backend logic for a booking/application workflow.
  10. 10
    Explain how you would implement duplicate prevention if it is not already implemented.
  11. 11
    Explain models.py.
  12. 12
    Explain one complete route from your project.
  13. 13
    Explain the login logic.
  14. 14
    Explain the logic for blocking specific users/routes.
  15. 15
    Show and explain all project files.
  16. 16
    Show all HTML files.
  17. 17
    Explain a Jinja for loop from your HTML template.
  18. 18
    Explain where you handled a specific error in your project.
  19. 19
    What is MVC?
  20. 20
    Difference between Authentication and Authorization (with examples from your project).
  21. 21
    Explain all HTTP request methods.
  22. 22
    Difference between POST and PUT.
  23. 23
    Difference between PUT and FETCH.
  24. 24
    What is Template Inheritance?
  25. 25
    What is Cascade (Cascading) in databases?
  26. 26
    What does lazy=True mean in SQLAlchemy?
  27. 27
    What are Flash Messages?
  28. 28
    If an admin deletes a parking lot (or similar parent record) that has active bookings, what will happen?
  29. 29
    How would you change the appearance/layout of the Admin Dashboard?
  30. 30
    Write a simple Hello World route in Notepad.
  31. 31
    Write a route that accepts two numbers as input and returns their sum along with the string "Hello".
Level1_94 MAD1 Level 1 Jul 30, 2026
  1. 1
    Show your College ID.
  2. 2
    Show your GitHub repository.
  3. 3
    Download the project from the Viva Portal.
  4. 4
    Demonstrate the application.
  5. 5
    Perform all CRUD operations.
  6. 6
    Open the application in Incognito mode and explain why the user is not logged in.
  7. 7
    Explain app.py.
  8. 8
    Explain os.getenv().
  9. 9
    Explain the configuration variables (e.g., SECRET_KEY and other app configuration parameters).
  10. 10
    Explain @login_required.
  11. 11
    Explain before_request and how you used it.
  12. 12
    Create a new route and a corresponding template.
  13. 13
    Display all users in the new route.
  14. 14
    Modify the template to display only usernames instead of object representations.
  15. 15
    What is ORM?
  16. 16
    Why is ORM used?
  17. 17
    Full form of CRUD.
  18. 18
    What is Cascade?
  19. 19
    Difference between {% %} and {{ }} in Jinja.
  20. 20
    Why is Jinja used?
  21. 21
    What frontend and backend frameworks have you used?
  22. 22
    What is the PUT method?
  23. 23
    Explain RESTful API and HTTP methods.
  24. 24
    Why didn't you use the PUT method?
  25. 25
    What is the purpose of the default parameter in SQLAlchemy columns (e.g., default=1)?
  26. 26
    Difference between frontend validation and backend validation.
level2_132 MAD1 Level 1 Jul 30, 2026
  1. 1
    Show your student ID.
  2. 2
    Download the project ZIP from the viva portal.
  3. 3
    Rename the ZIP/folder as instructed (e.g., viva_1 or level1viva1) and extract it.
  4. 4
    Demonstrate the complete application.
  5. 5
    Show the functionalities of each user role.
  6. 6
    Explain the routes.
  7. 7
    Explain the models.
  8. 8
    Explain the login flow and security checks.
  9. 9
    Explain the CRUD operations from the admin side.
  10. 10
    Explain the summary/dashboard page, especially the charts.
  11. 11
    Explain MVC architecture and show its implementation in your project.
  12. 12
    What are Blueprints in Flask?
  13. 13
    Explain the routes in your project.
  14. 14
    Write a Flask function to display all unapproved drives.
  15. 15
    Difference between Authentication and Authorization.
  16. 16
    Show where Authentication and Authorization are implemented in your code.
  17. 17
    What is ORM?
  18. 18
    What is Data Normalization?
  19. 19
    What is a RESTful API?
  20. 20
    Difference between RESTful and RESTless APIs.
  21. 21
    Difference between HTTP and HTTPS.
  22. 22
    Difference between Inline, Internal, and External CSS.
  23. 23
    Add a new Age field to the registration form and print its value in the terminal.
  24. 24
    Modify the application so a company cannot create another drive if it already has one active drive.
level2_79 MAD1 Level 1 Jul 30, 2026
  1. 1
    Show your student ID card.
  2. 2
    Show your GitHub repository and collaborator.
  3. 3
    Download the project from the portal and run it.
  4. 4
    Demonstrate the complete application.
  5. 5
    Show the blacklist functionality (blocked user/staff cannot log in).
  6. 6
    Show staff approval before login.
  7. 7
    Show profile update functionality.
  8. 8
    Show search functionality.
  9. 9
    Show that booking fails when available slots are 0 (prevent overbooking).
  10. 10
    Add a new column to the admin search results.
  11. 11
    Change a dashboard field (e.g., drive name) after posting.
  12. 12
    Can a student edit their submitted resume after applying? Explain/show.
  13. 13
    Did you skip any required features from the problem statement?
  14. 14
    Write a Flask route that displays "Hello/Your Name" using Jinja.
  15. 15
    Write a Flask route that takes input from one HTML page and displays it on another page.
  16. 16
    Write a Flask route that takes a number and changes the next page's background color based on whether it is even or odd.
  17. 17
    Write a Flask route that returns the total number of bookings for a given user ID.
  18. 18
    Explain MVC architecture using your project.
  19. 19
    Show where Jinja is used in your project.
  20. 20
    What are the different types/features of Flask templating?
  21. 21
    What is ORM?
  22. 22
    Which ORM did you use?
  23. 23
    How does ORM work?
  24. 24
    What is Cascade in SQLAlchemy?
  25. 25
    Can Cascade be used for operations other than delete?
  26. 26
    Is your database normalized?
  27. 27
    Which normal form have you implemented?
  28. 28
    Why didn't you use higher normal forms?
  29. 29
    What are RESTful principles?
  30. 30
    What are HTTP methods?
  31. 31
    Can the roles of GET and POST be interchanged? Explain your opinion.
  32. 32
    What is Cross-Site Scripting (XSS)?
  33. 33
    What is CORS?
  34. 34
    Difference between CORS and Cross-Site Scripting (XSS).
  35. 35
    Explain Vertical Scaling vs Horizontal Scaling.
  36. 36
    Explain Tier-2 vs Tier-3 architecture.
  37. 37
    How does the blacklist mechanism work?
  38. 38
    How does search work in your application?
  39. 39
    How do you prevent overbooking?
  40. 40
    Why shouldn't trek slots become negative? How would you validate this?
  41. 41
    How would you implement a feature to prevent invalid slot values?
Level1_103 MAD1 Level 1 Jul 30, 2026
  1. 1
    Show your College ID.
  2. 2
    Download the project from the Viva Portal or perform checksum.
  3. 3
    Demonstrate the complete application.
  4. 4
    Show all project features.
  5. 5
    Demonstrate the search functionality.
  6. 6
    Create a Doctor.
  7. 7
    Register a new Patient.
  8. 8
    Show available slots.
  9. 9
    Book multiple slots.
  10. 10
    Cancel a booking as a Patient.
  11. 11
    Cancel a booking as a Doctor.
  12. 12
    Complete an appointment as a Doctor and add the required details.
  13. 13
    Block a Patient as Admin.
  14. 14
    Delete a Patient as Admin.
  15. 15
    Show the patient history in the database.
  16. 16
    Show the database and verify changes made during the demo.
  17. 17
    Explain models.py.
  18. 18
    Show and explain a View (template).
  19. 19
    Explain the GET and POST login route from your code.
  20. 20
    What is MVC? Explain it using your project.
  21. 21
    Difference between Authentication and Authorization.
  22. 22
    Difference between GET and POST.
  23. 23
    What is a Primary Key?
  24. 24
    What is a Unique Key?
  25. 25
    What is Cascade?
  26. 26
    What is backref?
  27. 27
    What is back_populates?
  28. 28
    Write the Login route (@app.route) in Notepad.
  29. 29
    Write an @app.route example.
Level3_42 MAD1 Level 1 Jul 30, 2026
  1. 1
    Show your College ID.
  2. 2
    Download the project from the Viva Portal.
  3. 3
    Run checksum.
  4. 4
    Demonstrate the application.
  5. 5
    Perform specific workflows during the demo (e.g., create doctor/company drive/trek, booking, applications, etc.).
  6. 6
    Explain the complete application flow (app.py workflow).
  7. 7
    Explain how the Flask application is connected to the database.
  8. 8
    Explain a specific route or line of code.
  9. 9
    Explain the workflow of a route.
  10. 10
    Explain how the database is created and connected to the application.
  11. 11
    Explain how relationships are defined in your models.
  12. 12
    Explain the relationship between related models (e.g., Doctor–Patient–Appointment).
  13. 13
    Explain where current_user is initialized.
  14. 14
    Explain isinstance() where used.
  15. 15
    Difference between Authentication and Authorization.
  16. 16
    Show where Authentication is implemented in your code.
  17. 17
    Show where Authorization is implemented in your code.
  18. 18
    Add authorization checks to pages/routes.
  19. 19
    What is Session?
  20. 20
    Where are sessions stored?
  21. 21
    What happens if the browser/tab is refreshed or reopened?
  22. 22
    Explain UserMixin and why it is used.
  23. 23
    What is ORM?
  24. 24
    Why did you use (or not use) ORM?
  25. 25
    Explain Cascade Delete.
  26. 26
    Explain backref and back_populates.
  27. 27
    Difference between backref and back_populates.
  28. 28
    Why did you use uselist? What happens if it is removed?
  29. 29
    Explain Primary Key and Foreign Key.
  30. 30
    What is a Junction Table?
  31. 31
    What is a Junction Table?
  32. 32
    Explain database relationships.
  33. 33
    Difference between GET, POST, PUT, and PATCH.
  34. 34
    Have you used any APIs?
  35. 35
    What are HTTP Status Codes?
  36. 36
    Explain route decorators.
  37. 37
    What is Exception Handling?
  38. 38
    Implement exception handling in a route.
  39. 39
    How do you handle runtime errors?
  40. 40
    Add password validation: Confirm Password field. Alphanumeric password. Reject weak passwords.
  41. 41
    What happens if a backend route returns nothing?
  42. 42
    What is Scaling?
  43. 43
    Difference between Horizontal Scaling and Vertical Scaling.
  44. 44
    How would you scale your application for thousands of users?
  45. 45
    What changes would be needed to handle thousands of requests on a single machine?
  46. 46
    Why did you use Bootstrap?
  47. 47
    Show where Bootstrap is included in your project.
  48. 48
    What happens if the Bootstrap CDN is unavailable (no internet)?
  49. 49
    What is DOM?
  50. 50
    How can multiple page reloads be prevented?
  51. 51
    Change the Navbar color.
  52. 52
    Change the background color.
  53. 53
    Change the Navbar position.
  54. 54
    What is Template Inheritance?
  55. 55
    What is Jinja? Why did you use it?
  56. 56
    Did you use AI while building the project?
  57. 57
    Where and how did you use AI?
Created for educational purposes only. Questions are based on students' personal experiences and may not reflect actual exam content.