-
1
Show your student ID.Times asked 3Official solution
SimpleCamera pe clearly IITM/college ID dikhao — naam photo match.
Pehle se ID haath mein rakho. Glare mat aane do. Examiner screenshot/verify karta hai. Iske baad GitHub + project run.
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
Download the project from the portal (or verify checksum if requested).Times asked 1Official 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
-
3
Show your GitHub repository, collaborators, and commit history.Times asked 2Official solution
SimpleGitHub repo public/private policy ke hisaab, MAD-1 collaborator add, commits dikhao.
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
Demonstrate the complete application.Times asked 33Official 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
-
5
Explain your database.Explain your models.Explain your routes.Times asked 1Official 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 statusExample 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
-
6
Explain the login route.Times asked 2Official solution
SimpleLogin GET form dikhata hai, POST credentials check karke session set karta hai.
@app.route('/login', methods=['GET','POST']) def login(): if request.method == 'POST': u = User.query.filter_by(email=request.form.get('email')).first() if u and check_password_hash(u.password, request.form.get('password')): if getattr(u, 'blacklisted', False): flash('Blocked'); return redirect(url_for('login')) session['user_id'] = u.id session['role'] = u.role return redirect(url_for('dashboard')) flash('Invalid') return render_template('login.html')Logout: session.clear(); redirect login. Incognito alag cookie jar — logged out dikhega.
Single login page: role se redirect alag dashboards.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 specific routes/features (e.g., create drive, dashboard).Times asked 1Official solution
SimpleRoutes/controllers URLs handle karte hain. app.py app banata hai, models.py data, templates/ views, static/ CSS-JS.
Typical structure:
app.py / __init__.py → Flask app, db.init, register blueprints
models.py → tables
routes.py / views → @app.route functions
templates/ → Jinja HTML
static/ → css, images
instance/*.db → SQLiteEk 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 redirectExample 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
-
8
Show and explain template files (especially dashboard templates).Times asked 1Official 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
-
9
Write the User model in Flask/SQLAlchemy.Times asked 1Official 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.
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
Write a Flask route to return all users.Times asked 1Official 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.
PUT@app.route('/x/<int:id>', methods=['PUT']) + request.get_json()
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
-
11
Write a Flask route to return all applications.Times asked 1Official 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.
PUT@app.route('/x/<int:id>', methods=['PUT']) + request.get_json()
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
-
12
Write a Flask route to update a student profile.Times asked 1Official 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.
PUT@app.route('/x/<int:id>', methods=['PUT']) + request.get_json()
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
-
13
Write a Flask API route to search a student by student_id.Times asked 1Official 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
-
14
Write a Jinja for loop.Times asked 9Official solution
Simple Jinja loop + if — examiner notepad mein likhwaata hai:
{% for t in treks %} <p>{{ t.name }} — {{ t.location }}</p> {% else %} <p>No treks</p> {% endfor %} {% if user.role == 'admin' %} <button>Delete</button> {% endif %}List filter: {% if x > 10 %}{{ x }}{% endif %}
Length: {{ items|length }} Upper: {{ name|upper }}
Table: loop ke andar <tr><td>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
What are Blueprints in Flask?Times asked 2Official solution
SimpleBlueprint Flask app ko modules mein baant ta hai — auth, admin, user alag files.
admin_bp = Blueprint('admin', __name__, url_prefix='/admin')
@admin_bp.route('/dashboard')def dash(): ... app.register_blueprint(admin_bp)Bina blueprint: sab routes ek app.py — chhote MAD1 ke liye theek. Alternative: multiple modules import karke app pe route attach, ya create_app factory.
Bada project: Blueprints = clean controllers.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
What is an alternative to Blueprints?Times asked 1Official solution
SimpleBlueprint Flask app ko modules mein baant ta hai — auth, admin, user alag files.
admin_bp = Blueprint('admin', __name__, url_prefix='/admin')
@admin_bp.route('/dashboard')def dash(): ... app.register_blueprint(admin_bp)Bina blueprint: sab routes ek app.py — chhote MAD1 ke liye theek. Alternative: multiple modules import karke app pe route attach, ya create_app factory.
Bada project: Blueprints = clean controllers.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
Explain MVC architecture.Times asked 9Official 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.htmlDraw: 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
-
18
What is Template Inheritance?Times asked 10Official 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 peFayda: 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
-
19
What is ORM?Times asked 49Official 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
-
20
Explain Primary Key.Explain Foreign Key.Times asked 1Official solution
SimplePrimary Key row ki unique ID hai, Foreign Key doosri table ki Primary Key ko point karti hai.
Primary Key: unique + not null. Har table mein hota hai. Example: user.id = 5
Foreign Key: relationship banati hai. post.user_id = 5 matlab yeh post user 5 ki hai.Example
class User(db.Model): id = db.Column(db.Integer, primary_key=True) class Post(db.Model): id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id'))FK Primary Key bhi ho sakti hai (1-to-1 profile table). FK unique ho to One-to-One, nahi to One-to-Many.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
21
What is Cascading?Times asked 1Official 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
-
22
Why did you use back_populates?Times asked 1Official 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
-
23
Why did you use lazy=True?Times asked 1Official solution
Simplelazy loading related objects tab load karta hai jab attribute access karte ho, pehle nahi.
user = User.query.get(1) # posts query nahiuser.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
-
24
What is JWT?Times asked 1Official solution
SimpleJWT = JSON Web Token — signed string jisme user id/role hota hai. Har request header mein jaata hai. Session server pe store, JWT client pe.
Login → server token deta hai → Authorization: Bearer <token>
Payload: {sub: user_id, role: admin, exp: ...} — padha ja sakta hai, change nahi (signature).
Session: browser cookie, server-rendered Flask ke liye simple.
Token: mobile/Vue SPA, scaling (server memory nahi). Store: memory/httpOnly cookie, localStorage XSS risk.
MAD1 mostly session. Flask-Security session+login, JWT APIs 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
-
25
What is a JWT Payload?Times asked 1Official solution
SimpleJWT = JSON Web Token — signed string jisme user id/role hota hai. Har request header mein jaata hai. Session server pe store, JWT client pe.
Login → server token deta hai → Authorization: Bearer <token>
Payload: {sub: user_id, role: admin, exp: ...} — padha ja sakta hai, change nahi (signature).
Session: browser cookie, server-rendered Flask ke liye simple.
Token: mobile/Vue SPA, scaling (server memory nahi). Store: memory/httpOnly cookie, localStorage XSS risk.
MAD1 mostly session. Flask-Security session+login, JWT APIs 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
-
26
What is a Request Payload?Times asked 1Official solution
Simple mix of small concepts examiners poochte hain:
Enum: fixed choices (status = pending/approved). Python Enum ya DB Enum column.
Lambda: one-line anonymous function. key=lambda x: x.name sort ke liye.
datetime: dates/times. timedelta(days=1) yesterday. default=datetime.utcnow.
os.getenv('SECRET_KEY') environment se config, hardcode nahi. .env alternative: actual OS env, config.py, vault.
HTML metadata: <meta charset>, <meta name='viewport'> — page ke baare mein, body content nahi.
HTTP metadata: headers (Content-Type, Set-Cookie).
Request payload: body data (JSON/form).
Namespace: naam collide na hon (Blueprint name, Python packages).
Plugins: extra packages (Flask-Login). Package vs module: package folder with __init__, module ek .py file.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 are Sessions?Where are Sessions stored?Times asked 1Official 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
-
28
What is SECRET_KEY?Times asked 2Official solution
SimpleSECRET_KEY Flask ka secret jisse session cookies sign/encrypt hoti hain.
app.config['SECRET_KEY'] = os.getenv('SECRET_KEY', 'dev-key')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
-
29
Difference between PUT and POST.Times asked 6Official 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.
Example
@app.route('/user', methods=['POST']) # register naya user @app.route('/user/<int:id>', methods=['PUT']) # poora profile replaceHTML <form> PUT nahi bhejta, isliye Flask apps mein edit pe bhi POST use hota hai. Examiner ko yeh reason clearly 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
-
30
Difference between PUT and PATCH.Times asked 7Official solution
SimplePUT poori resource replace karta hai, PATCH sirf kuch fields update karta hai.
PUTfull update. Jo fields nahi bheji, woh empty/default ho sakti hain. Idempotent — same request 5 baar bhejo, result same.
PATCHpartial update. Sirf name change karna hai to sirf name bhejo, baaki fields same rehti hain.
ExampleUser {name: Ram, city: Delhi, age: 20}
PUT /user/1 {name: Shyam} → city/age lose ho sakte hain agar poora object nahi bheja.
PATCH /user/1 {name: Shyam} → sirf name Shyam, city Delhi, age 20 same.MAD1 Flask forms mein aksar POST se update karte hain kyunki HTML form PUT/PATCH native support nahi karta. Theory mein farq yeh 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 an Asynchronous Request?Times asked 1Official solution
SimpleAJAX page reload ke bina server se data laata hai. Aaj kal fetch() + Promises.
fetch('/api/users').then(r => r.json()).then(data => { ... })
Promise: future value (pending/fulfilled/rejected). fetch Promise return karta hai.
SPA (Vue): ek HTML, baaki routes JS se, partial update. MAD1 generally full page render (Jinja) — submit pe poora refresh.
async/await Promise ka clean syntax.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 are Lifecycle Hooks?Times asked 1Official solution
SimpleVue.js frontend framework — reactive UI components. MAD2 mein common, MAD1 optional.
Component: reusable UI (Navbar.vue) + data + template.
Props: parent → child data. Child → parent: $emit('update', val).
Slots: parent child ke andar extra HTML daal sakta hai.
Lifecycle: created (data setup), mounted (DOM ready — API call), updated, unmounted.
v-model two-way bind. Vue Router SPA routes (routes.js). Vuex/Pinia global state; mutations sync change, actions async.
Standalone component: khud ke saath compile, parent register kam.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet