Based on 26 student review(s) and 22 tip(s) for this examiner (grouped from similar proctor IDs).
Traits
ChillPatientFriendlyCalmStrictTheory-focused
Attitude
Generally calm and student-friendly. Described as nice/helpful by students. Some students report a stricter or colder tone
Questioning style
Often probes theory concepts. Expects you to know and possibly modify your project code
Preparation tips
• Be confident explain your project in details, proctor is very chill guy
• Just be clear with the concept! They are expecting basic understanding of our project!
• Proctor was chill
• Be calm and thorough with your project. Also have the knowledge of MAD1 Theory.
• Very nice and well-spoken proctor. Just make sure your code works, and you know basic things about your code. Be confident and polite.
• This proctor was polite and he stuck to the questions as mentioned in previous rows. According to me, he wanted me to be quick and finished the viva within 13-15 minutes
- Know your code
- Be quick and confident. Open ID, GitHub repo , VivaBooking portal beforehand.
- Have reference txt file with all necessary credentials and example data
- Being to the point is good but being a bit explanatory will be helpful. Stick to 3-5 lines
- Learn about GET , POST, DELETE etc requests and can we fetch, modify or send data with each type of request, for this proctor. He will definitely ask one for sure.
• The proctor was bit tough and if you got this proctor you have to be very specific to the answer you might feel that he is rude. Just know your project thoroughly.
• Be prepared to make few code changes..
• You gotta be prepared for some heavy theoretical questions
• Don't forget basic code flow even in level 1 viva , make sure your laptop won't lagg
• Proctor is chill guy, you should have complete understanding of your project and should be able to demonstrate the project completely. Be confident
• He should have 10 minutes late
I took around 5 to 10 minutes to complete the code but he said being an IIT student we have to completed within 2 to 5 minutes Max
He said to prepare well for viva level 2
• Nice and cool proctor.
Just prepare the questions of this proctor in the viva sheet. It's more than enough.
Make sure to prepare that coding question also because it is asked frequently by this proctor.
• Chill guy. Joined late. Very patient. Js be confident with your answer. Prepare the questions in this form alone. He ended by saying all the best for Level2.
• The questions asked were mostly from Excel for this proctor. See that and also be thorough with your code and functionalities
• Friendly guy, be confident and answer, go through the questions in the sheet
• learn your project well and be ready to explain your flow
• i feel as if the proctors are looking for anything that could make the student eligible to pass, they are so patient and listening and just learn your project and prove them that you learnt.
• Level 1 is easy if base is strong
Know what part of your code does what
• Chill guy and giving hints
• He is very polite and dosent interfere.Refer questions asked by him in this sheet thats enough .Even for coding questions he asked the same qn from the sheet but with a minor change in coding part.
• prepare well, give good demo
Tips for this examiner: Be confident explain your project in details, proctor is very chill guy
Student reviews
SDMAD1
prepare well, give good demo
Questions remembered
Demo of entire app with every functionality
how many tables are present in models.py what are they
tell me the frameworks used
what are https methods name and describe
can you swap get and post
what is restful, restful api, what are the features
explain MVC
difference b/w 2 tier and 3 tier architecture
code in notepad - write a route of taking the user email from a form and on clicking submit button, will lead to another page displaying the user's phone number
Bruce WayneMAD1
He is very polite and dosent interfere.Refer questions asked by him in this sheet thats enough .Even for coding questions he asked the same qn from the sheet but with a minor change in coding part.
Questions remembered
Level1
Asked to show ID card, Github repo
Asked to download project from portal
Demo of app (Asked to show each and every features of app)
Show me your Models (Interested in database )
Theory Questions:
Frameworks used
MVC
HTTPS Methods
2-Tier VS 3-Tier Architecture
Difference between Delete and Truncate
Coding questions:
Asked me to create a route that accepts email input from HTML form and display whether the email is present in the database or not by using another HTML page (only routes and html no need for models).
N/AMAD1
Chill guy and giving hints
Questions remembered
Show id
Download project and run the application
Can you change the resume? Blacklist any student and try to login that student
Explain models.py
MVC
Create a route to take input and display it on another html page. Create form and display page also
HTTP vs HTTPS
HTTP methods
Sheet responseMAD1
Shared viva questions from response sheet: Level1; Asked to show ID card, Github repo; Asked to download project from portal
Questions remembered
Level1
Asked to show ID card, Github repo
Asked to download project from portal
Demo of app (Asked to show each and every features of app)
Show me your Models (Interested in database )
Theory Questions:
MVC
HTTPS Methods
2-Tier VS 3-Tier Architecture
Coding questions:
Asked me to create a route that accepts input from HTML form and display it by using another HTML page
Sheet responseMAD1
Level 1 is easy if base is strong Know what part of your code does what
Questions remembered
Level 1 Viva
Download submission from portal
Demo
No of tables in models.py and what are they?
Frameworks used
What is Sqlalchemy ?
What is Jinja2?
All purposes of using jinja
Write a basic route in notepad
Then apply password must be of 8 digits with special characters both front end and back end validation
Sheet responseMAD1
i feel as if the proctors are looking for anything that could make the student eligible to pass, they are so patient and listening and just learn your project and prove them that you learnt.
Questions remembered
i explained my portal to which he was listening carefully and was silent to an extent where i thought if my meet disconnected.
then he asked me to edit the drive in the company dashboard
to blacklist student from the admin dashboard
he asked me to write a route that prints my name in the notepad
he asked me to go to my models.py and asked me what is MVC and to list the frameworks all used for this project
He asked me what is JINJA used for apart from these he asked me to show the github and show the collaborator, and checksum and id card.
Sheet responseMAD1
Shared viva questions from response sheet: -LEVEL 1 VIVA - PLACEMENT PORTAL; Show ID Card; -Run Checksum or download directly from portal and use
Questions remembered
-LEVEL 1 VIVA - PLACEMENT PORTAL
Show ID Card
-Run Checksum or download directly from portal and use
-Explain full project
-Asked to see some features in company side, admin and student side.
-what techstack was used and MVC
-have you implemented ORM
-show your models, how many are there
- asked me to open notepad and write a code for a small app that takes my name and displays it in another page. had to write the app route, input page html and output page html
Sheet responseMAD1
learn your project well and be ready to explain your flow
Questions remembered
LEVEL1 viva:
DEMO- Q
first asked to show ID and repo
then checksum or download project from portal and open in editor
then run project and show the demo
asked around 5 general flow questions like- if company blacklisted can they still log in? etc
asked to show all the different roles in detail in the demo
then asked to explain models file
THEORY-Q
asked MVC, RESTful, APIs, use of Jinja2, explain tech stack and why they were used
CODE-Q
frontend validation: change the password requirement to minimum 8 characters
backend validation: ensure there is a special character in the password and show error msg if not present
anonymousMAD1
Friendly guy, be confident and answer, go through the questions in the sheet
Questions remembered
Level 1 Viva:
ID Card, git repo, project download
Full app Demo
what database have used
ORM and what and how ORM is used
MVC architecture and how it is implemented in project
explain your models.py
asked to created a page with input for a text and a submit button - when submit is clicked it should render another page showing the entered text (no code changes asked)
Vignesh NMAD1
The questions asked were mostly from Excel for this proctor. See that and also be thorough with your code and functionalities
Questions remembered
- ID card and collaborator in GitHub
- Demo of project
- I had used remember me feature. So asked how it worked and asked to show demo of it
- MVC Architecture and show where it is implemented
- Create a new route and template to add a input field and submit button so that it will reroute to another page where the input data is displayed
- Asked which ORM and Database was used
- Asked to rate my project from 1-10
VithyasagarMAD1
Chill guy. Joined late. Very patient. Js be confident with your answer. Prepare the questions in this form alone. He ended by saying all the best for Level2.
Questions remembered
ID Card
Github to check collaborator
Demo of the project
Asked me to book appointments on the same date and time under same doctor so that it can't be booked
Then he asked me to create a new app route with taking a field as input, and with a submit button.
Explain different HTTP Methods
Which ORM you used and why.
Which database you used
Is HTTP stateless or stateful and what is a state He asked me to rate my project on a scale on 1 to 10 That's it
Padma KumarMAD1
Nice and cool proctor. Just prepare the questions of this proctor in the viva sheet. It's more than enough. Make sure to prepare that coding question also because it is asked frequently by this proctor.
Questions remembered
This is my MAD1 project level 1 viva.
First asked me to show the id card and github collab.
Asked me to download the project from the portal.
Full demonstration of the project.
Asked me to write a code for a simple app which takes one input and a submit button in one page, after submitting it will be displayed in another page. That's all. No theory questions for me.
ShrutiMAD1
He should have 10 minutes late I took around 5 to 10 minutes to complete the code but he said being an IIT student we have to completed within 2 to 5 minutes Max He said to prepare well for viva level 2
Questions remembered
What are the models used show them in the code
Basic crude operations demonstration (just implementation of our project)
Asked to create a route between to HTML pages one to get the input and the other to display the output using submit button
SomyaMAD1
Proctor is chill guy, you should have complete understanding of your project and should be able to demonstrate the project completely. Be confident
Questions remembered
Viva level 1 checksum was not working so i downloaded it from portal
Id card, git repo
Demo of the project
MVC framework
write a code to input value and submit button
which orm have you used?
How much percentage did you used AI/LLM?
What kind of help did you took from the AI/LLM?
show the model.py and the jinja templating used?
SudarshanMAD1
Don't forget basic code flow even in level 1 viva , make sure your laptop won't lagg
Questions remembered
MVC Architecture,DOM,CRUD operations , ORM, What database you have used
Write a code in which you have one page with input and submit button and after filling it should redirect to another page with showing input text on page
AnonymousMAD1
Shared viva questions from response sheet: Show ID Card; Checksum - Mine didn't matched at the moment, it matched when i checked it when preparing, but not then, he asked to download from Viva Portal and run it directly without checksum; Demo of my project
Questions remembered
Show ID Card
Checksum - Mine didn't matched at the moment, it matched when i checked it when preparing, but not then, he asked to download from Viva Portal and run it directly without checksum
Demo of my project
He asked to create a page with 2 input fields ( Integer ) + submit button, on submit, route to new page there show sum of those input fields
SiddharthMAD1
You gotta be prepared for some heavy theoretical questions
Questions remembered
Same questions that students have mentioned earlier in this sheet
Shiva kumarMAD1
Be prepared to make few code changes..
Questions remembered
completed viva L1 in 35 min
showed id card
took project from portal
when implementing he told to edit the parking lot details such that no of spots is 0
but my code doesn't allow to make 0 spots in a lot
so he told to change the code to allow 0 spots
next told to write a route such that a user will give input and submit button.
what ever text input will be given the user can see the text
told to do implement whole project
completed
Sheet responseMAD1
The proctor was bit tough and if you got this proctor you have to be very specific to the answer you might feel that he is rude. Just know your project thoroughly.
Questions remembered
REST 2.Principle of rest
can we fetch data using GET method
can we fetch data using POST method
what ORM
Which ORM you have used
Why you have used jinja
What is framework
could you edit the code and make the column instead of rows.
Sheet responseMAD1
This proctor was polite and he stuck to the questions as mentioned in previous rows. According to me, he wanted me to be quick and finished the viva within 13-15 minutes
- Know your code - Be quick and confident. Open ID, GitHub repo , VivaBooking portal beforehand. - Have reference txt file with all necessary credentials and example data - Being to the point is good but being a bit explanatory will be helpful. Stick to 3-5 lines - Learn about GET , POST, DELETE etc requests and can we fetch, modify or send data with each type of request, for this proctor. He will definitely ask one for sure.
Questions remembered
Level 1 Viva
- Show ID
- Show github repo with collaborator
- Asked about AI usage and whether I have mentioned it in report
- Download Submission
- No need for checksum
Asked for following demo (Didn't expect full demo just asked specific things)
- Admin Login
- CRUD of Parking Lot
- View booked spot after user books it
- Admin Summary before and after booking spot
- Registered Users
- User Dashboard
- User : Book and Release spot
- User Summary before and after booking spot
One mistake I made was I booked and released spot in short duration and price per hour was less making total price 0. Asked explanation for it
Code related
- Show models.py
- Show where is admin created in code
- Asked to show where Jinja2 templating was used with specific lines
- That's it did not ask anything else.
Theory Questions
- What is ORM
- What is Jinja2 templating (Asked while explaining the code)
- Can GET request be used to send data
- Can POST request be used to fetch data
- Can we use DELETE request to fetch data (I don't remember this one exactly but it was about DELETE request and about fetching, modifying or sending data)
- What is Flask and when is it preferred
- What frameworks have you used in your project
Sheet responseMAD1
Very nice and well-spoken proctor. Just make sure your code works, and you know basic things about your code. Be confident and polite.
Questions remembered
- He asked to show ID card
- He asked to download the submission and run it.
- Asked to look at GitHub collab
- Asked how much AI i've used in my code and whether I wrote it in my report (I didn't write, I apologised and told him I used AI to debug errors)
- Asked me to show CRUD operations.
- Asked me open admit and make a lot, delete and edit a lot.
- Go to user login and book a spot.
- how are you calculating the price
- What is cascade?
- how and where did you make the admin ?
- Can you send data through GET ? is it recommended
- Can you fetch data using POST ? is it recommended
- thank you, that's it from my side.
- finished in 20 mins.
Priyanshu SinghMAD1
Be calm and thorough with your project. Also have the knowledge of MAD1 Theory.
Questions remembered
Level2_142
-Show ID
-Download project from portal or perform checksum
-Show all CRUD operations.
-How you added admin into database.
-How you differentiated User and Admin.
-Show your summary tab.
-How you calculated estimated cost.
-HTTP Methods.
-Why not Django why Flask.
-can we fetch data using POST.
AnaghaMAD1
Proctor was chill
Questions remembered
Show ID and checksum
-(If no checksum)Download project from iitm portal and perform crud operation.
-he asked to show specific features like show summary in user /admin dashboard.
-what is cascade ?
-why normalisation , is your db normalised
-Different types of normalisation , and in which NF is your db in ? Explain why
-what is REST? Then restful API ? Why is it stateless
SriramMAD1
Just be clear with the concept! They are expecting basic understanding of our project!
Questions remembered
Level2_142 1)First ID card Verification & Asked to Start the Checksum
Asked to Perform CRUD operation
related to ORM
Related to Jinja2, and asked to show where I have used in my project
What is Cascade? Asked to say the query, and other than delete what we can do!
how many tables I have used in my project
about MVC, asked to show where I have used it in my Project
Sheet responseMAD1
Shared viva questions from response sheet: level1; level2_142; Perform all CRUD operations as an admin. and general demo
Questions remembered
level1
level2_142
Perform all CRUD operations as an admin. and general demo
What is Cascade? Can it only be used for delete?
What database have you used?
What ORM have you used? What is ORM, and why is it used?
Show your models, Jinja2 templates.
Is your database normalized? Explain the different normal forms...
level2:
level1_119
Explain the directories in your project.
What is app.config["SECRET_KEY"]? What happens if it is not there?
What n why app.app_context().push()?
What is app = Flask(__name__)? Why do we use __name__?
What is the datatype of x in your code? (x = XXX.query.filter_by(...))
Pointed out a route and told to explain
then he asked smth with the anchor tag on post n get...
Then In CSS,
what is the difference between # and .
Run the application as Admin.
List them the data in alphabetical order in the table
Format the data in uppercase.
Have you heard of RESTful? What is it? What is an API? (I have not implemented it)
What is MVC?
What is ORM?
DivyanshMAD1
Be confident explain your project in details, proctor is very chill guy
Questions remembered
This is Mad-1 Level-1 viva
Show ID card, Github repo , collaborator.
Asked Detailed explanation about the project.
Uses of cascade in db, is it only used for delete?
what is ORM?
what is restful api? is it stateless or stateful ?
Authentication poochta hai "tu kaun hai?", Authorization poochta hai "tujhe yeh kaam karne ki permission hai?"
Authentication: login. Username + password hash check. Success pe JWT/session. Galat credentials = 401.
Authorization: uske baad role. Admin hi venue/lot delete kare, student nahi = 403 (logged in ho, allowed nahi).
MAD2: POST /api/login = authentication. @jwt_required identity. @roles_required('admin') ya Vue v-if="isAdmin" = authorization. Frontend hide sirf UX — asli deny backend pe.
Validation alag: form sahi bhara (email format, age 18+). Woh identity prove nahi karta. Password store hash (Werkzeug), JWT payload padha ja sakta hai isliye secret mat daalo.
Project example: Copy token jwt.io.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
15
Show where the authentication token is generated.
Times asked1
Official solution
SimpleLogin/register success return create_access_token. Show generated token Network + LS.
Where tokens generated.
Authentication poochta hai "tu kaun hai?", Authorization poochta hai "tujhe yeh kaam karne ki permission hai?"
Authentication: login. Username + password hash check. Success pe JWT/session. Galat credentials = 401.
Authorization: uske baad role. Admin hi venue/lot delete kare, student nahi = 403 (logged in ho, allowed nahi).
MAD2: POST /api/login = authentication. @jwt_required identity. @roles_required('admin') ya Vue v-if="isAdmin" = authorization. Frontend hide sirf UX — asli deny backend pe.
Validation alag: form sahi bhara (email format, age 18+). Woh identity prove nahi karta. Password store hash (Werkzeug), JWT payload padha ja sakta hai isliye secret mat daalo.
Authentication poochta hai "tu kaun hai?", Authorization poochta hai "tujhe yeh kaam karne ki permission hai?"
Authentication: login. Username + password hash check. Success pe JWT/session. Galat credentials = 401.
Authorization: uske baad role. Admin hi venue/lot delete kare, student nahi = 403 (logged in ho, allowed nahi).
MAD2: POST /api/login = authentication. @jwt_required identity. @roles_required('admin') ya Vue v-if="isAdmin" = authorization. Frontend hide sirf UX — asli deny backend pe.
Validation alag: form sahi bhara (email format, age 18+). Woh identity prove nahi karta. Password store hash (Werkzeug), JWT payload padha ja sakta hai isliye secret mat daalo.
Project example: Application tab.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
17
What security mechanism have you used?
Times asked2
Official solution
SimplePassword hash, JWT, RBAC, CORS whitelist, HTTPS prod, no secrets Vue.
4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.
Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.
Project example: List 4 you actually coded.
Project example: List 4 you actually coded.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
18
Is auth_required() necessary if roles_required() is already used? Can they be combined?
Times asked1
Official solution
Simpleroles_required usually login imply. Extra auth_required explicit stacking OK.
Is auth_required necessary if roles_required? Can combine? Yes.
Authentication poochta hai "tu kaun hai?", Authorization poochta hai "tujhe yeh kaam karne ki permission hai?"
Authentication: login. Username + password hash check. Success pe JWT/session. Galat credentials = 401.
Authorization: uske baad role. Admin hi venue/lot delete kare, student nahi = 403 (logged in ho, allowed nahi).
MAD2: POST /api/login = authentication. @jwt_required identity. @roles_required('admin') ya Vue v-if="isAdmin" = authorization. Frontend hide sirf UX — asli deny backend pe.
Validation alag: form sahi bhara (email format, age 18+). Woh identity prove nahi karta. Password store hash (Werkzeug), JWT payload padha ja sakta hai isliye secret mat daalo.
Project example: We stacked both admin.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
19
Vue CLI vs Vue CDN.
Times asked6
Official solution
SimpleCDN = Vue script tag se, jaise pen drive. CLI/Vite = poori factory (SFC, npm, bundle).
CDN: no build, chhote apps, exam PC pe Node nahi to bhi chal. Weak: no .vue compile, 3rd-party cache, scale/team.
CLI/Vite: Single File Components, env, code-split, production dist/. Scalable.
Examiner 'which + why' — jo use kiya wahi justify, doosra naam rato mat.
Example
<!-- CDN -->
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
# Vite
npm run dev
npm run build
Viva tipCDN scalable large teams ke liye weak (no SFC compile, caching 3rd party). Examiner 'which + why' poochta hai — jo use kiya wahi justify karo.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
20
What are Vue Lifecycle Hooks?
Times asked5
Official solution
SimpleLifecycle = component ki zindagi ke stages. API call tab jab DOM ready ho — mounted.
created: instance bani, this data, DOM nahi. mounted/onMounted: page pe aa gaya — fetch, Chart.js, setInterval.
updated: data change ke baad. unmounted: cleanup (clearInterval) warna memory leak.
Dashboards onMounted isliye: canvas/API tab valid. created mein $el nahi.
App context DB. Args serializable. How many jobs: reminder, monthly, export — gino honestly.
Celery Python ka distributed task queue — HTTP request ko 10s email/CSV ke liye mat rokna.
Flow: Flask .delay() → Redis broker → Worker execute. Beat alag process hai (clock): crontab padhke due time pe queue mein daalta hai. Beat khud mail nahi bhejta; Worker haath hai.
MAD2 typical: daily reminder (Beat), monthly report (Beat), user Export CSV (button, Beat nahi). JS async/await browser event loop hai, Celery server-side process — mix mat karo.
Demo: tin terminals — redis-server, celery worker, celery beat — plus Flask. MailHog :8025 inbox. Result backend se task SUCCESS poll optional.
Project example: tasks.py + config schedule + POST export.
App context DB. Args serializable. How many jobs: reminder, monthly, export — gino honestly.
Celery Python ka distributed task queue — HTTP request ko 10s email/CSV ke liye mat rokna.
Flow: Flask .delay() → Redis broker → Worker execute. Beat alag process hai (clock): crontab padhke due time pe queue mein daalta hai. Beat khud mail nahi bhejta; Worker haath hai.
MAD2 typical: daily reminder (Beat), monthly report (Beat), user Export CSV (button, Beat nahi). JS async/await browser event loop hai, Celery server-side process — mix mat karo.
Demo: tin terminals — redis-server, celery worker, celery beat — plus Flask. MailHog :8025 inbox. Result backend se task SUCCESS poll optional.
Project example: tasks.py + config schedule + POST export.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
39
Show user-triggered tasks.
Times asked1
Official solution
SimpleButton POST .delay() 202. Poll status. Beat nahi, worker haan.
4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.
Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.
Project example: requirements.txt + package.json top 6 open karke bolo.
Viva tipHar lib ek line why: CORS alag origin, Redis tez, Celery async, Chart.js dashboard.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
49
Explain models.py.
Times asked21
Official solution
Simplemodels.py tables ki blueprint. Har class ek table, har Column ek field.
PK id, FK dusri table, relationship dono taraf, serialize() JSON (password mat).
app factory db.init. resources APIs use models.
Examiner random line: type, nullable, unique, ondelete.
Suggested flow1) Har table → class
2) PK id
3) FK
4) relationship()
5) serialize()
Example
class Booking(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
user = db.relationship('User', back_populates='bookings')
Project example: User, Role, Venue/Show/Booking (ya Drive/Application). Draw 1-M.
Viva tipExaminer random line poochhe: column type, FK, constraint. Draw 1-M / M-M on paper mentally.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
50
Explain resources.py.
Times asked1
Official solution
SimpleFlask-RESTful Resource GET POST. marshal fields. Alternative plain routes.
Repo → Settings → Collaborators → instructor added.
Commits: git log / GitHub History — regular commits better, ek dum 1 commit suspicious.
README + report mein AI usage likha hona chahiye agar use kiya.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
3
Show AI/LLM usage percentage and whether it is mentioned in the report.
Times asked1
Official solution
SimpleSach bolo. AI se boilerplate/docs theek, logic samajh ke explain karo.
'Boilerplate aur CSS ke liye AI use kiya, models/routes khud design kiye. Report mein X% mention hai.'
Line-by-line nahi explain kar paoge to examiner pakad lega. Documentation: official Flask/SQLAlchemy + course lectures.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
4
Download the project from the Viva Portal or perform checksum.
Times asked5
Official solution
SimpleChecksum file ka hash (jaise SHA256) — file change hui ya nahi verify.
Portal pe submitted ZIP ka checksum diya hota hai. Local file ka hash nikaalo, match hona chahiye.
Linux: sha256sum project.zip
Mismatch = galat file / corrupt download. Examiner integrity check karta hai ki tumhari submitted copy hi run ho rahi hai.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
5
Run the application.
Times asked8
Official solution
SimpleExaminer submitted ZIP chahta hai, local extra changes nahi.
Portal se ZIP download → extract → venv → pip install -r requirements.txt → flask run / python app.py.
Checksum maange to hash match karke dikhao. Camera/OPPE setup unke instructions.
Linux/Mac: paths, gunicorn; Windows paths alag ho to relative paths use karo.
Do browsers: admin + user parallel demo impressive lagta hai.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
6
Demonstrate the complete application.
Times asked33
Official solution
SimpleDemo script pehle se practice karo, 5-7 minute, saari roles.
Suggested flow
1) Register/login user 2) Admin login — CRUD 3) Approval/blacklist 4) Booking/apply 5) Search 6) Validation edge (slots 0, duplicate) 7) Logout
Bolte-bolte dikhao: 'Yahan overbooking rokta hoon'. Code tab kholna jab poochhein.
Crash ho to debug calmly: terminal error, typo, DB path.
Mandatory features skip mat karna — examiner list tick karta hai.
REST mapping: POST create, GET read, PUT/PATCH update, DELETE delete.
Admin panel mein yeh 4 dikhana viva demo ka common task hai.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
8
Show all user roles and their functionalities.
Times asked1
Official solution
SimpleDemo script pehle se practice karo, 5-7 minute, saari roles.
Suggested flow
1) Register/login user 2) Admin login — CRUD 3) Approval/blacklist 4) Booking/apply 5) Search 6) Validation edge (slots 0, duplicate) 7) Logout
Bolte-bolte dikhao: 'Yahan overbooking rokta hoon'. Code tab kholna jab poochhein.
Crash ho to debug calmly: terminal error, typo, DB path.
Mandatory features skip mat karna — examiner list tick karta hai.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
9
Show the Summary/Dashboard.
Times asked1
Official solution
Yeh feature demo hai. Account ready rakho, steps bol ke dikhao.
Role ke hisaab login → action (create/approve/book) → DB/UI pe result → edge case (fail when slots=0 / blacklisted).
Do browser windows: admin + user. Search/filter alag se dikhao.
Agar feature nahi hai to sach bolo aur 2 minute mein kaise add karoge (query + template) explain karo.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
10
Show registered users.
Times asked1
Official solution
Yeh feature demo hai. Account ready rakho, steps bol ke dikhao.
Role ke hisaab login → action (create/approve/book) → DB/UI pe result → edge case (fail when slots=0 / blacklisted).
Do browser windows: admin + user. Search/filter alag se dikhao.
Agar feature nahi hai to sach bolo aur 2 minute mein kaise add karoge (query + template) explain karo.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
11
Show booking flow and booked records.
Times asked1
Official solution
Yeh feature demo hai. Account ready rakho, steps bol ke dikhao.
Role ke hisaab login → action (create/approve/book) → DB/UI pe result → edge case (fail when slots=0 / blacklisted).
Do browser windows: admin + user. Search/filter alag se dikhao.
Agar feature nahi hai to sach bolo aur 2 minute mein kaise add karoge (query + template) explain karo.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
12
Explain how the estimated cost/price is calculated.
Times asked1
Official solution
Examiner code pe ungli rakh ke poochta hai — panic mat karo, 4-line formula bolo.
1) Yeh file/line kya role hai (model / route / template / config)?
2) Input kahan se aata hai (form, URL <id>, session, JSON)?
3) DB pe kya query/write?
4) Output kya (render_template / redirect / jsonify)?
Example
@app.route('/book/<int:id>', methods=['POST']) — logged-in user session se, trek id URL se, Booking add, slots--, redirect history.
Unknown line: imports (request, url_for, flash), decorators, if checks, commit — har keyword ka reason ready rakho.
SimpleDuplicate/overbook rokne ke liye DB constraint + route check dono.
Pehle query: Booking.query.filter_by(user_id=uid, trek_id=tid).first()
Agar exists: flash('Already booked'); return
Slots: if trek.available <= 0: reject else trek.available -= 1; commit
Race condition: unique(user_id, trek_id) constraint — do tabs se double click pe bhi ek hi row.
Blacklist: login pe is_blacklisted check.
Active drive limit: if Company ke paas status=open drive hai to naya mat banne do.
SimpleBlacklist flag user/company ko block karta hai — login ya features band.
user.is_blacklisted = True; db.session.commit()
Login: if user.is_blacklisted: flash('Blocked'); return
Student dashboard: blacklisted company ke drives hide — query filter join Company.is_blacklisted==False.
Demo: admin blacklist → us user se login fail.
Ek route explain karne ka template:
1) URL + methods 2) Auth/role check 3) Form/query se data 4) Business rule (duplicate, slots) 5) db.session 6) render ya redirect
Example GET+POST same route: GET form, POST save.
Data HTML se: form name= → request.form. Data HTML ko: render_template(..., items=query).
Nayi .py file: import karke use karo, warna Flask ko pata nahi. Folder rename: imports/paths/templates check.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
15
Explain models.py.
Times asked21
Official solution
Simplemodels.py har table ki class hai — columns, PK/FK, relationships. Yeh Model layer hai.
Viva mein file khol ke bolo:
1) Kaunsi classes/tables hain (User, Role-specific, Booking...)
2) Har table ka kaam 1 line
3) Relationships: 1-1 / 1-M / M-M, backref, cascade, lazy
4) Constraints: unique email, nullable, default status
Example skeleton
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(120), unique=True, nullable=False)
role = db.Column(db.String(20), default='user')
bookings = db.relationship('Booking', backref='user', cascade='all, delete-orphan')
ER diagram: rectangles entities, lines relationships, PK/FK mark. Schema = yahi structure.
Tables create: db.create_all() ya migrations. SQLite file SQL viewer se dikha sakte ho.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
16
Show where Admin is created in the code.
Times asked1
Official solution
Yeh feature demo hai. Account ready rakho, steps bol ke dikhao.
Role ke hisaab login → action (create/approve/book) → DB/UI pe result → edge case (fail when slots=0 / blacklisted).
Do browser windows: admin + user. Search/filter alag se dikhao.
Agar feature nahi hai to sach bolo aur 2 minute mein kaise add karoge (query + template) explain karo.
Ek route explain karne ka template:
1) URL + methods 2) Auth/role check 3) Form/query se data 4) Business rule (duplicate, slots) 5) db.session 6) render ya redirect
Example GET+POST same route: GET form, POST save.
Data HTML se: form name= → request.form. Data HTML ko: render_template(..., items=query).
Nayi .py file: import karke use karo, warna Flask ko pata nahi. Folder rename: imports/paths/templates check.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
18
Show where Jinja2 is used in the project.
Times asked1
Official solution
SimpleJinja2 Flask ka template engine hai. HTML ke andar Python-jaisa data print/loop/if kar sakte ho.
Bina Jinja har user ke liye alag HTML file. Jinja se ek template + data.
{{ user.name }} print, {% for x in items %} loop, {% if %} condition, {% extends %} layout.
Example routereturn render_template('dash.html', treks=treks)
dash.html: {% for t in treks %}<li>{{ t.name }}</li>{% endfor %}
HTML files templates/ folder mein isliye kyunki Flask default wahan dhundhta hai. render_template Jinja ko run karta hai.
Boolean Jinja handle karta hai: {% if user.is_admin %}.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
19
Show where MVC is implemented.
Times asked1
Official solution
SimpleMVC = Model-View-Controller. Code ko 3 hisson mein baant ta hai taaki mix na ho.
Model: data + DB. models.py — User, Trek, Booking classes.
View: jo user dekhta hai. templates/*.html + Jinja.
Controller: beech ka logic. routes / app.py — request lo, model se data, view ko do.
Example flow (register):
Browser form POST → Controller register() → User model save → redirect → View dashboard.html
Draw: Browser → Controller → Model → DB, phir Controller → View → Browser.
ORM na ho to bhi MVC ho sakta hai — Model raw SQL functions ho sakte hain. Structure matter karta hai, library nahi.
MVP/MVVM doosri architectures hain; MAD1 mein MVC expected hai.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
20
Which database have you used?
Times asked3
Official solution
SimpleSQLite file-based chhota DB, MySQL/Postgres server-based production DB.
SQLite fayde: zero setup, ek .db file, MAD1/dev ke liye perfect, portable.
Simplemodels.py har table ki class hai — columns, PK/FK, relationships. Yeh Model layer hai.
Viva mein file khol ke bolo:
1) Kaunsi classes/tables hain (User, Role-specific, Booking...)
2) Har table ka kaam 1 line
3) Relationships: 1-1 / 1-M / M-M, backref, cascade, lazy
4) Constraints: unique email, nullable, default status
Example skeleton
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(120), unique=True, nullable=False)
role = db.Column(db.String(20), default='user')
bookings = db.relationship('Booking', backref='user', cascade='all, delete-orphan')
ER diagram: rectangles entities, lines relationships, PK/FK mark. Schema = yahi structure.
Tables create: db.create_all() ya migrations. SQLite file SQL viewer se dikha sakte ho.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
22
Explain the database models.
Times asked2
Official solution
Simplemodels.py har table ki class hai — columns, PK/FK, relationships. Yeh Model layer hai.
Viva mein file khol ke bolo:
1) Kaunsi classes/tables hain (User, Role-specific, Booking...)
2) Har table ka kaam 1 line
3) Relationships: 1-1 / 1-M / M-M, backref, cascade, lazy
4) Constraints: unique email, nullable, default status
Example skeleton
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(120), unique=True, nullable=False)
role = db.Column(db.String(20), default='user')
bookings = db.relationship('Booking', backref='user', cascade='all, delete-orphan')
ER diagram: rectangles entities, lines relationships, PK/FK mark. Schema = yahi structure.
Tables create: db.create_all() ya migrations. SQLite file SQL viewer se dikha sakte ho.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
23
How are User and Admin differentiated?
Times asked1
Official solution
SimpleRBAC = Role-Based Access Control — permission role se (admin/staff/user), har user pe alag nahi.
user.role = 'admin'
if current_user.role != 'admin': abort(403)
Same login page, role ke hisaab dashboard. Multiple roles: roles table Many-to-Many, ya comma field (behtar normalized table).
Unapproved staff: is_approved flag, login pe check.
Flask-Security/UserMixin is_authenticated, is_active, get_id dete hain.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
24
What is ORM?
Times asked39
Official solution
SimpleORM = Object Relational Mapping. Database tables ko Python classes/objects se map karta hai, raw SQL kam likhni padti hai.
Bina ORM: cursor.execute('SELECT * FROM user WHERE id=?', [5])
ORM se: User.query.get(5) ya db.session.get(User, 5)
Example model
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(120), unique=True)
FaydePython mein soch sakte ho, SQL injection se protection (parameterized), relationships easy, DB switch thoda aasan.
Nuksaancomplex queries slow/abstract, seekhne ki layer extra, kabhi raw SQL phir bhi chahiye.
MAD1: SQLAlchemy (Flask-SQLAlchemy). Tables db.create_all() ya migrations se banti hain.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
25
Which ORM have you used?
Times asked3
Official solution
SimpleORM = Object Relational Mapping. Database tables ko Python classes/objects se map karta hai, raw SQL kam likhni padti hai.
Bina ORM: cursor.execute('SELECT * FROM user WHERE id=?', [5])
ORM se: User.query.get(5) ya db.session.get(User, 5)
Example model
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(120), unique=True)
FaydePython mein soch sakte ho, SQL injection se protection (parameterized), relationships easy, DB switch thoda aasan.
Nuksaancomplex queries slow/abstract, seekhne ki layer extra, kabhi raw SQL phir bhi chahiye.
MAD1: SQLAlchemy (Flask-SQLAlchemy). Tables db.create_all() ya migrations se banti hain.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
26
Why is ORM used?
Times asked2
Official solution
SimpleORM = Object Relational Mapping. Database tables ko Python classes/objects se map karta hai, raw SQL kam likhni padti hai.
Bina ORM: cursor.execute('SELECT * FROM user WHERE id=?', [5])
ORM se: User.query.get(5) ya db.session.get(User, 5)
Example model
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(120), unique=True)
FaydePython mein soch sakte ho, SQL injection se protection (parameterized), relationships easy, DB switch thoda aasan.
Nuksaancomplex queries slow/abstract, seekhne ki layer extra, kabhi raw SQL phir bhi chahiye.
MAD1: SQLAlchemy (Flask-SQLAlchemy). Tables db.create_all() ya migrations se banti hain.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
27
What is Cascade?
Times asked4
Official solution
SimpleCascade parent ke saath child pe automatic action (generally delete).
Company delete → uski drives bhi delete, warna orphan rows / FK error.
SQLAlchemy: db.relationship('Drive', cascade='all, delete-orphan', backref='company')
SQL: ForeignKey(..., ondelete='CASCADE')
Cascade sirf delete nahi: save-update, merge, refresh-expire, expunge, delete-orphan.
Cascade Update: parent PK change to child FK update (rare, PK mat badlo).
Parent delete jab children active hon: constraint error, ya cascade se children gayab, ya pehle children handle karo — design choice examiner poochta hai.
CSS cascading alag topic hai (styles inherit/override).
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
28
Can Cascade be used for operations other than Delete?
Times asked1
Official solution
SimpleCascade parent ke saath child pe automatic action (generally delete).
Company delete → uski drives bhi delete, warna orphan rows / FK error.
SQLAlchemy: db.relationship('Drive', cascade='all, delete-orphan', backref='company')
SQL: ForeignKey(..., ondelete='CASCADE')
Cascade sirf delete nahi: save-update, merge, refresh-expire, expunge, delete-orphan.
Cascade Update: parent PK change to child FK update (rare, PK mat badlo).
Parent delete jab children active hon: constraint error, ya cascade se children gayab, ya pehle children handle karo — design choice examiner poochta hai.
CSS cascading alag topic hai (styles inherit/override).
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
29
Is your database normalized?
Times asked3
Official solution
SimpleNormalization data ko split karke redundancy aur update-anomalies kam karti hai.
1NF: atomic values, repeating groups nahi (comma-separated skills mat rakho).
2NF: 1NF + non-key columns poori PK pe depend (composite keys pe).
3NF: 2NF + non-key columns ek doosre pe depend na hon (city→state alag table).
Examplehar booking mein user ka poora address copy vs user_id se User table.
MAD1 project generally 3NF ke kareeb. Higher NF (BCNF) theoretically, practical apps denormalize speed ke liye (cached counts).
Leaderboard: alag table better agar history/rank chahiye; sirf count hai to query se bhi ho sakta hai.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
30
Explain the Normal Forms (1NF, 2NF, 3NF, etc.).
Times asked1
Official solution
SimpleNormalization data ko split karke redundancy aur update-anomalies kam karti hai.
1NF: atomic values, repeating groups nahi (comma-separated skills mat rakho).
2NF: 1NF + non-key columns poori PK pe depend (composite keys pe).
3NF: 2NF + non-key columns ek doosre pe depend na hon (city→state alag table).
Examplehar booking mein user ka poora address copy vs user_id se User table.
MAD1 project generally 3NF ke kareeb. Higher NF (BCNF) theoretically, practical apps denormalize speed ke liye (cached counts).
Leaderboard: alag table better agar history/rank chahiye; sirf count hai to query se bhi ho sakta hai.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
31
What is app.config["SECRET_KEY"]? Why is it required?
Times asked1
Official solution
SimpleSECRET_KEY Flask ka secret jisse session cookies sign/encrypt hoti hain.
Iske bina session/flash unreliable ya insecure. Key leak = attacker session forge kar sakta hai.
Hardcode mat karo production mein — .env / environment variable. Flash messages bhi session use karti hain, isliye SECRET_KEY se related hain.
Hataane pe session kaam nahi / warning. Change karne pe purane sessions invalid.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
32
What happens if SECRET_KEY is not defined?
Times asked1
Official solution
SimpleSECRET_KEY Flask ka secret jisse session cookies sign/encrypt hoti hain.
Iske bina session/flash unreliable ya insecure. Key leak = attacker session forge kar sakta hai.
Hardcode mat karo production mein — .env / environment variable. Flash messages bhi session use karti hain, isliye SECRET_KEY se related hain.
Hataane pe session kaam nahi / warning. Change karne pe purane sessions invalid.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
33
What is app.app_context().push()? Why is it used?
Times asked2
Official solution
SimpleApplication context app-level data (config, db), Request context ek HTTP request (request, session).
Request ke andar Flask khud context push karta hai. Scripts/shell mein db query ke liye:
with app.app_context():
User.query.all()
app.app_context().push() same, lekin with better (cleanup).
current_app proxy current Flask app ki taraf. Factory pattern mein import app cycle avoid.
Request context ke bahar request.form error dega.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
34
What is app = Flask(__name__)?
Times asked1
Official solution
Simpleapp = Flask(__name__) app banata hai; if __name__ == '__main__' tabhi server start jab file directly run ho.
app = Flask(__name__)
if __name__ == '__main__':
app.run(debug=True, port=5000)
__name__ module ka naam. Direct run pe '__main__', import pe filename. Import karoge to server auto-start nahi — tests/blueprints ke liye zaroori.
debug=True: auto-reload + debugger. Production mein band rakho (security).
Port: app.run(port=8000) ya flask run --port 8000. Default 5000. Haan, change ho sakta hai.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
35
What is MVC?
Times asked8
Official solution
SimpleMVC = Model-View-Controller. Code ko 3 hisson mein baant ta hai taaki mix na ho.
Model: data + DB. models.py — User, Trek, Booking classes.
View: jo user dekhta hai. templates/*.html + Jinja.
Controller: beech ka logic. routes / app.py — request lo, model se data, view ko do.
Example flow (register):
Browser form POST → Controller register() → User model save → redirect → View dashboard.html
Draw: Browser → Controller → Model → DB, phir Controller → View → Browser.
ORM na ho to bhi MVC ho sakta hai — Model raw SQL functions ho sakte hain. Structure matter karta hai, library nahi.
MVP/MVVM doosri architectures hain; MAD1 mein MVC expected hai.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
36
Why do we use __name__?
Times asked1
Official solution
Simpleapp = Flask(__name__) app banata hai; if __name__ == '__main__' tabhi server start jab file directly run ho.
app = Flask(__name__)
if __name__ == '__main__':
app.run(debug=True, port=5000)
__name__ module ka naam. Direct run pe '__main__', import pe filename. Import karoge to server auto-start nahi — tests/blueprints ke liye zaroori.
debug=True: auto-reload + debugger. Production mein band rakho (security).
Port: app.run(port=8000) ya flask run --port 8000. Default 5000. Haan, change ho sakta hai.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
37
What is REST?
Times asked3
Official solution
SimpleAPI = Application Programming Interface — do systems predefined rules se baat karti hain. REST API HTTP + JSON use karti hai.
Controller/route HTML bhi return kar sakta hai. REST API generally JSON return karti hai, frontend alag ho (Vue/Postman).
Example
@app.route('/api/users/<int:id>')
def get_user(id):
u = User.query.get_or_404(id)
return jsonify(id=u.id, name=u.name)
MAD1 HTML apps mein 'API' kabhi-kabhi routes ko hi keh dete hain. Agar Vue nahi to bolo: server-rendered Flask, JSON APIs optional.
Boolean return: technically jsonify(True) ho sakta hai, lekin meaningful JSON object better. Flask view None return kare to error.
Test: Postman se GET/POST.
Parsing: request.get_json() body se, request.args query se.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
38
What are REST principles?
Times asked1
Official solution
Definition style question: 1 line simple Hinglish + project example + mini code.
Template'X ka kaam Y hai. Mere project mein Z jagah use hua.'
Example'Session login state rakhta hai. session[user_id]=u.id login pe, logout pe session.clear().'
Agar topic Vue/Celery/Redis ho aur project mein nahi hai to sach bolo, theory example do.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
39
What is an API?
Times asked8
Official solution
SimpleAPI = Application Programming Interface — do systems predefined rules se baat karti hain. REST API HTTP + JSON use karti hai.
Controller/route HTML bhi return kar sakta hai. REST API generally JSON return karti hai, frontend alag ho (Vue/Postman).
Example
@app.route('/api/users/<int:id>')
def get_user(id):
u = User.query.get_or_404(id)
return jsonify(id=u.id, name=u.name)
MAD1 HTML apps mein 'API' kabhi-kabhi routes ko hi keh dete hain. Agar Vue nahi to bolo: server-rendered Flask, JSON APIs optional.
Boolean return: technically jsonify(True) ho sakta hai, lekin meaningful JSON object better. Flask view None return kare to error.
Test: Postman se GET/POST.
Parsing: request.get_json() body se, request.args query se.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
40
Have you implemented REST APIs?
Times asked1
Official solution
SimpleAPI = Application Programming Interface — do systems predefined rules se baat karti hain. REST API HTTP + JSON use karti hai.
Controller/route HTML bhi return kar sakta hai. REST API generally JSON return karti hai, frontend alag ho (Vue/Postman).
Example
@app.route('/api/users/<int:id>')
def get_user(id):
u = User.query.get_or_404(id)
return jsonify(id=u.id, name=u.name)
MAD1 HTML apps mein 'API' kabhi-kabhi routes ko hi keh dete hain. Agar Vue nahi to bolo: server-rendered Flask, JSON APIs optional.
Boolean return: technically jsonify(True) ho sakta hai, lekin meaningful JSON object better. Flask view None return kare to error.
Test: Postman se GET/POST.
Parsing: request.get_json() body se, request.args query se.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
41
Explain HTTP methods.
Times asked3
Official solution
SimpleHTTP methods batate hain request kya karna chahti hai. Common: GET POST PUT PATCH DELETE.
GETread/fetch. Safe, URL se. Page kholna, search.
POSTcreate/submit. Form, login.
PUTpoora replace/update. Idempotent.
PATCHpartial update.
DELETEhataana.
HEAD: sirf headers. OPTIONS: CORS preflight.
Flask: @app.route('/x', methods=['GET','POST'])
Agar methods na likho to default sirf GET.
HTML form native sirf GET/POST. PUT/DELETE JS/fetch ya hidden _method se.
GET se data fetch ho sakta hai, create nahi karna chahiye. POST se theoretically fetch ho sakta hai lekin cache/semantics galat.
DELETE fetch ke liye nahi. GET POST ka kaam officially nahi karta — side effects GET pe mat rakho.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
42
Can GET be used to send/fetch data?
Times asked1
Official solution
SimpleGET data mangta hai (read), POST data bhejta hai (create/submit).
GETURL mein dikhta hai, bookmark ho sakta hai, browser back/refresh safe hai, data URL query mein jaata hai. Search, page open, login form dikhana.
POSTbody mein data jaata hai, URL mein password nahi dikhta, refresh pe dubara submit ho sakta hai. Login, register, form save.
Example
# page dikhana
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'GET':
return render_template('login.html')
# POST: form submit
email = request.form.get('email')
...
GET se theoretically data bhej sakte ho (?q=flask), lekin create/update ke liye nahi use karna — data log/history mein save ho jaata hai, length limit hoti hai.
HTML form default GET hota hai; method='POST' likhna zaroori hai login/register pe.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
43
Can POST be used to fetch data?
Times asked1
Official solution
SimpleGET data mangta hai (read), POST data bhejta hai (create/submit).
GETURL mein dikhta hai, bookmark ho sakta hai, browser back/refresh safe hai, data URL query mein jaata hai. Search, page open, login form dikhana.
POSTbody mein data jaata hai, URL mein password nahi dikhta, refresh pe dubara submit ho sakta hai. Login, register, form save.
Example
# page dikhana
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'GET':
return render_template('login.html')
# POST: form submit
email = request.form.get('email')
...
GET se theoretically data bhej sakte ho (?q=flask), lekin create/update ke liye nahi use karna — data log/history mein save ho jaata hai, length limit hoti hai.
HTML form default GET hota hai; method='POST' likhna zaroori hai login/register pe.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
44
Can DELETE be used to fetch data?
Times asked1
Official solution
SimpleHTTP methods batate hain request kya karna chahti hai. Common: GET POST PUT PATCH DELETE.
GETread/fetch. Safe, URL se. Page kholna, search.
POSTcreate/submit. Form, login.
PUTpoora replace/update. Idempotent.
PATCHpartial update.
DELETEhataana.
HEAD: sirf headers. OPTIONS: CORS preflight.
Flask: @app.route('/x', methods=['GET','POST'])
Agar methods na likho to default sirf GET.
HTML form native sirf GET/POST. PUT/DELETE JS/fetch ya hidden _method se.
GET se data fetch ho sakta hai, create nahi karna chahiye. POST se theoretically fetch ho sakta hai lekin cache/semantics galat.
DELETE fetch ke liye nahi. GET POST ka kaam officially nahi karta — side effects GET pe mat rakho.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
45
Is HTTP stateless or stateful? What is state?
Times asked1
Official solution
SimpleHTTP stateless hai — har request independent, server previous request yaad nahi rakhta.
Isliye login ke baad bhi har request pe kaun ho yeh prove karna padta hai: cookie/session/JWT.
State = yaad rakhna (user_id, cart). HTTP khud nahi rakhta; Flask session iske upar layer hai.
Fayda: scale aasan, koi bhi server next request handle kar sake (sticky session ke bina, token use karke).
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
46
What frameworks/technologies have you used?
Times asked1
Official solution
Definition style question: 1 line simple Hinglish + project example + mini code.
Template'X ka kaam Y hai. Mere project mein Z jagah use hua.'
Example'Session login state rakhta hai. session[user_id]=u.id login pe, logout pe session.clear().'
Agar topic Vue/Celery/Redis ho aur project mein nahi hai to sach bolo, theory example do.
Examplebrowser HTML dikhata hai, Flask business logic (booking, auth), DB data store.
Fayda: DB expose nahi, logic central, scale alag-alag tiers pe kar sakte ho.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
49
What is Jinja2?
Times asked3
Official solution
SimpleJinja2 Flask ka template engine hai. HTML ke andar Python-jaisa data print/loop/if kar sakte ho.
Bina Jinja har user ke liye alag HTML file. Jinja se ek template + data.
{{ user.name }} print, {% for x in items %} loop, {% if %} condition, {% extends %} layout.
Example routereturn render_template('dash.html', treks=treks)
dash.html: {% for t in treks %}<li>{{ t.name }}</li>{% endfor %}
HTML files templates/ folder mein isliye kyunki Flask default wahan dhundhta hai. render_template Jinja ko run karta hai.
Boolean Jinja handle karta hai: {% if user.is_admin %}.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
50
Why did you use Jinja2?
Times asked2
Official solution
SimpleJinja2 Flask ka template engine hai. HTML ke andar Python-jaisa data print/loop/if kar sakte ho.
Bina Jinja har user ke liye alag HTML file. Jinja se ek template + data.
{{ user.name }} print, {% for x in items %} loop, {% if %} condition, {% extends %} layout.
Example routereturn render_template('dash.html', treks=treks)
dash.html: {% for t in treks %}<li>{{ t.name }}</li>{% endfor %}
HTML files templates/ folder mein isliye kyunki Flask default wahan dhundhta hai. render_template Jinja ko run karta hai.
Boolean Jinja handle karta hai: {% if user.is_admin %}.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
51
Explain an Anchor (<a>) tag with GET/POST behavior.
Times asked1
Official solution
SimpleGET data mangta hai (read), POST data bhejta hai (create/submit).
GETURL mein dikhta hai, bookmark ho sakta hai, browser back/refresh safe hai, data URL query mein jaata hai. Search, page open, login form dikhana.
POSTbody mein data jaata hai, URL mein password nahi dikhta, refresh pe dubara submit ho sakta hai. Login, register, form save.
Example
# page dikhana
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'GET':
return render_template('login.html')
# POST: form submit
email = request.form.get('email')
...
GET se theoretically data bhej sakte ho (?q=flask), lekin create/update ke liye nahi use karna — data log/history mein save ho jaata hai, length limit hoti hai.
HTML form default GET hota hai; method='POST' likhna zaroori hai login/register pe.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
52
Difference between # and . selectors in CSS.
Times asked1
Official solution
Simple# ID selector hai (ek unique element), . class selector hai (kai elements).
ID page mein unique hona chahiye. Class reuse hoti hai — saare buttons .btn.
CSS specificity: ID > class > element. Isliye # wala style . wale ko haarata hai.
HTML: id JavaScript/getElementById ke liye, class styling groups ke liye.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
53
What is the datatype of an SQLAlchemy query result? (e.g., x = Model.query.filter_by(...))
Times asked1
Official solution
SimpleSQLAlchemy Python ka sabse popular ORM hai. MAD1 mein Flask-SQLAlchemy wrapper use hota hai.
db = SQLAlchemy(app)
class Book(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(80), nullable=False)
Operations: db.session.add(obj), .commit(), .delete(obj), Model.query.all(), .filter_by(), .get_or_404(id).
db.Model ek class hai (function nahi). db object engine + session + metadata hold karta hai.
SQLALCHEMY_TRACK_MODIFICATIONS=False extra signals band karta hai, performance warning hatati hai.
Simplenullable=False matlab column khali nahi. default seedha value. Query objects lazy hote hain jab tak .all/.first.
age = db.Column(db.Integer, nullable=True) # optional
status = db.Column(db.String(20), default='pending')
__tablename__ = 'users' # table name override
User.query.all() → list of User. .first() → User ya None. .get_or_404(id) → User ya 404.
filter_by(...) Query object return karta hai, execute .all() pe. Type: BaseQuery / list after all().
db.func.count(User.id) aggregate. Empty table render: loop 0 baar, crash nahi agar code sahi.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
54
Sort table data alphabetically.
Times asked2
Official solution
Yeh list filter/sort/display task hai. Query badlo, template same rakh sakte ho.
1) Data chahiye to models.py mein column/relationship + DB update (ALTER / migrate / create_all).
2) Route: GET pe form/page, POST pe request.form se save, flash + redirect.
3) Template: input name=... Jinja se {{ obj.field }} display.
4) Rule: duplicate, range, role check backend pe.
Create a page to add two numbers and display their sum.
Times asked1
Official solution
SimpleURL parameters se numbers lo, calculate karke return/render.
@app.route('/sum/<int:a>/<int:b>')
def add(a, b):
return f'Hello, sum is {a+b}'
Product: a*b. Square: n*n. Even/odd: 'even' if n%2==0 else 'odd'.
Form se: request.form.get('a', type=int). Background color even/odd:
color = 'green' if n%2==0 else 'red'
return render_template('page.html', color=color)
CSS: body { background: {{ color }}; }
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
61
Validate password length on the frontend.
Times asked1
Official solution
SimpleValidation galat data rok ti hai — frontend turant, backend must.
pwd = request.form.get('password','')
if len(pwd) < 8 or not re.search(r'[A-Z]', pwd) or not re.search(r'[0-9]', pwd):
flash('Weak password')
Haan, regex se password rules ho sakte hain.
Age 18-99, date >= today, slots <= 30 and > 0, confirm password == password, email '@' .
Duplicate username: User.query.filter_by(email=email).first() or unique=True catch IntegrityError.
Past date: if date < date.today(): reject. Negative slots: if slots < 0: reject; book pe available > 0 check.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
62
Add backend validation requiring a special character in the password.
Times asked1
Official solution
SimpleValidation galat data rok ti hai — frontend turant, backend must.
pwd = request.form.get('password','')
if len(pwd) < 8 or not re.search(r'[A-Z]', pwd) or not re.search(r'[0-9]', pwd):
flash('Weak password')
Haan, regex se password rules ho sakte hain.
Age 18-99, date >= today, slots <= 30 and > 0, confirm password == password, email '@' .
Duplicate username: User.query.filter_by(email=email).first() or unique=True catch IntegrityError.
Past date: if date < date.today(): reject. Negative slots: if slots < 0: reject; book pe available > 0 check.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
63
Check whether an email exists in the database and display the result.
Times asked1
Official solution
Yeh list filter/sort/display task hai. Query badlo, template same rakh sakte ho.
Jinja: {% for r in rows %}<tr><td>{{ r.name|upper }}</td></tr>{% endfor %}
{{ rows|length }} count dikhane ke liye.
Alphabet sort: order_by(Model.name). Status filter: filter_by(status='pending').
Assigned staff column: relationship se {{ booking.staff.name }}.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
64
Difference between DELETE and TRUNCATE.
Times asked1
Official solution
SimpleDELETE rows hataata hai, TRUNCATE poori table empty karta hai, DROP table hi mita deta hai.
DELETE FROM user WHERE id=5; — specific rows, WHERE chal sakta hai, trigger/rollback possible.
TRUNCATE TABLE user; — saari rows, tez, identity reset, WHERE nahi.
DROP TABLE user; — table structure bhi gayi.
ORM: db.session.delete(obj) = DELETE. Table drop rarely Flask se.