Based on 31 student review(s) and 29 tip(s) for this examiner (grouped from similar proctor IDs).
Traits
ChillFriendlyCalmProject-focusedDetail-oriented
Attitude
Generally calm and student-friendly
Questioning style
Expects you to know and possibly modify your project code
Preparation tips
• All Procter's are awesome, chill. You just need to explain your project briefly (all roles and functions)
• chill guy, just be honest and upfront about your project.
• chill. show all functionalities correctly.
• Make sure you are already logged in and have everything ready for fast viva. Proctors are overworked due to large number of student so try not to waste time in opening id or forgetting commands for project. This will save you time and anxiety
• Consider yourself lucky if u get this proctor, but sure to greet him...
• don't rush explain slowly
• You already know the generic flow of what happens after what (I'd card then Github then code then...)
He might be late in responding to you if you're asking if I shall proceed with next step (name it)
But I'd recommend you to still wait most of the times.
• Greet him , Explain with ease , take time. Overall chill and super supportive
• proctor is chill just be confident
• He's a chill kinda guy
• Proctor is very chill...you will be lucky if you get him as your proctor...Remember to ask for feedback
• proctor was good enough..try to be confident
• he is a chill guy just follow the sheet for this proctor
• Be confident, sir is very chill, he gives u much time to do what he said, so don't panic.
• He is very polite and professional. He usually asks the same basic questions, like the Jinja loop code, so be prepared for that. He doesn’t go too deep — just the fundamentals.
At the end, he said I did very well, that my project seemed good (though I know it’s not great), and he also advised me to prepare for the Level 2 Viva.
If you get this examiner as your proctor, consider yourself extremely lucky.
• The examiner is very kind and supportive. You can focus on the core functionality and also review the previously asked questions from the sheet
• he was chill, half of the time he didnt speak he spoke only to ask questions or whenever i asked him anything.
be calm.
if you dont get any thing or error take your time and u can ask him also and explain what happened.
All the best be confident in whatever u say.
• Anyways, the proctor is chill and kind one. If you stuck somewhere, he will help you as well
• Just remember syntex of flask route and jinja loop ( if and For) and some basic questions like MVC and you are good to go
• If you understand code properly or like in this sheet your proctor is already taken viva other students so go to the question ask by proctor similar question asked by proctor many time and keep patience you are done with your level 1 viva easily
• Overall he was very kind, Atleast prepare your basics and know you code.
• Chill guy very polite
• just honest with your answers and be calm , proctor is very kind
• He is a good proctor usually ask the same questions.Just go through his questions given in this sheet.
• The proctor is very chill , doesn't ask a lot of questions , you are lucky if you get this proctor
• demonstrate your code with confidence take as much as time you want
my viva happened for 20 minutes ...He is a chill guy be confident and present yourself
• Pretty Chill.Did not ask me to make modifications in my case. Be confident even if its wrong.If you are thorough with your code,viva level 1 is easy to ace.All the best!
• He is very chill gives u full space does not interrupt in between,I even came 2 mins late ,he did not even bring it up .Just be confident and answer with conviction
• Proctor is good, he will let you explain without interrupting.
Tips for this examiner: Just give your best. Don't need to hesitate. Be polite and answer the question.
Student reviews
AnonymousMAD1
Proctor is good, he will let you explain without interrupting.
Questions remembered
LEVEL 1 1)Asked to show ID 2)Asked to show git repository and asked to show that you have added the collaborator 3)You can either run checksum or download from the project submission portal
He asked to explain the project a little while running it and specifically asked to show a few functionalities Viva questions-
Explain MVC 2)Open notepad and show i) Jinja loop ii) App route with just POST method
PMAD1
He is very chill gives u full space does not interrupt in between,I even came 2 mins late ,he did not even bring it up .Just be confident and answer with conviction
Questions remembered
-Show your id card
-show your github repo and collaborator
-Download your project from the portal and set it up and demonstrate
-after the demonstration he asked
-what is cascade
-what do you understand by MVC
-Write an jinja if condition in your notepad
Then he said your viva is finished you've answered all the questions and shown ur project successfully best of luck for lvl 2
Pushkar CMAD1
Pretty Chill.Did not ask me to make modifications in my case. Be confident even if its wrong.If you are thorough with your code,viva level 1 is easy to ace.All the best!
Questions remembered
I joined meeting 10 mins before the actual viva starts.Proctor too joined early just 2 mins after I joined.
First he asks you to show your id card.
Then asks you to show GitHub project repo and show whether you have added collaborator or not.
Asks you to demonstrate your project.
He gives you an option either to do checksum or directly download from submission portal(checksum is not preferred imo given the 10 min time constraints).
I was quickly able to setup my project,so viva lasted around 20 mins.
After demo, he asked me to show models.py file.There he asked me:
1.What is back_populate
2.What do you mean by mvc architecture in context of this project
3.Last question, he asked me to write jinja for loop in notepad.
Sheet responseMAD1
demonstrate your code with confidence take as much as time you want my viva happened for 20 minutes ...He is a chill guy be confident and present yourself
Questions remembered
LEVEL 1 VIVA
1.demonstarte your application
2.what is MVC?
3.http methods
4.if code in jinja template
5.sql basic queries
Sheet responseMAD1
The proctor is very chill , doesn't ask a lot of questions , you are lucky if you get this proctor
Questions remembered
LEVEL-1
show ID
download project from portal
then he asked me to explain the project- didn't interrupt - let me finish
explain MVC
explain ORM
write a jinja for loop
Sheet responseMAD1
He is a good proctor usually ask the same questions.Just go through his questions given in this sheet.
Questions remembered
- Download code from portal
- Show GitHub and Collaborater
- Show Your Project (He doesn't interfere so waste time here)
- What is Cascade
- What is MVC
- create a button in html such that only admin can see or access this button using Jinja { if condition}.
HadezMAD1
just honest with your answers and be calm , proctor is very kind
Questions remembered
1.show id , github collaborator and download submission from the portal
2.ask me to do demo
3.ask me to explain student class in models.py
4.ask me to write if condition in jinja
5.ask me to write app.route that uses only post method
i did all that correctly and even i didnt write full route code he said its enough for me thats it for viva 1 goodluck for viva 2
SubhamMAD1
Chill guy very polite
Questions remembered
Github repo, ID card, download from portal
Demo (10 mins)
what is back_ref?
MVC
if statement in jinja
app route using POST only
PkDMAD1
Overall he was very kind, Atleast prepare your basics and know you code.
Questions remembered
1.What is MVC. 2.What is nullable in your model 3.code question - to write a query which user filter.
to write for loop of jinja 5.asked about some functions of my project .
Aman Kumar VermaMAD1
If you understand code properly or like in this sheet your proctor is already taken viva other students so go to the question ask by proctor similar question asked by proctor many time and keep patience you are done with your level 1 viva easily
Questions remembered
My viva level 1 is done today repeated questions is asked by proctor level2_127 like what is cascading write a for loop in jinja what is jinja and explain your model.py and your created dashboard
HamzaMAD1
Just remember syntex of flask route and jinja loop ( if and For) and some basic questions like MVC and you are good to go
Questions remembered
. What is MVC model
. Open blank notepad
. Write flask route for Route which accept GET and POST. ( My syntex was not write I did mistake he didn't said anything asked nest questions)
.write jinja for loop
Sheet responseMAD1
Anyways, the proctor is chill and kind one. If you stuck somewhere, he will help you as well
Questions remembered
Show Id
Show github and collaborator
Show demonstration
What is MVC?? (Asked for C in this term specially)
Write Jinja-if Code on notepad.
Write query where username is admin
ShradhaMAD1
he was chill, half of the time he didnt speak he spoke only to ask questions or whenever i asked him anything. be calm. if you dont get any thing or error take your time and u can ask him also and explain what happened. All the best be confident in whatever u say.
Questions remembered
My session was 11 30 to 12 00 I went inside the meet by 11 20 and he came by 11 25
he asked to show id
to show github collaborator
to show the demo(I explaine all functionalities, no interruption, u can use this time to waste) (at the start of the demo the website didnt open, i asked i ran the code before but no it's not he said to manually copy the link and paste it , it will run, better to explain your situation rather being confused by yourself)
he asked to show the code, asked model.py, in that he asked what is lazy(I explained lazy=true, and lazy=dynamic which i used in my app)
At last he asked what do you understand by MVC the session was over by 11 50 so it was hardly 20 to 25 mins.
Apurav KashyapMAD1
The examiner is very kind and supportive. You can focus on the core functionality and also review the previously asked questions from the sheet
Questions remembered
First, he asked me to show my ID card.
Then, he asked me to show my GitHub collaborator access.
After that, he asked me to download the project from the viva portal.
Then, he instructed me to set up and run my project. I took a little more time to set it up, so he asked me to do it faster.
After that, I demonstrated my project and explained its core functionality.
Then, he asked me to write code for a route that accepts the PUT method and also write an if condition in Jinja in Notepad.
At last, he asked me to explain MVC.
-MAD1
proctor is chill
Questions remembered
Demonstration
Authorization vs authentication
Different request methods
GET vs POST
open notepad, n write if loop in jinja
Proctor level2_127
AravindMAD1
He is very polite and professional. He usually asks the same basic questions, like the Jinja loop code, so be prepared for that. He doesn’t go too deep — just the fundamentals. At the end, he said I did very well, that my project seemed good (though I know it’s not great), and he also advised me to prepare for the Level 2 Viva. If you get this examiner as your proctor, consider yourself extremely lucky.
Questions remembered
ID card
Github to verify collaborator
Project demo
Jinja code for loop 5)Code for route with PUT and POST method
What's lazy??
DivyanshuMAD1
Be confident, sir is very chill, he gives u much time to do what he said, so don't panic.
Questions remembered
I'd,
Github collaborator.
All functionality check,
Explain each models ,
Why u use (lazy = True),
Write a for loop in jinja,
Write a route for loading a html page, taking user_id as input ,
Sheet responseMAD1
he is a chill guy just follow the sheet for this proctor
Questions remembered
show demo
what is cascade
in notepad write a jinja for loop
in notepad write a simple route that returns hello world that's it
SumaiyaMAD1
proctor was good enough..try to be confident
Questions remembered
Level 1 viva
*show id card
*show github repo collaborator
*show id card
*project demonstration
*asked http methods
*asked all core functionalities
*asked to write jinja for loop on notepad
*asked one line from code
HermioneMAD1
Proctor is very chill...you will be lucky if you get him as your proctor...Remember to ask for feedback
Questions remembered
-Demonstrate your project
-Asked me if I made a function that no 2 patients can book the same slot
-Asked me to write password column in users table with string len of 200 and unique=true
-Asked me where to show where I have used for loop in html
-Asked me to if I have prepared any charts and stuff..which I didn't
-Asked me give info of each column in Doctor table
Sheet responseMAD1
He's a chill kinda guy
Questions remembered
1.He asked to show id and github collaborator
Asked to download the project and set it up
Asked to book two slots with same vehicle no(mine got booked so he said thats an issue..it logically wrong)
Cascading in database, put and post difference and different http method
Sheet responseMAD1
proctor is chill just be confident
Questions remembered
ID CHECK
GITHUB COLLAB CHECK
DOWNLOAD PROJECT FROM PORTAL NO CHECKSUM
PROJECT DEMO
SLIGHT GLANCE AT CODE
ASKED TO CREATE NEW LOT
UPDATE NUMBER OF PARKING SPOTS IN THE LOT
DELETE LOT
TEMPLATE INHERITANCE
PUT AND POST
AMAD1
Greet him , Explain with ease , take time. Overall chill and super supportive
Questions remembered
Id card and github repo collaborator
Download the project from portal and demonstrate it
Cascading
Types of request methods and how many
Difference between Put and Post
Login as an admin and edit parking lot
Asked me if i made summary charts , I didnt - Said no worries
..MAD1
You already know the generic flow of what happens after what (I'd card then Github then code then...) He might be late in responding to you if you're asking if I shall proceed with next step (name it) But I'd recommend you to still wait most of the times.
Questions remembered
All processes (from id card to running project) Includes showing collaborator on Github repository.
Can u tell me what request methods we have? (http methods)
What do u mean by cascade? >> have you declared the AI usage in your docs?
Sheet responseMAD1
don't rush explain slowly
Questions remembered
1.authentication vs authorization
2.cascade menaing in database
anonymusMAD1
Consider yourself lucky if u get this proctor, but sure to greet him...
Questions remembered
Level 1 Viva
1.Overall the proctor was chill
2.Asked me to show github profile to see colaborator and id card for verification
3.Asked to to download my submission from the viva portal for execution
4.Asked me to execute my project and explain the working(he just let me explain , no cross-question)
5.asked 3 questions, one about 'what is cascade?', 'wht are the request methods' and what is the diff between post and put'
6.Wished me well for level 2 viva
...MAD1
Shared viva questions from response sheet: id check; demo; show models.py. explain the reservation table
Questions remembered
id check
demo
show models.py. explain the reservation table
what are the request methods
show routes.py -> admin routes.
exlplain the code flow from login to admin dashboard. gave a feedback and suggestions viva 2 .END
gangleaderMAD1
Make sure you are already logged in and have everything ready for fast viva. Proctors are overworked due to large number of student so try not to waste time in opening id or forgetting commands for project. This will save you time and anxiety
Questions remembered
THIS WAS FOR VIVA 1 only (yet to give 2nd viva)
- id verification from documents to download
- portal download so no checksum
- waited for me to install the requirement and start the project demonstration
- what do you understand by MVC . Explain
- open your models.py and explain the User model (table)
- you fulfilled the requirements for the project .
- have a great day . End of viva
anonymusMAD1
chill. show all functionalities correctly.
Questions remembered
this is my level1 viva.
show the id card
demonstration of project
explain the user table with all components in it.(like all fields, relationships, lazy, cascade)
define primary key, @, app.route, crud.
Sheet responseMAD1
chill guy, just be honest and upfront about your project.
Questions remembered
It was my L1 Viva with this examiner. the viva flow was like:
1.) Checksum process
2.) Start the Project and explain the basic code structure
3.) Give Project Demo
4.) Read a bunch of core functionalities and asked me to showcase them one by one.
5.) Gave a few tips and things to brush up on before the L2 and said best of luck.
VaibhavMAD1
All Procter's are awesome, chill. You just need to explain your project briefly (all roles and functions)
Questions remembered
So basically it was my "level 1" viva
show your college Id
show checksum
explain project (Name, motive)
I was kinda lucky next and last que was demostrate your prject show all functanilties (i have explain all roles and funcions in about 15 minutes with live db browswer)
My summary section got error, but my Procter was nice, chill he said no worries improve in level 2 viva and also said all the best for level 2
8. Asked me to write JS code to return the squared value of an integer
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: This was a Level 1 Viva.Most questions were in sheet already. I asked to refer VueJs documentation but he just gave a different question for JavaScript instead.
Advice: he lets you explain your full project, you can explain whatever you know, he will listen, I explained a bit of code as well so he didn't ask me more questions. refer the response sheet for the questions and be thorough in those.
-Do all functionalities work, I had one error two people could book the same doctor but I couldn't correct it, he gave me hints and I tried to approach
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
- route to add two numbers in notepad taken from browser
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
-caching and why its implemented
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
-vue life cycle hooks
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
- some questions like can the doctor book for 7 days etc
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
-cascading, lazy loading
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
-does mail hog work, show the backend tasks like csv files, celery,redis
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 chill proctor, one of the best people/proctor and understanding
I had to kill a redis server but forgot the command so I saw in my notebook and explained I haven't done system commands
He said okay just keep the refrence book infront of you maybe to verify it was self made notes
Just go through the above sheet most of the questions will come from it. I studied the entire sheet of all proctors for better help while prep try to atleast do for the proctor assigned to you and know your code
write a special js function to find and print cube roots something
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
Advice: overall he was kindof very rude and didnt even gave a second chance nd asked very out of nowhere quetions be ready to code anything he likes even out of your project i highly doubt that the proctor id of 128 and 127 are exchanged as compared to previous terms, so bach k rehna
Advice: He is very chill gives u full space does not interrupt in between,I even came 2 mins late ,he did not even bring it up .Just be confident and answer with conviction
I joined meeting 10 mins before the actual viva starts.Proctor too joined early just 2 mins after I joined.
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
He gives you an option either to do checksum or directly download from submission portal(checksum is not preferred imo given the 10 min time constraints).
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
3
I was quickly able to setup my project,so viva lasted around 20 mins.
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
4
2.What do you mean by mvc architecture in context of this project
Advice: Pretty Chill.Did not ask me to make modifications in my case. Be confident even if its wrong.If you are thorough with your code,viva level 1 is easy to ace.All the best!
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
Advice: demonstrate your code with confidence take as much as time you want
my viva happened for 20 minutes ...He is a chill guy be confident and present yourself
My session was 11 30 to 12 00 I went inside the meet by 11 20 and he came by 11 25
Times asked1
Official solution
SimpleMAD1 mein usually session-based auth: login pe session['user_id'], har request pe verify.
Example
session['user_id'] = user.id
uid = session.get('user_id')
user = User.query.get(uid)
Viva tipSECRET_KEY set karo warna session insecure. logout pe session.clear().
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
At last he asked what do you understand by MVC the session was over by 11 50 so it was hardly 20 to 25 mins.
Times asked1
Official solution
SimpleMAD1 mein usually session-based auth: login pe session['user_id'], har request pe verify.
Example
session['user_id'] = user.id
uid = session.get('user_id')
user = User.query.get(uid)
Viva tipSECRET_KEY set karo warna session insecure. logout pe session.clear().
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: he was chill, half of the time he didnt speak he spoke only to ask questions or whenever i asked him anything.
be calm.
if you dont get any thing or error take your time and u can ask him also and explain what happened.
All the best be confident in whatever u say.
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
Advice: The examiner is very kind and supportive. You can focus on the core functionality and also review the previously asked questions from the sheet
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
2
GET vs POST
Times asked2
Official solution
SimpleGET data read/show karta hai (idempotent). POST create/submit karta hai (form).
Jinja code for loop 5)Code for route with PUT and POST method
Times asked1
Official solution
SimpleJinja for loop list render karta hai. loop.index, else branch empty list pe.
Example
{% for u in users %}
<tr><td>{{ loop.index }}</td><td>{{ u.email }}</td></tr>
{% 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: He is very polite and professional. He usually asks the same basic questions, like the Jinja loop code, so be prepared for that. He doesn’t go too deep — just the fundamentals.
At the end, he said I did very well, that my project seemed good (though I know it’s not great), and he also advised me to prepare for the Level 2 Viva.
If you get this examiner as your proctor, consider yourself extremely lucky.
Viva tipParking lot delete → uske spots/bookings policy clear bolo.
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: You already know the generic flow of what happens after what (I'd card then Github then code then...)
He might be late in responding to you if you're asking if I shall proceed with next step (name it)
But I'd recommend you to still wait most of the times.
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
6
- have a great day . End of viva
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: Make sure you are already logged in and have everything ready for fast viva. Proctors are overworked due to large number of student so try not to waste time in opening id or forgetting commands for project. This will save you time and anxiety
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
4
I was kinda lucky next and last que was demostrate your prject show all functanilties (i have explain all roles and funcions in about 15 minutes with live db browswer)
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
Have you implemented caching?? May ask what is caching also didn't asked me.
Times asked1
Official solution
SimpleHaan Redis routes X demo hit miss. Nahi: kaise add karte — decorator + redis + invalidation.
Don't lie. Examiner code dekhega.
Redis in-memory key-value store hai — fridge pe sticky note, poori kitchen (SQL database) har baar mat kholo.
MAD2 mein Redis do kaam: (1) cache — same venues/shows/dashboard JSON baar-baar DB se nahi (2) Celery broker — Flask task queue mein daalta hai, worker uthata hai.
Flow: cache.get(key) → hit pe return, miss pe SQLAlchemy + SET with timeout. Admin write ke baad cache.delete, warna stale list.
Source of truth database hi hai. Redis crash/band = cache miss (app chalni chahiye) + queue ruk sakti hai. Important bookings sirf Redis mein mat rakho.
Project example: Reminder task → MailHog list → HTML body user name ke saath.
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
Checked models.py file , asked some basic question
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
5
Overall he was satisfied in the end .. was very calm throughout the viva.
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: Practice sheet questions only and you are good to go.
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.
@app.route('/ping')
def ping():
return jsonify(ok=True)
@app.route('/even/<int:n>')
def even(n):
return 'even' if n % 2 == 0 else 'odd'
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: This was a Level 1 Viva.Most questions were in sheet already. I asked to refer VueJs documentation but he just gave a different question for JavaScript instead.
Simplelazy loading related objects tab load karta hai jab attribute access karte ho, pehle nahi.
user = User.query.get(1) # posts query nahi
user.posts # ab query
lazy=True / 'select' default. lazy='joined' eager join. lazy='dynamic' query object.
uselist=False One-to-One (single object, list nahi). Hataoge to list mil sakti hai.
Frontend lazy loading images alag cheez hai (viewport mein aaye tab load).
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: he lets you explain your full project, you can explain whatever you know, he will listen, I explained a bit of code as well so he didn't ask me more questions. refer the response sheet for the questions and be thorough in those.
Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.
Example
function fullName(first, last) {
return first + ' ' + last
}
users.filter(u => u.score > 15)
Project example: Practice 10 snippets before viva. Online editor internet if allowed.
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
What is the percentage of AI used in your project
Times asked2
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
Write if statement in vuejs
Times asked2
Official solution
SimpleVue = UI ka smart assistant. Data badlo, screen khud update. MAD1 Jinja har click pe naya HTML.
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
6
4.2.redish
Times asked2
Official solution
SimpleRedis fridge pe sticky note hai — poori kitchen (database) kholne ki zarurat nahi.
Redis in-memory key-value store hai. Data RAM mein rehta hai, isliye disk wale SQLite/Postgres se kai guna tez.
MAD2 mein Redis do kaam karta hai:
1) Cache — same venue/show/dashboard JSON baar-baar DB se mat nikaalo.
2) Celery message broker — Flask task queue mein daalta hai, worker uthata hai.
Source of truth database hi hai. Redis band ho to cache miss ho jaata hai aur Celery queue ruk sakti hai. Crash pe cache gayab ho sakta hai — isliye important data sirf Redis mein mat rakho.
Project example: GET /api/venues pehle Redis dekho. Miss pe SQLAlchemy query, phir SET with timeout. Celery worker Redis list se daily reminder uthata hai.
Viva tipCache ke liye db=1, broker ke liye db=0 rakhna smart hai taaki keys mix na hon. Viva mein redis-cli ping → PONG dikhana strong hai.
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.
@app.route('/ping')
def ping():
return jsonify(ok=True)
@app.route('/even/<int:n>')
def even(n):
return 'even' if n % 2 == 0 else 'odd'
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
What is authtication vs autorization
Times asked2
Official solution
SimpleAuthentication poochta hai "tu kaun hai?", Authorization poochta hai "tujhe yeh kaam karne ki permission hai?"
Authentication: login. Username + password check karke prove karte ho ki tum genuine user ho. Success pe session/token milta hai.
Authorization: uske baad role check. Admin hi parking lot / venue / drive delete kar sakta hai, normal user nahi.
MAD2 mein yeh alag layers hain: login API = authentication (JWT milta hai). @roles_required('admin') ya Vue v-if="isAdmin" = authorization.
Validation alag cheez hai (form sahi bhara hai ya nahi, jaise age 18+). Authentication identity hai, authorization permission, validation input quality.
Example
# Authentication
if user and check_password_hash(user.password, form_password):
token = create_access_token(identity=user.id)
# Authorization
if current_user.role != 'admin':
abort(403) # logged in ho, lekin allowed nahi
Project example: Student login = authentication. Student admin dashboard nahi khol sakta = authorization. Frontend button hide sirf UX hai — asli check backend pe hona chahiye.
Viva tip401 = not logged in / bad token. 403 = logged in, role galat. Examiner yeh difference bahut poochta 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
Show Background jobs celery and redis
Times asked2
Official solution
SimpleRedis box hai, Celery us box se kaam uthane wala worker hai — same cheez nahi.
Redis: store (cache keys) + queue (broker lists).
Celery: Python library jo tasks define karti hai, .delay() se queue mein daalti hai, worker execute karta hai.
Dono localhost pe ho sakte hain. Alag Redis DB index use karo. Redis band = cache miss + Celery stuck.
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.
@app.route('/ping')
def ping():
return jsonify(ok=True)
@app.route('/even/<int:n>')
def even(n):
return 'even' if n % 2 == 0 else 'odd'
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: overall he was kindof very rude and didnt even gave a second chance nd asked very out of nowhere quetions be ready to code anything he likes even out of your project i highly doubt that the proctor id of 128 and 127 are exchanged as compared to previous terms, so bach k rehna
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
what is lazy( wrt models )
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
3
write code to implement v-if, v-else
Times asked2
Official solution
Simplev-if ghar se nikaal deta hai (DOM se). v-show sirf light band karta hai (display:none).
v-if false → element exist hi nahi — costly create/destroy, lekin secret HTML DOM mein nahi.
v-show → hamesha DOM, CSS hide, toggle tez.
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
2
Both proctors checked core functionalities
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
3
And told to explain models
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
4
level1:
Times asked2
Official solution
SimpleLevel = viva difficulty band. Level 1 usually demo + basics; higher pe live coding + deeper theory.
Viva tipJo level assign hai uske hisaab se demo + theory 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
5
Q. Authorisation and Authentication
Times asked2
Official solution
SimpleAuthentication: tu kaun hai? (login). Authorization: tujhe permission hai? (role check).
Example
# auth
if check_password_hash(user.password, pwd):
session['user_id'] = user.id
# authz
if user.role != 'admin':
abort(403)
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
Q. what is used for token based authentication.
Times asked2
Official solution
SimpleAuthentication: tu kaun hai? (login). Authorization: tujhe permission hai? (role check).
Example
# auth
if check_password_hash(user.password, pwd):
session['user_id'] = user.id
# authz
if user.role != 'admin':
abort(403)
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
Everything that is asked before, no Code changes asked
Times asked2
Official solution
Yeh MAD-1 viva question tumhare project ke context se linked hai. Short answer is structure se do:
Pehle 1 line definition/purpose, phir tumhare project ka example, phir chhota code/flow.
Auth: session['user_id'] + role check. CRUD: add/commit, query.all, field update, delete.
Live change maange to: related model → route → template, phir browser refresh karke dikhao.
Example (generic create):
obj = Model(name=request.form.get('name'))
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 tipPrivate repo access pehle de do. Main branch submitted ZIP se match honi 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
2
project demo
Times asked4
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
3
perform backend task
Times asked2
Official solution
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
4
asked to show redis if used
Times asked2
Official solution
SimpleRedis fridge pe sticky note hai — poori kitchen (database) kholne ki zarurat nahi.
Redis in-memory key-value store hai. Data RAM mein rehta hai, isliye disk wale SQLite/Postgres se kai guna tez.
MAD2 mein Redis do kaam karta hai:
1) Cache — same venue/show/dashboard JSON baar-baar DB se mat nikaalo.
2) Celery message broker — Flask task queue mein daalta hai, worker uthata hai.
Source of truth database hi hai. Redis band ho to cache miss ho jaata hai aur Celery queue ruk sakti hai. Crash pe cache gayab ho sakta hai — isliye important data sirf Redis mein mat rakho.
Project example: GET /api/venues pehle Redis dekho. Miss pe SQLAlchemy query, phir SET with timeout. Celery worker Redis list se daily reminder uthata hai.
Viva tipCache ke liye db=1, broker ke liye db=0 rakhna smart hai taaki keys mix na hon. Viva mein redis-cli ping → PONG dikhana strong hai.
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.
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
7
Explain your project what you have done. during viva I lost the connection and rejoined. He is very clam and nice.
Times asked2
Official solution
SimpleJOIN related tables ek result mein. Inner = match only; left = left side sab + match.
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: 4 files.
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 MailHog integration.
Times asked1
Official solution
SimpleMailHog local fake post office — email internet pe nahi jaata, browser mein dikhta hai.
SMTP 1025, Web UI 8025. Viva demo gold. Credentials nahi.
Real Gmail SMTP student accounts pe block common — MailHog safer.
Flask-Mail / SMTP se mail. Local MailHog fake server: SMTP 1025, UI 8025 — internet nahi, viva safe.
Asli send Celery task mein, request thread mein nahi. Beat 6pm reminder, export ke baad CSV attach optional.
MAIL_SERVER localhost demo. Gmail SMTP student account pe block common. Body mein user name personalization examiner dekhta hai.
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
12
Difference between Authentication and Authorization.
Times asked20
Official solution
SimpleAuthentication poochta hai "tu kaun hai?", Authorization poochta hai "tujhe yeh kaam karne ki permission hai?"
Authentication: login. Username + password check karke prove karte ho ki tum genuine user ho. Success pe session/token milta hai.
Authorization: uske baad role check. Admin hi parking lot / venue / drive delete kar sakta hai, normal user nahi.
MAD2 mein yeh alag layers hain: login API = authentication (JWT milta hai). @roles_required('admin') ya Vue v-if="isAdmin" = authorization.
Validation alag cheez hai (form sahi bhara hai ya nahi, jaise age 18+). Authentication identity hai, authorization permission, validation input quality.
Example
# Authentication
if user and check_password_hash(user.password, form_password):
token = create_access_token(identity=user.id)
# Authorization
if current_user.role != 'admin':
abort(403) # logged in ho, lekin allowed nahi
Project example: Student login = authentication. Student admin dashboard nahi khol sakta = authorization. Frontend button hide sirf UX hai — asli check backend pe hona chahiye.
Viva tip401 = not logged in / bad token. 403 = logged in, role galat. Examiner yeh difference bahut poochta 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
What token-based authentication mechanism have you used?
Times asked1
Official solution
SimpleJWT HS256 flask-jwt-extended / security token. Named library.
Which library token generation / token-based.
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: requirements.txt line.
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
How is the authentication token generated?
Times asked2
Official solution
SimpleLogin success pe server secret se sign. create_access_token / security token.
Show login route return. DevTools response JSON. jwt.io payload.
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.
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.
@cache.cached(timeout=50, query_string=True)
@app.route('/api/shows')
def shows():
return jsonify([s.serialize() for s in Show.query.all()])
Project example: Admin dashboard counts / venues list cache. Create/update/delete ke baad cache.delete('venues').
Viva tipprint('DB queried') function ke andar laga ke miss/hit demo karo — hit pe print nahi chalega.
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
Where have you implemented caching?
Times asked7
Official solution
SimpleGET lists/stats @cache.cached. Mutations pe delete. CACHE_TYPE Redis.
Why each route: public repeated reads. User-private careful.
Redis in-memory key-value store hai — fridge pe sticky note, poori kitchen (SQL database) har baar mat kholo.
MAD2 mein Redis do kaam: (1) cache — same venues/shows/dashboard JSON baar-baar DB se nahi (2) Celery broker — Flask task queue mein daalta hai, worker uthata hai.
Flow: cache.get(key) → hit pe return, miss pe SQLAlchemy + SET with timeout. Admin write ke baad cache.delete, warna stale list.
Source of truth database hi hai. Redis crash/band = cache miss (app chalni chahiye) + queue ruk sakti hai. Important bookings sirf Redis mein mat rakho.
Kaunsi routes, timeout, key_prefix, query_string. POST pe nahi.
print after set sirf miss. Timeout chhota karke expiry.
Redis in-memory key-value store hai — fridge pe sticky note, poori kitchen (SQL database) har baar mat kholo.
MAD2 mein Redis do kaam: (1) cache — same venues/shows/dashboard JSON baar-baar DB se nahi (2) Celery broker — Flask task queue mein daalta hai, worker uthata hai.
Flow: cache.get(key) → hit pe return, miss pe SQLAlchemy + SET with timeout. Admin write ke baad cache.delete, warna stale list.
Source of truth database hi hai. Redis crash/band = cache miss (app chalni chahiye) + queue ruk sakti hai. Important bookings sirf Redis mein mat rakho.
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.
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
4
Run checksum or download the project from the submission portal.
Times asked1
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
Set up and run the project.
Times asked1
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
Explain the project (name, objective/motivation).
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
7
Demonstrate all project 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
8
Show all core functionalities one by one.
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
Explain the basic project/code structure.
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
10
Show the 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
11
Explain summary charts (if implemented).
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
12
Explain the User table (fields, relationships, lazy loading, cascade, etc.).
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
13
Explain another model (e.g., Doctor model) and each column.
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
14
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
15
Explain one line of code from 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
16
Explain where you used a for loop in HTML/Jinja.
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.
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.
Auth: session['user_id'] + role check. CRUD: add/commit, query.all, field update, delete.
Live change maange to: related model → route → template, phir browser refresh karke dikhao.
Example (generic create):
obj = Model(name=request.form.get('name'))
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
20
Edit a parking lot as Admin.
Times asked1
Official solution
Yeh MAD-1 viva question tumhare project ke context se linked hai. Short answer is structure se do:
Pehle 1 line definition/purpose, phir tumhare project ka example, phir chhota code/flow.
Auth: session['user_id'] + role check. CRUD: add/commit, query.all, field update, delete.
Live change maange to: related model → route → template, phir browser refresh karke dikhao.
Example (generic create):
obj = Model(name=request.form.get('name'))
Check whether duplicate bookings (same vehicle/patient) are prevented.
Times asked1
Official solution
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.
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
Modify the password column to String(200) with unique=True.
Times asked1
Official solution
Yeh MAD-1 viva question tumhare project ke context se linked hai. Short answer is structure se do:
Pehle 1 line definition/purpose, phir tumhare project ka example, phir chhota code/flow.
Auth: session['user_id'] + role check. CRUD: add/commit, query.all, field update, delete.
Live change maange to: related model → route → template, phir browser refresh karke dikhao.
Example (generic create):
obj = Model(name=request.form.get('name'))
SimplePrimary Key har row ko uniquely identify karti hai. Unique Key bhi unique hoti hai lekin table ki main ID nahi.
id = db.Column(db.Integer, primary_key=True) # auto increment
email = db.Column(db.String(120), unique=True)
PK: NOT NULL, ek (ya composite). Index automatically.
Record fetch: User.query.get(id) PK se tez.
FK hamesha unique nahi — Many side pe repeat hoti hai. Unique FK = One-to-One.
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 @app.route?
Times asked2
Official solution
Simple@app.route URL ko Python function se jodta hai. @ wala cheez decorator hai.
Decorator function ko wrap karke extra behaviour deta hai (route register, login_required).
Endpoint generally function name. Path /hello/Ram.
<int:id> type converter — sirf integer. Bina converter string. ID chahiye to int safer.
methods=['POST'] only POST. Default GET.
functools.wraps custom decorator mein original function name/docs preserve 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
26
Authentication vs Authorization.
Times asked10
Official solution
SimpleAuthentication poochta hai "tu kaun hai?", Authorization poochta hai "tujhe yeh kaam karne ki permission hai?"
Authentication: login. Username + password check karke prove karte ho ki tum genuine user ho. Success pe session/token milta hai.
Authorization: uske baad role check. Admin hi parking lot delete kar sakta hai, normal user nahi.
Example (Flask):
# Authentication
if user and check_password_hash(user.password, form_password):
session['user_id'] = user.id
# Authorization
if session.get('role') != 'admin':
abort(403) # logged in ho, lekin allowed nahi
Project example: student login = authentication. Student admin dashboard nahi khol sakta = authorization.
Validation alag cheez hai (form sahi bhara hai ya nahi, jaise age 18+).
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 in databases?
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
28
What is Lazy Loading (lazy=True, lazy='dynamic')?
Times asked1
Official solution
Simplelazy loading related objects tab load karta hai jab attribute access karte ho, pehle nahi.
user = User.query.get(1) # posts query nahi
user.posts # ab query
lazy=True / 'select' default. lazy='joined' eager join. lazy='dynamic' query object.
uselist=False One-to-One (single object, list nahi). Hataoge to list mil sakti hai.
Frontend lazy loading images alag cheez hai (viewport mein aaye tab load).
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
What is backref?
Times asked12
Official solution
Simplebackref relationship ki reverse side automatically bana deta hai.
class Post(db.Model):
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
user = db.relationship('User', backref='posts')
Ab post.user milta hai, aur user.posts bhi — Post model pe sirf ek line.
secondary Many-to-Many junction table ke liye: relationship(..., secondary=likes_table, backref='liked_by').
Explicit chahiye to back_populates use 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
30
What is back_populates?
Times asked3
Official solution
Simpleback_populates dono models pe relationship explicitly link karta hai.
class User(db.Model):
posts = db.relationship('Post', back_populates='author')
class Post(db.Model):
author = db.relationship('User', back_populates='posts')
Naam match hona chahiye. Readability better, circular confusion kam. backref ka alternative yahi 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 Template Inheritance?
Times asked10
Official solution
Simpleextends poora layout inherit karta hai, include chhota piece insert karta hai.
extends: child page base.html ka structure use karti hai, blocks override karti hai. Ek hi parent.
include: navbar.html / footer.html jahan chaho insert. Kai baar use ho sakta hai.
base.html:
{% block content %}{% endblock %}
home.html:
{% extends 'base.html' %}
{% block content %}<h1>Home</h1>{% endblock %}
{% include 'navbar.html' %} → navbar har page pe
Fayda: header/footer ek jagah, change once — saari pages update. MAD1 mein almost har project use 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
32
What is MVC Architecture? (especially explain the Controller).
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
33
What is Jinja?
Times asked4
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
34
What are HTTP Request Methods?
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
35
Difference between PUT and POST.
Times asked6
Official solution
SimplePOST nayi cheez create karta hai, PUT existing cheez ko replace/update karta hai.
POST /books → naya book add. Har baar naya ID banega. Idempotent nahi — 2 baar POST = 2 records.
PUT /books/5 → id=5 wale book ko poora update. Same PUT dubara bhejo to same result (idempotent).
PUT se create bhi ho sakta hai (agar ID client decide kare), lekin REST convention: create = POST, replace = PUT, partial = PATCH.
Decorator function ko wrap karke extra behaviour deta hai (route register, login_required).
Endpoint generally function name. Path /hello/Ram.
<int:id> type converter — sirf integer. Bina converter string. ID chahiye to int safer.
methods=['POST'] only POST. Default GET.
functools.wraps custom decorator mein original function name/docs preserve karta hai.
Decorator function ko wrap karke extra behaviour deta hai (route register, login_required).
Endpoint generally function name. Path /hello/Ram.
<int:id> type converter — sirf integer. Bina converter string. ID chahiye to int safer.
methods=['POST'] only POST. Default GET.
functools.wraps custom decorator mein original function name/docs preserve 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
43
Write a route that accepts the PUT method.
Times asked1
Official solution
Patternfilter query → template/JSON. Examiner jo entity bole us class ka naam use karo.
@app.route('/admin/blacklisted')
def blacklisted():
rows = User.query.filter_by(is_blacklisted=True).all()
return render_template('list.html', rows=rows)
JSON: return jsonify([{'id': r.id, 'name': r.name} for r in rows])
ID se: User.query.get_or_404(id)
Do filters: .filter(Drive.approved==False, Drive.title=='Data Scientist')
Join example: students jinhone blacklisted company ke drive pe apply kiya — join Application-Drive-Company.
url param display: @app.route('/show/<int:id>') return render_template('show.html', id=id)
Form → next page: POST values render_template('out.html', **request.form)
Count: return str(User.query.filter_by(is_blacklisted=True).count())
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
Have you declared AI usage in your documentation?
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
46
Gave suggestions/tips for Level 2 after the demo.
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
47
Show where you have used charts/summary visualizations.
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
Tag summary
No tags.
Video explanation
Created for educational purposes only. Questions are based on students' personal experiences and may not reflect actual exam content.