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 ?
extend the deadline to apply for the drive created
Times asked2
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 caching , daily reminders ,monthly report
Times asked2
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
create an api in backend to fetch time using time.time() and create a new component in the frontend to show the time of the server and aslo create a button to refresh the time
Gave a mini task: Add a new feature to your existing Vue app that: i) Fetches a message from /api/hello using fetch or axios. ii) Displays the message on the page. iii) Includes a button to fetch the message again.
Times asked2
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
Create a new api route that'll return "hello world"
Times asked2
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
What are higher order function?
Times asked2
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
Advice: Proctor was very empathetic, saying as I was very nervous and jumbled up quite a bit. Be thorough with your practical demonstration, he might even ask you to be quick with it. He may ask you practical questions only when the task based demonstration is not upto the mark.
- First he asked me to do the checksum, but then I downloaded it from the portal, so he said that it's not necessary if downloaded from the portal.
Times asked2
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
2
- Then I ran the backend and the frontend with the celery runner and redis server.
Times asked2
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
- Then I showed him some basic functionality. He asked me to show basic functionality like creating, editing and deleting a lot and showcasing him that if a user has booked a slot, then he cannot delete the lot. He notably didn't ask me anything about the search functionality. He asked me about vehicle information functionality which I hadn't implemented (he didn't mind). He also asked me to showcase the export CSV function and the list UI.
Times asked2
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
- He asked me to show the caching functionality without showing him the code. I said I wasn't sure on how to and I showed it using the Redis CLI keys function. Then he asked me to change the caching timer and showcase the caching expiring (I did by editing the code to set the timer for 30 seconds and then showing him the cached key disappearing).
Times asked2
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
- He asked me some questions regarding task gating effect, which I wasn't able to answer initially, then he gave me a hint by telling me it's related to something like DELETE request, And then I was able to figure it out by showcasing him that by delete functionality he did not use cascading effect. He then asked me can the cascading effect be used for something other than deletes and I said that yes, it can be used for updates.
Times asked2
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
- Lastly, I asked him whether I did well and he said yes.
Now demonstrate all the crud . ( He will check all of it)
Times asked2
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 celery code
Times asked2
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
Show daily reminder (email)
Times asked2
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
Show monthly reminder (email)
Times asked1
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
What does fetch return .
Times asked2
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
7
What are asynchronous functions and how they actually work compared to non async functions.
Times asked2
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
What would happen if one uses async in non async function.
Times asked2
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
His questions will be from the code you used (theory questions ) so make sure you understand what you built and why .
Times asked2
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
No code changes for me because it got late .
Times asked2
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
Advice: Proctor is chill. Voice was very calm and also gives you time to think. You can answer in your own words as you like. But questions will not be straight forward. You need to know the concepts deeply enough to answer.
(I asked whether i can download it from the portal he said yes, just download in front of him)
Times asked2
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
-Are your codes CLI or CDN?
Times asked2
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
-CRUD operations of all the components
Times asked2
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
-Search functionality and all other features of the application
Times asked2
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
7
-Vue life cycles
Times asked2
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
-Asked to show the auth_token that is generated
Times asked2
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
-Which code is responsible for the auth_token being generated.
Times asked2
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
-What async is returning?
Times asked2
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
-What is a promis? Stages of promis.
Times asked2
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
-If I delete a subject what happens to the chapters inside it? And how is it happening?
Times asked2
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
13
-Show how the caching works in your code
Times asked2
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
14
-Where have you configured the celery part?
Times asked2
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 your models.py, resources.py
Times asked2
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
-(while in resources.py he asked) Is it necessary to use auth_required() while you are already using roles_required(), if not can we club it?
Times asked2
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
and some more
Times asked2
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
Advice: Very calm proctor, just asks too many questions, he wanted to complete it within the given time slot. TIP : don't give the wrong answers confidently, if we don't know he just wanted a "don't know" not a random answer, if so we'll have to explain that wrongly given answer 🏃♂️🏃♂️
how many tables are present in models.py what are they
Times asked1
Official solution
Simplemodels.py = har table ki class: columns, PK/FK, relationships. Yeh Model layer hai.
Suggested flow1) Classes list karo
2) Har table ka kaam 1 line
3) Relationships (1-M / M-M)
4) Constraints (unique, nullable)
Example
class Lot(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
spots = db.relationship('Spot', backref='lot', lazy=True)
what is restful, restful api, what are the features
Times asked1
Official solution
SimpleREST: resources + HTTP verbs. GET read, POST create, PUT/PATCH update, DELETE remove. Stateless ideal.
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
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
Same headers, encrypted channel. MITM se password/token bachao. Local viva HTTP OK.
HTTP/1.1 version keep-alive. TCP neeche, TLS security layer, SMTP mail alag.
Browser + API ke beech extra darwaze: CORS origin allow, HTTPS encrypt transit, CSRF cookie-auto-send attack, XSS HTML inject, SQL injection raw query.
MAD2 SPA: Vue :8080 Flask :5000 → Flask-CORS. JWT localStorage XSS se chori ho sakta — v-html user input pe avoid. Password Network tab localhost pe dikhega; prod HTTPS, response mein password echo nahi.
401 unauthenticated, 403 unauthorized, 400 validation. Hash one-way — SHA decrypt nahi hota. Secret key .env, GitHub pe nahi.
Project example: Dev localhost http. Production https:// + cert.
Simplemodels.py = har table ki class: columns, PK/FK, relationships. Yeh Model layer hai.
Suggested flow1) Classes list karo
2) Har table ka kaam 1 line
3) Relationships (1-M / M-M)
4) Constraints (unique, nullable)
Example
class Lot(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
spots = db.relationship('Spot', backref='lot', lazy=True)
Same headers, encrypted channel. MITM se password/token bachao. Local viva HTTP OK.
HTTP/1.1 version keep-alive. TCP neeche, TLS security layer, SMTP mail alag.
Browser + API ke beech extra darwaze: CORS origin allow, HTTPS encrypt transit, CSRF cookie-auto-send attack, XSS HTML inject, SQL injection raw query.
MAD2 SPA: Vue :8080 Flask :5000 → Flask-CORS. JWT localStorage XSS se chori ho sakta — v-html user input pe avoid. Password Network tab localhost pe dikhega; prod HTTPS, response mein password echo nahi.
401 unauthenticated, 403 unauthorized, 400 validation. Hash one-way — SHA decrypt nahi hota. Secret key .env, GitHub pe nahi.
Project example: Dev localhost http. Production https:// + cert.
SimpleExaminer portal wala submitted ZIP chahta hai. Local extra changes mat dikhana.
Suggested flow1) Portal ZIP download
2) Extract
3) venv + pip install -r requirements.txt
4) flask run / python app.py
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
2
No of tables in models.py and what are they?
Times asked1
Official solution
Simplemodels.py = har table ki class: columns, PK/FK, relationships. Yeh Model layer hai.
Suggested flow1) Classes list karo
2) Har table ka kaam 1 line
3) Relationships (1-M / M-M)
4) Constraints (unique, nullable)
Example
class Lot(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
spots = db.relationship('Spot', backref='lot', lazy=True)
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
All purposes of using jinja
Times asked1
Official solution
SimpleJinja2 Flask ka template engine — HTML ke andar {{ }} variables, {% %} logic.
Example
{% for lot in lots %}
<li>{{ lot.name }} — {{ lot.spots }}</li>
{% else %}
<p>No lots</p>
{% endfor %}
if not email or '@' not in email:
flash('Invalid email')
return redirect(request.url)
if User.query.filter_by(email=email).first():
flash('Email taken')
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
Advice: Level 1 is easy if base is strong
Know what part of your code does what
i explained my portal to which he was listening carefully and was silent to an extent where i thought if my meet disconnected.
Times asked1
Official solution
SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest 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
2
then he asked me to edit the drive in the company dashboard
Times asked1
Official solution
SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest 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
3
to blacklist student from the admin dashboard
Times asked1
Official solution
SimpleBlacklist/block: user.status='blocked' check login/booking pe. Temporary flag vs hard delete permanent.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
Advice: 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.
Flask loosely MVC follow karta hai — routes controllers, templates views, models.py models.
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
-show your models, how many are there
Times asked1
Official solution
Simplemodels.py = har table ki class: columns, PK/FK, relationships. Yeh Model layer hai.
Suggested flow1) Classes list karo
2) Har table ka kaam 1 line
3) Relationships (1-M / M-M)
4) Constraints (unique, nullable)
Example
class Lot(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
spots = db.relationship('Spot', backref='lot', lazy=True)
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
- 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
if not email or '@' not in email:
flash('Invalid email')
return redirect(request.url)
if User.query.filter_by(email=email).first():
flash('Email taken')
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
backend validation: ensure there is a special character in the password and show error msg if not present
if not email or '@' not in email:
flash('Invalid email')
return redirect(request.url)
if User.query.filter_by(email=email).first():
flash('Email taken')
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
Advice: learn your project well and be ready to explain your flow
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)
Times asked1
Official solution
SimpleLive UI change: relevant CSS/HTML template kholo — color, margin, flex, bootstrap class. Save + hard refresh.
Example
/* button red */
.btn-primary { background: red; }
/* center navbar item */
.navbar { justify-content: center; }
Viva tipDevTools se pehle try, phir file mein permanent change.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
Advice: Friendly guy, be confident and answer, go through the questions in the sheet
SimpleORM = Object Relational Mapping. Tables → Python classes. Raw SQL kam likhte ho.
Example
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(120), unique=True)
User.query.get(5) # SELECT ... WHERE id=5
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
Advice: 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.
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.
Times asked1
Official solution
SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest 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
Advice: 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.
Simplemodels.py = har table ki class: columns, PK/FK, relationships. Yeh Model layer hai.
Suggested flow1) Classes list karo
2) Har table ka kaam 1 line
3) Relationships (1-M / M-M)
4) Constraints (unique, nullable)
Example
class Lot(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
spots = db.relationship('Spot', backref='lot', lazy=True)
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
2
Basic crude operations demonstration (just implementation of our project)
Times asked1
Official solution
SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.
Suggested flow1) Register/login user
2) Admin login — CRUD
3) Approval/blacklist
4) Booking/apply + edge case
5) Search
6) Logout
Advice: 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
Flask loosely MVC follow karta hai — routes controllers, templates views, models.py models.
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
How much percentage did you used AI/LLM?
Times asked1
Official solution
SimpleHonest raho: kitna AI help. Report mein mention policy follow. Code samajh ke explain karo — AI % se zyada understanding matter.
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
What kind of help did you took from the AI/LLM?
Times asked1
Official solution
SimpleHonest raho: kitna AI help. Report mein mention policy follow. Code samajh ke explain karo — AI % se zyada understanding matter.
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
show the model.py and the jinja templating used?
Times asked1
Official solution
SimpleJinja2 Flask ka template engine — HTML ke andar {{ }} variables, {% %} logic.
Example
{% for lot in lots %}
<li>{{ lot.name }} — {{ lot.spots }}</li>
{% else %}
<p>No lots</p>
{% endfor %}
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
Advice: Proctor is chill guy, you should have complete understanding of your project and should be able to demonstrate the project completely. Be confident
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
Times asked1
Official solution
Simpleredirect dusre URL pe bhejta hai. flash one-time message session mein rakh ke next page pe dikhata hai.
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
Times asked1
Official solution
SimpleExaminer portal wala submitted ZIP chahta hai. Local extra changes mat dikhana.
Suggested flow1) Portal ZIP download
2) Extract
3) venv + pip install -r requirements.txt
4) flask run / python app.py
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
2
Demo of my project
Times asked1
Official solution
SimpleProject overview: problem → roles → main entities → key flows (register, book, admin approve).
Viva tip1 minute elevator pitch ready rakho, phir demo.
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
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
Times asked1
Official solution
SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.
Suggested flow1) Register/login user
2) Admin login — CRUD
3) Approval/blacklist
4) Booking/apply + edge case
5) Search
6) Logout
could you edit the code and make the column instead of rows.
Times asked1
Official solution
SimpleLive UI change: relevant CSS/HTML template kholo — color, margin, flex, bootstrap class. Save + hard refresh.
Example
/* button red */
.btn-primary { background: red; }
/* center navbar item */
.navbar { justify-content: center; }
Viva tipDevTools se pehle try, phir file mein permanent change.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
Advice: 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.
SimpleLogin flow pehle poochta hai "tu kaun hai?", token milne ke baad har API pe wohi proof dikhate ho.
Authentication step: Vue form email + password JSON POST karta hai. Flask user dhoondhta hai, check_password_hash se prove karta hai ki tum genuine ho. Galat 401. Sahi pe JWT + role milta hai — yeh session/token hai.
Vue localStorage (ya cookie) mein token rakhta hai, dashboard pe router.push. Aage ki har fetch header: Authorization: Bearer <token>. @jwt_required identity check (authentication). @roles_required('admin') permission check (authorization) — logged in ho, lekin allowed nahi to 403.
Validation alag cheez hai: empty email, password 8+ — form sahi bhara hai ya nahi. Woh identity prove nahi karta.
Logout = client token delete + login page. Server blacklist optional. Password response JSON mein kabhi mat bhejo.
Example
# Authentication
@app.route('/api/login', methods=['POST'])
def login():
u = User.query.filter_by(email=data['email']).first()
if not u or not check_password_hash(u.password, data['password']):
return jsonify(msg='bad'), 401
return jsonify(token=create_access_token(u.id), role=u.role)
# baad ki APIs
# Authorization: Bearer <token>
if current_user.role != 'admin':
abort(403)
Project example: Login.vue POST /api/login → token LS → interceptor. Student token se admin route = 403. Empty form = validation, galat password = 401.
Viva tipNetwork tab mein password body dikhega localhost pe — prod HTTPS. Response mein hash/password echo mat 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
4
- CRUD of Parking Lot
Times asked1
Official solution
SimpleCRUD = Create Read Update Delete. Admin pe ek resource ke 4 ops dikhao.
Suggested flow1) Concept kya hai?
2) Mere code mein kahan?
3) Example / demo
4) Edge case
Example
# related file: models.py / routes / template
# formula: request → check/auth → DB → render/redirect
Viva tipExact line yaad nahi to honestly related part dikhao. Bluff mat 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
9
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
Times asked1
Official solution
SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest 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
10
Code related
Times asked1
Official solution
SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest 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
11
- Asked to show where Jinja2 templating was used with specific lines
Times asked1
Official solution
SimpleJinja2 Flask ka template engine — HTML ke andar {{ }} variables, {% %} logic.
Example
{% for lot in lots %}
<li>{{ lot.name }} — {{ lot.spots }}</li>
{% else %}
<p>No lots</p>
{% endfor %}
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
- That's it did not ask anything else.
Times asked1
Official solution
SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest 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
13
- 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)
Advice: 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.
Viva tipFunction signature + 3-4 important lines + edge case.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
7
- Can you send data through GET ? is it recommended
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
8
- thank you, that's it from my side.
Times asked1
Official solution
SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest 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
- finished in 20 mins.
Times asked1
Official solution
SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest 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
Advice: Very nice and well-spoken proctor. Just make sure your code works, and you know basic things about your code. Be confident and polite.
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
Advice: Be calm and thorough with your project. Also have the knowledge of MAD1 Theory.
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: admin edit.
Project example: admin edit.
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
lifecycle hook
Times asked1
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.
Project example: Change schedule current time. MailHog. Export button 202.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
7
create an api in backend to fetch time using time.time() and create a new component in the frontend to show the time of the server and aslo create a button to refresh the time
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
3
Gave a mini task: Add a new feature to your existing Vue app that: i) Fetches a message from /api/hello using fetch or axios. ii) Displays the message on the page. iii) Includes a button to fetch the message again.
Times asked2
Official solution
SimpleVue = UI ka smart assistant. Data badlo, screen khud update. MAD1 Jinja har click pe naya HTML.
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: Booking qty input v-model. Seats left sirf {{ available }}.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
Advice: Proctor was very empathetic, saying as I was very nervous and jumbled up quite a bit. Be thorough with your practical demonstration, he might even ask you to be quick with it. He may ask you practical questions only when the task based demonstration is not upto the mark.
Project example: Change schedule current time. MailHog. Export button 202.
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
async await
Times asked2
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.
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
v- model
Times asked1
Official solution
Simplemodels.py = har table ki class: columns, PK/FK, relationships. Yeh Model layer hai.
Suggested flow1) Classes list karo
2) Har table ka kaam 1 line
3) Relationships (1-M / M-M)
4) Constraints (unique, nullable)
Example
class Lot(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
spots = db.relationship('Spot', backref='lot', lazy=True)
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
backend api route that display hello on frontend
Times asked2
Official solution
SimpleMAD1 frontend usually Jinja templates + HTML/CSS/Bootstrap (+ thoda JS). MAD2 pe Vue ho to clearly bolo.
Viva tipAgar possible ho to cache db=1, broker db=0 — keys mix nahi hoti.
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
- Then I showed him some basic functionality. He asked me to show basic functionality like creating, editing and deleting a lot and showcasing him that if a user has booked a slot, then he cannot delete the lot. He notably didn't ask me anything about the search functionality. He asked me about vehicle information functionality which I hadn't implemented (he didn't mind). He also asked me to showcase the export CSV function and the list UI.
Times asked2
Official solution
SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.
Suggested flow1) Register/login user
2) Admin login — CRUD
3) Approval/blacklist
4) Booking/apply + edge case
5) Search
6) Logout
- He asked me to show the caching functionality without showing him the code. I said I wasn't sure on how to and I showed it using the Redis CLI keys function. Then he asked me to change the caching timer and showcase the caching expiring (I did by editing the code to set the timer for 30 seconds and then showing him the cached key disappearing).
Times asked2
Official solution
SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.
Suggested flow1) Register/login user
2) Admin login — CRUD
3) Approval/blacklist
4) Booking/apply + edge case
5) Search
6) Logout
- He asked me some questions regarding task gating effect, which I wasn't able to answer initially, then he gave me a hint by telling me it's related to something like DELETE request, And then I was able to figure it out by showcasing him that by delete functionality he did not use cascading effect. He then asked me can the cascading effect be used for something other than deletes and I said that yes, it can be used for updates.
Times asked2
Official solution
SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.
Suggested flow1) Register/login user
2) Admin login — CRUD
3) Approval/blacklist
4) Booking/apply + edge case
5) Search
6) Logout
Project example: Change schedule current time. MailHog. Export button 202.
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
What is lifecycle hooks . What are the hooks .describe them in detail and what they do .
Times asked1
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.
SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest 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
Advice: Proctor is chill. Voice was very calm and also gives you time to think. You can answer in your own words as you like. But questions will not be straight forward. You need to know the concepts deeply enough to answer.
Viva tipAlgo HS256. Secret env var. jwt.io pe payload dikhao, secret public site pe mat paste.
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
-What security have you used?
Times asked1
Official solution
SimplePassword DB mein plain text mat rakho — hash store karo jo reverse nahi hota.
from werkzeug.security import generate_password_hash, check_password_hash
user.password = generate_password_hash(request.form['password'])
check_password_hash(user.password, form_password)
Hashing ≠ encryption. Leak pe bhi original password nahi milta (easy passwords rainbow table se — isliye salt + strong hash).
Column String(200) kyunki hash lamba hota hai. unique=True password pe mat lagao.
Baar-baar same expensive kaam (DB query, counting bookings) mat karo. Result Redis jaise store mein timeout ke saath rakh do.
Cache hit: key mil gayi, DB skip. Cache miss: DB se lao, SET karo, return karo.
Tradeoff: speed vs stale data. Admin naya venue add kare aur cache 50s ka ho to user purani list dekh sakta hai — isliye write pe invalidation zaroori hai.
Viva tipWorker + Redis bina Beat ke user-triggered chalega. Scheduled jobs ke liye Beat bhi chahiye.
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 are the frameworks you used in your project?
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.
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 your models.py, resources.py
Times asked2
Official solution
Simplemodels.py = har table ki class: columns, PK/FK, relationships. Yeh Model layer hai.
Suggested flow1) Classes list karo
2) Har table ka kaam 1 line
3) Relationships (1-M / M-M)
4) Constraints (unique, nullable)
Example
class Lot(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
spots = db.relationship('Spot', backref='lot', lazy=True)
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
-(while in resources.py he asked) Is it necessary to use auth_required() while you are already using roles_required(), if not can we club it?
Times asked2
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
20
and some more
Times asked2
Official solution
SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest 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
Advice: Very calm proctor, just asks too many questions, he wanted to complete it within the given time slot. TIP : don't give the wrong answers confidently, if we don't know he just wanted a "don't know" not a random answer, if so we'll have to explain that wrongly given answer 🏃♂️🏃♂️
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 asked4
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 asked49
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 asked9
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.