Viva prep · Real questions · Student experiences Enroll in Bootcamp

Search viva questions

Search by question text across the whole library — then narrow with subject, level, or proctor.

Question sets

  1. 1
    Show your ID card.
    Times asked 23
    Official solution

    SimpleCamera pe college ID — naam photo match. Identity viva ki pehli gate.

    Pehle se haath mein, glare nahi. Examiner screenshot. Phir GitHub + portal ZIP run.

    Name GitHub/portal se mismatch red flag.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Project example: ID dikhao, bolo roll/name, phir screen share repo.

    Viva tipPehle se ID haath mein rakho, glare mat aane do. Examiner screenshot/verify karta hai. Iske baad GitHub + project run.

  2. 2
    Show your GitHub repository and collaborator.
    Times asked 16
    Official solution

    SimpleRepo = evidence tumne kaam kiya: commits, collaborators, README.

    Regular messages, last-day dump nahi. Private access pehle de do. Main branch submitted ZIP se match.

    Collaborator settings. Commit dates.

    Example

    Settings → Collaborators: apna + teammate (agar allowed).
    Commits: regular messages, last-day dump nahi.

    Project example: Settings → Collaborators. git log --oneline. README run steps.

    Viva tipPrivate repo access de do pehle. Main branch latest submitted ZIP se match honi chahiye.

  3. 3
    Confirm that you submitted the required form.
    Times asked 1
    Official solution

    SimpleHaan submitted portal form/report. Link ready. Checksum if any.

    Don't contradict AI %.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: Email confirmation / PDF.

  4. 4
    Demonstrate your complete application.
    Times asked 7
    Official solution

    SimpleDemo 5–7 min ki kahani: saari roles, koi milestone skip nahi, bolte-bolte dikhao.

    Examiner list tick karta hai. Crash ho to panic nahi — terminal error padho.

    Code tab kholna jab poochhein. Extra uncommitted features mat dikhana agar portal ZIP mein nahi.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search + charts
    6) CSV export / email job
    7) Logout

    Project example: Jo statement/parking/jobs/tickets hai uske user+admin journeys.

    Viva tipBol: 'Yahan overbooking rokta hoon'. Mandatory features pehle, polish baad.

  5. 5
    Explain your project and its implementation.
    Times asked 1
    Official solution

    SimpleFeatures tour then architecture then 1 deep dive jobs/cache.

    Project statement first. Don't skip celery if required.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: User journey + admin + jobs.

  6. 6
    Explain your models.py.
    Times asked 2
    Official solution

    SimpleEach class PK/FK relationships why. Random line ready.

    serialize hide password.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: models.py top to bottom 3 min.

  7. 7
    Explain your project code.
    Times asked 1
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  8. 8
    Show your login/authentication code.
    Times asked 1
    Official solution

    Simplelogin.vue + backend login + decorator + LS. Show login/authentication code.

    Show where authentication backend.

    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.

  9. 9
    Show MailHog integration.
    Times asked 1
    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.

    Example

    MAIL_SERVER=localhost
    MAIL_PORT=1025
    # http://localhost:8025

    Project example: Reminder task → MailHog list → HTML body user name ke saath.

  10. 10
    Demonstrate Celery background jobs (daily reminder/monthly report).
    Times asked 1
    Official solution

    SimpleLive jobs: Redis, worker, beat, crontab abhi, logs + email/CSV.

    Scheduled vs user-triggered dono dikhao. Missing feature honestly.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Suggested flow1) redis
    2) worker
    3) beat
    4) crontab now
    5) logs + MailHog

    Example

    CELERY_BEAT_SCHEDULE = {
      'daily-reminder': {
        'task': 'jobs.daily_reminder',
        'schedule': crontab(hour=18, minute=0),
      },
    }

    Project example: Change schedule current time. MailHog. Export button 202.

  11. 11
    Explain where Celery and Redis are implemented.
    Times asked 1
    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.

    Example

    Celery: broker_url='redis://localhost:6379/0'
    Cache:  CACHE_REDIS_URL='redis://localhost:6379/1'

    Project example: export_csv.delay(user_id) Flask se. Worker Redis se task uthata hai, CSV+email. Cache alag keys venues.

    Viva tipAgar possible ho to cache db=1, broker db=0 — keys mix nahi hoti.

  12. 12
    Difference between Authentication and Authorization.
    Times asked 20
    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.

  13. 13
    What token-based authentication mechanism have you used?
    Times asked 1
    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.

  14. 14
    How is the authentication token generated?
    Times asked 2
    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.

    Example

    token = create_access_token(identity=user.id, additional_claims={'role': user.role})

    Project example: auth.py login. Flask-JWT-Extended.

  15. 15
    Explain UserMixin and RoleMixin.
    Times asked 1
    Official solution

    SimpleUserMixin RoleMixin Flask-Security interfaces: is_authenticated, roles relation.

    Methods milte. Models inherit.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: class User(db.Model, UserMixin).

  16. 16
    What is caching?
    Times asked 23
    Official solution

    SimpleCache = pehli baar hisaab karke copy rakh lo, doosri baar copy dikha do.

    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.

    Browser cache, Flask-Caching, Redis alag layers hain. MAD2 examiner Redis + @cache.cached code dekhta hai.

    Example

    @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.

  17. 17
    Where have you implemented caching?
    Times asked 7
    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.

    Alag: Redis ≠ Memcached (Celery broker nahi). Redis ≠ localStorage (woh browser). redis-cli ping → PONG viva proof.

    Project example: File+line decorator. redis-cli get key optional.

  18. 18
    Show the cached API/code.
    Times asked 1
    Official solution

    SimpleDecorator + Redis ping + invalidation line + miss/hit demo idea.

    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.

    Alag: Redis ≠ Memcached (Celery broker nahi). Redis ≠ localStorage (woh browser). redis-cli ping → PONG viva proof.

    Project example: resources list GET cached. create_venue delete key.

  19. 19
    What is lazy in SQLAlchemy relationships?
    Times asked 1
    Official solution

    SimpleWhen related load: select extra query, joined JOIN now, dynamic query object.

    lazy in relationships.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Example

    bookings = db.relationship('Booking', lazy='dynamic')
    user.bookings.filter_by(status='ok').all()

    Project example: default select. N+1.

  20. 20
    What is cascading (cascade)?
    Times asked 1
    Official solution

    SimpleCASCADE = parent gaya to bacche bhi. Restrict = pehle bacche sambhalo.

    ON DELETE CASCADE SQL. SQLAlchemy cascade='all, delete-orphan' collection se orphans.
    Opposite auto nahi — child delete se parent nahi marata.

    Venue delete: bookings restrict (safer viva) ya cascade+cancel policy. Examiner design poochta hai.

    ON UPDATE CASCADE PK change — rare. SET NULL, RESTRICT bhi options.

    Example

    shows = db.relationship('Show', cascade='all, delete-orphan', back_populates='venue')

    Project example: Show belongs Venue delete-orphan. Booking venue pe restrict — 'reassign first'.

    Viva tipVenue delete pe bookings: restrict (mat delete) ya cascade+refund policy. Examiner design poochta hai. Cascade UPDATE bhi hota hai (PK change) — rare.

  21. 21
    Difference between LIKE and ILIKE.
    Times asked 2
    Official solution

    SimpleLIKE case-sensitive Postgres. ILIKE insensitive. SQLite LIKE often insensitive.

    Search use ilike.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Venue.name.ilike(f'%{q}%').

    Project example: Venue.name.ilike(f'%{q}%').

  22. 22
    Write an ORM query to fetch a user by ID.
    Times asked 1
    Official solution

    Simple

    User.query.get(id) or db.session.get(User,id). Write ORM query fetch user by ID.

    None if missing.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: Not 404 unless get_or_404.

  23. 23
    What happens if two users try to book the same appointment/resource simultaneously?
    Times asked 1
    Official solution

    SimpleTwo users same slot: unique + txn. Last IntegrityError 400 just taken.

    Simultaneous book.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: unique(user,slot) or seat number unique.

    Project example: unique(user,slot) or seat number unique.

  24. 24
    Show your Celery tasks.
    Times asked 1
    Official solution

    SimpleTask function, beat dict, delay() call, worker+beat terminals, MailHog/CSV.

    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.

  25. 25
    Explain background mailing jobs.
    Times asked 1
    Official solution

    SimpleFlask-Mail SMTP Celery. Templates HTML. Verify MailHog/logs.

    Dynamic render_template user=stats.

    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.

    Project example: tasks send + reminder.html.

    Project example: tasks send + reminder.html.

  26. 26
    Write a v-for loop in Vue.
    Times asked 1
    Official solution

    Simplev-for item in items :key. Write v-for loop Vue. Syntax. Notepad.

    key required.

    Directives Vue ke special attributes hain — HTML ko superpower: v-if/v-show, v-for, v-bind (:), v-on (@), v-model.

    v-if DOM se hataata/jodta. v-show sirf CSS display. Rare/permission: v-if. Bar-bar toggle: v-show. v-model two-way form. v-bind one-way JS→attribute.

    :key v-for pe zaroori warna Vue galat reuse. v-html XSS. Secret UI ke liye sirf v-if kaafi nahi — API 403 bhi.

    MAD1 Jinja server HTML. MAD2 yeh directives browser mein reactive.

    Example

    <li v-for="s in students" :key="s.id">{{ s.name }}</li>

    Project example: li students.

  27. 27
    Write a v-if / v-else example in Vue.
    Times asked 1
    Official solution

    Simplev-if condition v-else. Write v-if / v-else example Vue.

    Same.

    Directives Vue ke special attributes hain — HTML ko superpower: v-if/v-show, v-for, v-bind (:), v-on (@), v-model.

    v-if DOM se hataata/jodta. v-show sirf CSS display. Rare/permission: v-if. Bar-bar toggle: v-show. v-model two-way form. v-bind one-way JS→attribute.

    :key v-for pe zaroori warna Vue galat reuse. v-html XSS. Secret UI ke liye sirf v-if kaafi nahi — API 403 bhi.

    MAD1 Jinja server HTML. MAD2 yeh directives browser mein reactive.

    Project example: isAdmin.

  28. 28
    Write an if-else statement in Vue.
    Times asked 1
    Official solution

    Simplev-if v-else on p. Write if-else Vue. Write v-if example.

    next sibling else.

    Directives Vue ke special attributes hain — HTML ko superpower: v-if/v-show, v-for, v-bind (:), v-on (@), v-model.

    v-if DOM se hataata/jodta. v-show sirf CSS display. Rare/permission: v-if. Bar-bar toggle: v-show. v-model two-way form. v-bind one-way JS→attribute.

    :key v-for pe zaroori warna Vue galat reuse. v-html XSS. Secret UI ke liye sirf v-if kaafi nahi — API 403 bhi.

    MAD1 Jinja server HTML. MAD2 yeh directives browser mein reactive.

    Example

    <p v-if="n>0">pos</p><p v-else>not</p>

    Project example: status.

  29. 29
    Write a JavaScript function to: Calculate the square of a number. Calculate the cube of a number. Multiply an integer by 4. Add two or three numbers.
    Times asked 1
    Official solution

    Simplesq n*n cube n**3 *4 add rest. Write JS square cube multiply 4 add two/three.

    Separate functions.

    JS browser ki language. const rebind nahi, let block. Arrow () => this lexical.

    Promise: pending/fulfill/reject. async/await usko seedha padhne jaisa. try/catch await pe. Yeh Celery nahi — Celery Python worker.

    fetch native AJAX. array.filter/map computed lists. Vue data reactive; plain JS DOM querySelector se manual.

    Example

    const sq=n=>n*n; const cube=n=>n**3; const mul4=n=>n*4; const add=(...a)=>a.reduce((x,y)=>x+y,0)

    Project example: Notepad.

  30. 30
    Write a JavaScript function to compute cube roots.
    Times asked 1
    Official solution

    SimpleMath.cbrt(n) ya n**(1/3). Write JS cube roots.

    Watch negative.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: console.log.

    Project example: console.log.

  31. 31
    Write an @app.route example for GET and POST methods.
    Times asked 1
    Official solution

    SimpleOne route methods GET+POST. GET JSON, POST create 201. Write @app.route GET and POST. Simple GET POST endpoints.

    if request.method.

    HTTP verbs + status REST ki zabaan. GET read, POST create, PUT replace, PATCH partial, DELETE remove. GET typically no body.

    Status: 200 OK, 201 created, 202 accepted (Celery task), 400 bad input, 401 no/bad token, 403 role nahi, 404 missing, 409 conflict (double book), 500 server.

    AJAX/fetch page reload nahi. SPA poori isi pe. Postman se bina Vue ke API prove karo — examiner pasand.

    Example

    @app.route('/api/echo', methods=['GET','POST'])
    def echo():
        if request.method=='GET':
            return jsonify(ok=True)
        return jsonify(body=request.get_json()), 201

    Project example: echo API.

  32. 32
    Write a Jinja function/filter to calculate the cube of an integer.
    Times asked 1
    Official solution

    SimpleMAD1 templates. MAD2 mostly Vue; emails still Jinja. {{ n|cube }} custom filter. Write Jinja snippet Notepad.

    extends for block. cube filter.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    {{ value|cube }}
    @app.template_filter('cube')
    def cube(n): return int(n)**3

    Project example: reminder.html.

  33. 33
    What is MVC?
    Times asked 9
    Official solution

    SimpleModel-View-Controller separation of concerns.

    Map folders. Vue is V. Flask routes C. models M.

    MAD2 architecture: Vue SPA (client) → HTTP JSON → Flask API (server) → SQLAlchemy DB. Side path: Flask → Redis broker → Celery worker → MailHog/CSV.

    Client-server alag ports. State: Vue memory + LS token. Persistent: SQLite. Cache: Redis. MVC-ish: models.py, API views, Vue templates.

    Scale: more workers, Postgres, cache, not 'bigger SQLite file'.

    Example

    Vue Booking.vue → POST /api/book → Booking model → jsonify → this.bookings.push

    Project example: See architecture essay.

  34. 34
    What is Lazy Loading?
    Times asked 3
    Official solution

    SimpleLazy = zarurat pe load. Relationship default extra query. Vue route import() code-split.

    lazy='dynamic' query object. noload mat laao. Fast first paint.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: user.bookings access pe query. Dashboard joinedload instead.

  35. 35
    Approximately what percentage of your project was built using AI?
    Times asked 1
    Official solution

    SimpleSach % + kahan + kaise verify + kya seekha. Report se contradict mat.

    Boilerplate vs business logic. Examiner process poochta. 'Sab ChatGPT' red flag.

    Verify: docs, run, edge case. Seekha: CORS, JWT exp, beat vs worker.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Jo number form/PDF mein hai wahi. Example file jo AI se start kiya, khud debug kiya.

    Viva tipExaminer 'kya seekha / kaise check kiya' pe marks. 'Sab ChatGPT' red flag. Jo khud debug kiya woh story ready rakho.

  1. 1
    Explain the important keywords/features used in your application.
    Times asked 1
    Official solution

    SimpleJWT RBAC cache celery v-model router guards — har ek location. Important keywords/features.

    Don't list unused.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: 6 keywords 6 files.

    Project example: 6 keywords 6 files.

  2. 2
    Explain your project folder and file structure.
    Times asked 1
    Official solution

    Simplebackend create_app models api jobs. frontend src router. config env. README.

    Don't read every file. 6 roles.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: tree command or VSCode explorer.

  3. 3
    Explain your database schema and table relationships.
    Times asked 2
    Official solution

    SimpleTables + lines (FK) + 1-M / M-M. Draw mentally, phir models.py.

    Har class: PK, important columns, relationships. Why normalized (no duplicate venue name in every show as only string without FK).

    Indexes search columns. Unique email. Cascade policy bookings pe.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: User-Role M-M. User-Booking 1-M. Venue-Show 1-M. Show-Booking 1-M.

  4. 4
    Explain your Search API and its implementation.
    Times asked 1
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  5. 5
    Explain the Admin dashboard statistics API.
    Times asked 1
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  6. 6
    Explain where and how Redis is implemented.
    Times asked 1
    Official solution

    Simpledb indexes cache vs broker, ping, which keys, why used.

    Physical RAM. Vue nahi. Hit miss. Celery alag.

    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.

    Alag: Redis ≠ Memcached (Celery broker nahi). Redis ≠ localStorage (woh browser). redis-cli ping → PONG viva proof.

    Project example: config URLs + decorator + celery broker.

  7. 7
    Explain where caching is implemented.
    Times asked 2
    Official solution

    SimpleCache = pehli baar hisaab karke copy rakh lo, doosri baar copy dikha do.

    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.

    Browser cache, Flask-Caching, Redis alag layers hain. MAD2 examiner Redis + @cache.cached code dekhta hai.

    Example

    @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.

  8. 8
    Explain improvements from MAD1 to MAD2.
    Times asked 1
    Official solution

    SimpleMAD1 Jinja MPA sessions. MAD2 Vue SPA REST JWT Redis Celery. Same domain CRUD, architecture jump.

    Improvements: SPA, cache, jobs, JWT. Still add tests/cancel.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Reuse models idea, rewrite UI APIs jobs.

  9. 9
    Explain your project architecture.
    Times asked 2
    Official solution

    SimpleClient-server SPA + background workers. Boxes: Vue | HTTP JSON | Flask | SQLite | Redis | Celery.

    Not microservices. Layered REST. Cache aur queue extra.

    Scale story alag: gunicorn, Postgres, more workers.

    MAD2 architecture: Vue SPA (client) → HTTP JSON → Flask API (server) → SQLAlchemy DB. Side path: Flask → Redis broker → Celery worker → MailHog/CSV.

    Client-server alag ports. State: Vue memory + LS token. Persistent: SQLite. Cache: Redis. MVC-ish: models.py, API views, Vue templates.

    Scale: more workers, Postgres, cache, not 'bigger SQLite file'.

    Suggested flowBrowser Vue → HTTP JSON → Flask → SQLAlchemy → DB
    Extra: Redis cache; Celery via Redis

    Project example: Draw 6 boxes viva mein. Point to folders.

  10. 10
    Hide/show a button conditionally using v-if.
    Times asked 1
    Official solution

    Simplev-if / else-if / else. v-else next sibling immediately.

    Write if-else Vue. Hide login v-if.

    Directives Vue ke special attributes hain — HTML ko superpower: v-if/v-show, v-for, v-bind (:), v-on (@), v-model.

    v-if DOM se hataata/jodta. v-show sirf CSS display. Rare/permission: v-if. Bar-bar toggle: v-show. v-model two-way form. v-bind one-way JS→attribute.

    :key v-for pe zaroori warna Vue galat reuse. v-html XSS. Secret UI ke liye sirf v-if kaafi nahi — API 403 bhi.

    MAD1 Jinja server HTML. MAD2 yeh directives browser mein reactive.

    Example

    <p v-if="status === 'ok'">Done</p>
    <p v-else-if="status === 'wait'">Loading</p>
    <p v-else>Error</p>

    Project example: status messages.

  11. 11
    Show a welcome message below the search bar when searching for a specific keyword.
    Times asked 1
    Official solution

    Simplev-if q==='secret' welcome else results. Welcome below search specific keyword.

    Live.

    MAD2 architecture: Vue SPA (client) → HTTP JSON → Flask API (server) → SQLAlchemy DB. Side path: Flask → Redis broker → Celery worker → MailHog/CSV.

    Client-server alag ports. State: Vue memory + LS token. Persistent: SQLite. Cache: Redis. MVC-ish: models.py, API views, Vue templates.

    Scale: more workers, Postgres, cache, not 'bigger SQLite file'.

    Project example: Search.vue.

    Project example: Search.vue.

  12. 12
    Prevent company registration based on a backend condition.
    Times asked 1
    Official solution

    Simpleif not meets(rule) 400. Example domain. Prevent company registration condition.

    Backend.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: register_company.

    Project example: register_company.

  13. 13
    Prevent blacklisting users whose usernames satisfy a specific condition (logic problem).
    Times asked 1
    Official solution

    SimpleSkip blacklist if username matches pattern — logic puzzle if not cond: flag.

    Prevent blacklisting users whose usernames satisfy condition.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Write if carefully, test two names.

  14. 14
    Change a button color.
    Times asked 1
    Official solution

    SimpleLive CSS/Vue: sabse chhota change jo dikhe. Logic/API mat todo unless poochhein.

    Inspect element se class dhoondo. btn-success, navbar bottom fixed, center flex.

    Save, refresh, dikhao. Break mat karo layout poora.

    Example

    <button class="btn btn-success">Login</button>
    nav { position: fixed; bottom: 0; width: 100%; }
    .wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; }

    Project example: Jo button/navbar poocha usi file (Navbar.vue / App.vue / css).

    Viva tipDevTools se element inspect. Logic/API mat todo unless poochhein.

  15. 15
    Limit the maximum number of slots/seats while creating a record.
    Times asked 1
    Official solution

    Simpleif price < min or > max 400. Input :max. Limit product price range. Limit max slots/seats creating record.

    Both.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: create form + route.

    Project example: create form + route.

  16. 16
    Display backend validation errors in the browser/Developer Console.
    Times asked 1
    Official solution

    Simpleres.ok false → JSON message state/toast. try/catch network.

    Don't ignore 400. Show 'Already booked'.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    if (!res.ok) {
      const e = await res.json()
      this.error = e.message
    }

    Project example: book() method if (!res.ok) this.error = ...

  17. 17
    What is Vue.js?
    Times asked 5
    Official solution

    SimpleVue = UI ka smart assistant. Data badlo, screen khud update. MAD1 Jinja har click pe naya HTML.

    Progressive frontend framework. Components, reactivity, directives.

    MAD2 SPA: ek index.html, Vue Router pages, Flask sirf JSON.

    Fayde: easy, SFC, docs. Vs React: templates HTML-like, course sikhata hai. Vs plain JS: baar-baar DOM mat chhedo.

    Example

    <!-- HelloWorld.vue -->
    <template>
      <h1>{{ msg }}</h1>
    </template>
    <script>
    export default { data() { return { msg: 'Hello' } } }
    </script>

    Project example: Navbar.vue + views (Login, Dashboard). data() / setup() reactive. fetch APIs.

    Viva tipFayde: easy, SFC, reactivity. Vs React: chhota learning curve. Vs plain JS: UI state auto-update.

  18. 18
    What is a reactive framework?
    Times asked 4
    Official solution

    SimpleReactive: data change → UI auto. Vue/React. jQuery manual.

    Why Vue. Lose reactivity Vue2 new field. Vue3 proxy better.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Change data, list updates.

  19. 19
    Vue CLI vs Vue CDN.
    Times asked 6
    Official solution

    SimpleCDN = Vue script tag se, jaise pen drive. CLI/Vite = poori factory (SFC, npm, bundle).

    CDN: no build, chhote apps, exam PC pe Node nahi to bhi chal. Weak: no .vue compile, 3rd-party cache, scale/team.

    CLI/Vite: Single File Components, env, code-split, production dist/. Scalable.

    Examiner 'which + why' — jo use kiya wahi justify, doosra naam rato mat.

    Example

    <!-- CDN -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    
    # Vite
    npm run dev
    npm run build

    Project example: CDN: index.html unpkg vue. CLI: package.json, npm run serve / vite.

    Viva tipCDN scalable large teams ke liye weak (no SFC compile, caching 3rd party). Examiner 'which + why' poochta hai — jo use kiya wahi justify karo.

  20. 20
    What are Vue directives?
    Times asked 6
    Official solution

    SimpleDirectives Vue ke special attributes — HTML ko superpower.

    v-if/else/show, v-for, v-bind (:), v-on (@), v-model, v-html (XSS), v-cloak, v-slot.

    :src = v-bind:src. @click = v-on:click.

    Custom directives bhi (v-focus) — course basics kaafi.

    Example

    <p v-if="ok">Yes</p>
    <li v-for="u in users" :key="u.id">{{ u.name }}</li>
    <input v-model="email">
    <img :src="url">

    Project example: List v-for :key. Form v-model. Admin v-if. Image :src.

    Viva tip: src ke liye v-bind:src ka shorthand. @click = v-on:click.

  21. 21
    Difference between v-if and v-show.
    Times asked 10
    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.

    Rare / permission UI: v-if (admin panel). Dropdown bar-bar: v-show.

    : shorthand v-bind ka, v-if ka nahi.

    Example

    <div v-if="isAdmin">Admin panel</div>
    <div v-show="open">Dropdown</div>

    Project example: Admin links v-if="role==='admin'". FAQ accordion v-show="open".

    Viva tipSecurity ke liye sirf v-if kaafi nahi — API 403 bhi chahiye.

  22. 22
    What is v-cloak?
    Times asked 2
    Official solution

    Simplev-cloak compile se pehle {{ }} hide. CSS [v-cloak]{display:none}.

    CDN flash of mustache.

    Directives Vue ke special attributes hain — HTML ko superpower: v-if/v-show, v-for, v-bind (:), v-on (@), v-model.

    v-if DOM se hataata/jodta. v-show sirf CSS display. Rare/permission: v-if. Bar-bar toggle: v-show. v-model two-way form. v-bind one-way JS→attribute.

    :key v-for pe zaroori warna Vue galat reuse. v-html XSS. Secret UI ke liye sirf v-if kaafi nahi — API 403 bhi.

    MAD1 Jinja server HTML. MAD2 yeh directives browser mein reactive.

    Project example: index.html v-cloak if CDN.

  23. 23
    What are Vue lifecycle hooks?
    Times asked 11
    Official solution

    SimpleLifecycle = component ki zindagi ke stages. API call tab jab DOM ready ho — mounted.

    created: instance bani, this data, DOM nahi. mounted/onMounted: page pe aa gaya — fetch, Chart.js, setInterval.
    updated: data change ke baad. unmounted: cleanup (clearInterval) warna memory leak.

    Dashboards onMounted isliye: canvas/API tab valid. created mein $el nahi.

    Composition: onMounted(() => {}) setup ke andar.

    Example

    export default {
      async mounted() {
        const r = await fetch('/api/venues')
        this.venues = await r.json()
      }
    }

    Project example: Venues.vue mounted fetch list. Clock component unmounted pe interval clear.

    Viva tipcreated: data setup, DOM nahi. mounted/onMounted: $el mil gaya — fetch yahi. Dashboards isliye onMounted use karti hain.

  24. 24
    Which lifecycle hooks did you use?
    Times asked 1
    Official solution

    Simplemounted/onMounted data load. beforeUnmount cleanup. created if used. List 2 + why.

    Which lifecycle hooks did you use.

    Lifecycle = component ki zindagi: created (instance, DOM nahi) → mounted/onMounted (DOM ready — fetch, Chart.js yahi) → updated → unmounted (clearInterval).

    Dashboard API created mein isliye nahi ki $el/canvas missing ho sakta. Composition API: onMounted(() => {}) setup ke andar. Options: mounted() method. Mix mat.

    Examiner 'konsa hook use kiya' — related .vue kholo, line padh ke bolo.

    Project example: Open files grep mounted.

  25. 25
    Explain watch() and where you used it.
    Times asked 1
    Official solution

    Simplewatch = 'jab yeh badle tab yeh karo'. Computed nahi, kyunki return value nahi, kaam hai.

    deep: true objects. immediate: true first run. Composition watch().

    Search, $route.params.id load user.

    Component = reusable UI block (Navbar, Card). Props parent→child data, emit child→parent event. Slots parent HTML inner content.

    computed cache + reactive derive (filtered list). watch side-effect (query change pe API). methods events. ref() primitive, reactive() object. Vuex/Pinia global store; localStorage persist, store nahi.

    SFC: template + script + style ek .vue file. Parent-child exam favourite: list parent, row child :item + @delete.

    Example

    watch(() => route.params.id, (id) => loadUser(id))

    Project example: watch query debounce 300ms search API. Nahi use to 'computed kaafi'.

  26. 26
    What are Props?
    Times asked 4
    Official solution

    SimpleProps parent ki thali child ko dena. Child thali tod ke parent ki thali na badle — emit bolo.

    Declare props, parent :venue="v". One-way. Mutate mat. Types/required Vue 3.

    List parent, card child — classic viva.

    Component = reusable UI block (Navbar, Card). Props parent→child data, emit child→parent event. Slots parent HTML inner content.

    computed cache + reactive derive (filtered list). watch side-effect (query change pe API). methods events. ref() primitive, reactive() object. Vuex/Pinia global store; localStorage persist, store nahi.

    SFC: template + script + style ek .vue file. Parent-child exam favourite: list parent, row child :item + @delete.

    Example

    <VenueCard :venue="v" @select="onSelect" />
    props: ['venue']
    this.$emit('select', this.venue.id)

    Project example: VenueCard :venue. Child $emit('select', id).

  27. 27
    What is emit?
    Times asked 3
    Official solution

    Simpleemit = child parent ko chillata hai: 'delete 5'. Props down, events up.

    this.$emit('delete', id). Parent @delete="removeRow".

    Grandchild: chain emit ya Vuex/provide.

    Component = reusable UI block (Navbar, Card). Props parent→child data, emit child→parent event. Slots parent HTML inner content.

    computed cache + reactive derive (filtered list). watch side-effect (query change pe API). methods events. ref() primitive, reactive() object. Vuex/Pinia global store; localStorage persist, store nahi.

    SFC: template + script + style ek .vue file. Parent-child exam favourite: list parent, row child :item + @delete.

    Example

    this.$emit('delete', id)
    // parent: <Child @delete="removeRow" />

    Project example: BookingRow emit cancel → parent list se hata + API DELETE.

  28. 28
    What is Axios?
    Times asked 2
    Official solution

    SimpleAxios HTTP library: JSON auto, interceptors, timeout. fetch built-in alternative.

    Na use kiya: 'fetch native, extra lib nahi' valid.
    Use kiya: interceptor mein token. Why didn't: deps kam.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    axios.get('/api/venues', { headers: { Authorization: 'Bearer ' + token } })

    Project example: axios.defaults.headers.common.Authorization. baseURL :5000.

    Viva tipNa use kiya to bolo: fetch native hai, extra lib nahi. Use kiya to interceptor mein token set karna dikhao.

  29. 29
    Why didn't you use Axios?
    Times asked 1
    Official solution

    Simplefetch native, fewer deps. Valid.

    If axios used, opposite: interceptors.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: api.js fetch wrapper.

    Project example: api.js fetch wrapper.

  30. 30
    What is Vue Router's # (hash mode) in the URL? Where is it configured?
    Times asked 1
    Official solution

    SimpleRouter URL ko component se map karta hai. Google Maps for pages.

    routes array path+component. router-view jagah. router-link reload nahi.

    meta.auth + beforeEach guard. Dynamic /venues/:id.

    Nayi page: SFC + routes entry + link.

    Example

    const routes = [
      { path: '/', component: Home },
      { path: '/login', component: Login },
      { path: '/venues/:id', component: VenueDetail, meta: { auth: true } },
    ]

    Project example: routes.js Login, Register, UserHome, AdminHome, 404.

    Viva tipNayi page: component banao, routes array mein path, router-link se jao.

  31. 31
    What is the difference between Vue 2 and Vue 3?
    Times asked 1
    Official solution

    SimpleVue 3 naya engine: Composition API, fragments, better TS, tree-shaking. Vue 2 Options + filters.

    mounted vs onMounted. Filters Vue 3 mein hata — computed/methods.

    Version package.json / Vue.version se dikhao. Jo use kiya uske hooks bolo.

    SPA = ek HTML, Vue Router se views, full reload nahi. MPA = MAD1 Jinja har URL naya HTML.

    Vue Router: routes array, router-view, router-link, meta.auth + beforeEach guard. Dynamic /venues/:id$route.params.id.

    Vite/CLI SFC + npm build dist/. CDN script tag, no SFC. Jo tumne use kiya wahi justify. Flask send_from_directory('dist') production pattern.

    Project example: package.json vue ^3.x. setup() + onMounted fetch.

    Viva tipVersion package.json / Vue.version se dikhao. MAD2 dono allowed usually — jo use kiya uske hooks bolo (mounted vs onMounted).

  32. 32
    What is Node.js?
    Times asked 1
    Official solution

    SimpleNode JS runtime bahar browser. Vite/CLI ko chahiye. CDN-only app browser se chal sakti.

    node_modules venv mein nahi.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: node -v. npm run serve.

  33. 33
    What is Node?
    Times asked 1
    Official solution

    SimpleNode JS runtime bahar browser. Vite/CLI ko chahiye. CDN-only app browser se chal sakti.

    node_modules venv mein nahi.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: node -v. npm run serve.

  34. 34
    What is npm?
    Times asked 2
    Official solution

    Simplenpm Node package manager. package.json scripts/deps. node_modules folder.

    Not inside venv. Python pip alag. lockfile versions.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: npm install. scripts dev/build.

    Viva tipnode_modules venv ke andar nahi — project root pe. Python venv alag, npm alag.

  35. 35
    Why do we need Node.js?
    Times asked 1
    Official solution

    SimpleToolchain: Vite, npm packages. Runtime Vue ka browser. Prod static dist only possible.

    CDN path Node skip. CLI path Node zaroori.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Which you used.

  36. 36
    Can your application be built using plain JavaScript instead of Vue?
    Times asked 1
    Official solution

    SimpleHaan possible innerHTML manual DOM. Vue saves time. Course wants Vue.

    Can built using plain JS instead of Vue? Possible not practical spec.

    JS browser ki language. const rebind nahi, let block. Arrow () => this lexical.

    Promise: pending/fulfill/reject. async/await usko seedha padhne jaisa. try/catch await pe. Yeh Celery nahi — Celery Python worker.

    fetch native AJAX. array.filter/map computed lists. Vue data reactive; plain JS DOM querySelector se manual.

    Project example: We used Vue required.

  37. 37
    How does JavaScript work?
    Times asked 2
    Official solution

    SimpleEngine parse, event loop, Web APIs fetch. Vue compile template render fn.

    Single-threaded + queue. Reactivity on top.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Don't go too OS-level unless asked.

  38. 38
    What are asynchronous functions?
    Times asked 1
    Official solution

    SimpleSync line pe ruk jao (2+2). Async I/O pe wait karte hue baaki kaam chalte (fetch, Celery).

    JS async ≠ Celery async jobs. Context se bolo.

    Why async jobs: slow/scheduled/bulk off request thread.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Login sync hash check fast. Email Celery async. Vue fetch async.

  39. 39
    What are Promises?
    Times asked 1
    Official solution

    SimplePromise IOU hai: abhi nahi, baad mein value ya error.

    States: pending, fulfilled, rejected. fetch() promise return. then/catch/finally.

    async function hamesha Promise return. await usko unwrap. Galat: await without async; missing await to Promise object milta data nahi.

    JS browser ki language. const rebind nahi, let block. Arrow () => this lexical.

    Promise: pending/fulfill/reject. async/await usko seedha padhne jaisa. try/catch await pe. Yeh Celery nahi — Celery Python worker.

    fetch native AJAX. array.filter/map computed lists. Vue data reactive; plain JS DOM querySelector se manual.

    Example

    fetch('/api/hello')
      .then(r => r.json())
      .then(d => console.log(d))
      .catch(err => console.error(err))

    Project example: fetch venues .then json. Ya async mounted await.

  40. 40
    Relationship between Promises and async/await.
    Times asked 1
    Official solution

    Simpleawait promise. async always returns promise. Same states.

    Relationship promises and async/await.

    JS browser ki language. const rebind nahi, let block. Arrow () => this lexical.

    Promise: pending/fulfill/reject. async/await usko seedha padhne jaisa. try/catch await pe. Yeh Celery nahi — Celery Python worker.

    fetch native AJAX. array.filter/map computed lists. Vue data reactive; plain JS DOM querySelector se manual.

    Project example: fetch is promise, await in mounted.

    Project example: fetch is promise, await in mounted.

  41. 41
    What are anonymous functions?
    Times asked 1
    Official solution

    SimpleAnonymous ka naam nahi. Arrow aksar. const foo = () => {} naam infer.

    function foo() named. Is every arrow anon? Usually yes.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: v-for callbacks arrows.

  42. 42
    Is every arrow function anonymous?
    Times asked 1
    Official solution

    SimpleAksar haan. Assigned const named. function declaration named.

    Why arrows in routes: lazy () => import(), lexical this.

    JS browser ki language. const rebind nahi, let block. Arrow () => this lexical.

    Promise: pending/fulfill/reject. async/await usko seedha padhne jaisa. try/catch await pe. Yeh Celery nahi — Celery Python worker.

    fetch native AJAX. array.filter/map computed lists. Vue data reactive; plain JS DOM querySelector se manual.

    Project example: router lazy import arrows.

    Project example: router lazy import arrows.

  43. 43
    What are named exports?
    Times asked 1
    Official solution

    Simpleexport default ek. named { foo }. SFC default component.

    index.js import App from. routes named maybe.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: HelloWorld.vue default export.

    Project example: HelloWorld.vue default export.

  44. 44
    What is a default export?
    Times asked 1
    Official solution

    Simpleexport default ek. named { foo }. SFC default component.

    index.js import App from. routes named maybe.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: HelloWorld.vue default export.

    Project example: HelloWorld.vue default export.

  45. 45
    Create a list of five integers in JavaScript.
    Times asked 1
    Official solution

    Simpleconst arr=[1,2,3,4,5] ya Array.from. Create list five integers JS.

    console.log.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Notepad.

    Project example: Notepad.

  46. 46
    Use a higher-order function to multiply every element by 70.
    Times asked 1
    Official solution

    Simple[1,2,3].map(x => x * 70). Use HOF multiply every element 70.

    map not for loop if they want HOF.

    JS browser ki language. const rebind nahi, let block. Arrow () => this lexical.

    Promise: pending/fulfill/reject. async/await usko seedha padhne jaisa. try/catch await pe. Yeh Celery nahi — Celery Python worker.

    fetch native AJAX. array.filter/map computed lists. Vue data reactive; plain JS DOM querySelector se manual.

    Project example: console.log.

    Project example: console.log.

  47. 47
    How do you execute a standalone JavaScript file?
    Times asked 1
    Official solution

    Simplenode file.js ya browser console / online editor (jsfiddle). DOM APIs node mein nahi.

    JS browser ki language. const rebind nahi, let block. Arrow () => this lexical.

    Promise: pending/fulfill/reject. async/await usko seedha padhne jaisa. try/catch await pe. Yeh Celery nahi — Celery Python worker.

    fetch native AJAX. array.filter/map computed lists. Vue data reactive; plain JS DOM querySelector se manual.

    Project example: Related .vue method: filter/map ya async fetch.

  48. 48
    What is create_app() and what are its benefits?
    Times asked 1
    Official solution

    SimpleFactory: test/prod configs, circular imports kam, celery/cache bind. Multiple instances.

    What is create_app benefits. Flask(__name__) locate templates. Don't remove casually.

    Flask Python micro web framework. Route decorator URL → function. MAD2 mein JSON API: request.get_json(), jsonify, JWT.

    WSGI: server (Werkzeug) app ko call. if __name__ == '__main__' sirf direct run. Factory create_app() test/celery ke liye.

    Blueprint/resources folders. @app.route vs MethodView. Debug=True viva local, prod nahi. CORS alag port Vue ke liye.

    Example

    def create_app():
        app = Flask(__name__)
        db.init_app(app)
        cache.init_app(app)
        return app

    Project example: def create_app(): app=Flask; db.init; return app

  49. 49
    Why are underscores (_) used in Python?
    Times asked 1
    Official solution

    SimpleConvention _internal __dunder protocol. Not security.

    Why underscores used.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: _parse_row helper.

    Project example: _parse_row helper.

  50. 50
    What does jsonify() do?
    Times asked 1
    Official solution

    Simplejsonify Flask ka JSON response + sahi Content-Type. dumps sirf string.

    marshal schema. serialize models. pickle APIs pe nahi.

    Flask Python micro web framework. Route decorator URL → function. MAD2 mein JSON API: request.get_json(), jsonify, JWT.

    WSGI: server (Werkzeug) app ko call. if __name__ == '__main__' sirf direct run. Factory create_app() test/celery ke liye.

    Blueprint/resources folders. @app.route vs MethodView. Debug=True viva local, prod nahi. CORS alag port Vue ke liye.

    Example

    return jsonify(users=[{'id': u.id, 'email': u.email} for u in User.query.all()])

    Project example: return jsonify(users=[u.serialize() for u in users])

  51. 51
    What makes an API RESTful?
    Times asked 1
    Official solution

    SimpleNouns URLs, verbs, JSON, stateless, codes.

    What makes an API RESTful.

    HTTP verbs + status REST ki zabaan. GET read, POST create, PUT replace, PATCH partial, DELETE remove. GET typically no body.

    Status: 200 OK, 201 created, 202 accepted (Celery task), 400 bad input, 401 no/bad token, 403 role nahi, 404 missing, 409 conflict (double book), 500 server.

    AJAX/fetch page reload nahi. SPA poori isi pe. Postman se bina Vue ke API prove karo — examiner pasand.

    Project example: Not /getVenue.

    Project example: Not /getVenue.

  52. 52
    What are the REST design principles?
    Times asked 1
    Official solution

    SimpleStateless resource URLs uniform interface verbs JSON HATEOAS optional.

    REST design principles. What makes API RESTful.

    HTTP verbs + status REST ki zabaan. GET read, POST create, PUT replace, PATCH partial, DELETE remove. GET typically no body.

    Status: 200 OK, 201 created, 202 accepted (Celery task), 400 bad input, 401 no/bad token, 403 role nahi, 404 missing, 409 conflict (double book), 500 server.

    AJAX/fetch page reload nahi. SPA poori isi pe. Postman se bina Vue ke API prove karo — examiner pasand.

    Project example: Our /venues/1 verbs.

  53. 53
    Are HTTP methods part of REST or HTTP itself?
    Times asked 1
    Official solution

    SimpleMethods belong HTTP. REST uses as convention. GET exists without REST.

    Are HTTP methods part of REST or HTTP itself? HTTP.

    HTTP verbs + status REST ki zabaan. GET read, POST create, PUT replace, PATCH partial, DELETE remove. GET typically no body.

    Status: 200 OK, 201 created, 202 accepted (Celery task), 400 bad input, 401 no/bad token, 403 role nahi, 404 missing, 409 conflict (double book), 500 server.

    AJAX/fetch page reload nahi. SPA poori isi pe. Postman se bina Vue ke API prove karo — examiner pasand.

    Project example: Browser GET HTML also HTTP.

  54. 54
    Which HTTP methods should contain a request body?
    Times asked 1
    Official solution

    SimplePOST PUT PATCH. GET/HEAD no. DELETE optional body.

    Which HTTP methods should contain request body.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Postman.

    Project example: Postman.

  55. 55
    Difference between HTTP and HTTPS.
    Times asked 6
    Official solution

    SimpleHTTP postcard (koi padh le). HTTPS envelope (TLS lock).

    Same headers, encrypted channel. MITM se password/token bachao. Local viva HTTP OK.

    HTTP/1.1 version keep-alive. TCP neeche, TLS security layer, SMTP mail alag.

    Browser + API ke beech extra darwaze: CORS origin allow, HTTPS encrypt transit, CSRF cookie-auto-send attack, XSS HTML inject, SQL injection raw query.

    MAD2 SPA: Vue :8080 Flask :5000 → Flask-CORS. JWT localStorage XSS se chori ho sakta — v-html user input pe avoid. Password Network tab localhost pe dikhega; prod HTTPS, response mein password echo nahi.

    401 unauthenticated, 403 unauthorized, 400 validation. Hash one-way — SHA decrypt nahi hota. Secret key .env, GitHub pe nahi.

    Project example: Dev localhost http. Production https:// + cert.

    Viva tipProtocols: HTTP/HTTPS app, TCP transport, TLS security, SMTP mail. HTTP/1.1 version — persistent connections.

  56. 56
    What does HTTP/1.1 mean?
    Times asked 1
    Official solution

    SimpleHTTP/1.1 version request line. Host header keep-alive. 2/3 multiplexing later.

    What does HTTP/1.1 mean.

    HTTP verbs + status REST ki zabaan. GET read, POST create, PUT replace, PATCH partial, DELETE remove. GET typically no body.

    Status: 200 OK, 201 created, 202 accepted (Celery task), 400 bad input, 401 no/bad token, 403 role nahi, 404 missing, 409 conflict (double book), 500 server.

    AJAX/fetch page reload nahi. SPA poori isi pe. Postman se bina Vue ke API prove karo — examiner pasand.

    Project example: Network headers HTTP/1.1.

  57. 57
    Explain TLS.
    Times asked 1
    Official solution

    SimpleTLS handshake encrypt. HTTPS = HTTP over TLS. Certificates.

    Explain TLS.

    Browser + API ke beech extra darwaze: CORS origin allow, HTTPS encrypt transit, CSRF cookie-auto-send attack, XSS HTML inject, SQL injection raw query.

    MAD2 SPA: Vue :8080 Flask :5000 → Flask-CORS. JWT localStorage XSS se chori ho sakta — v-html user input pe avoid. Password Network tab localhost pe dikhega; prod HTTPS, response mein password echo nahi.

    401 unauthenticated, 403 unauthorized, 400 validation. Hash one-way — SHA decrypt nahi hota. Secret key .env, GitHub pe nahi.

    Project example: https padlock prod.

  58. 58
    Explain TCP.
    Times asked 1
    Official solution

    SimpleTCP reliable ordered bytes. HTTP usually TCP. UDP nahi HTTP.

    Explain TCP.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Don't go packet-level unless asked.

    Project example: Don't go packet-level unless asked.

  59. 59
    What communication protocol is used between Vue and Flask?
    Times asked 1
    Official solution

    SimpleVue↔Flask HTTP/HTTPS JSON. TCP below. Auth Bearer. CORS.

    What communication protocol Vue and Flask. What protocols know HTTP HTTPS TCP TLS SMTP.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: REST JSON not gRPC.

  60. 60
    How can you access a server without using a browser?
    Times asked 1
    Official solution

    Simplecurl Postman httpie Thunder. Same HTTP.

    How access server without browser.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    curl -H 'Authorization: Bearer TOKEN' http://localhost:5000/api/venues

    Project example: curl demo.

  61. 61
    What is a relational database?
    Times asked 2
    Official solution

    SimpleRDBMS tables SQL. SQLite/Postgres/MySQL. Database data, DBMS software.

    SQLite engine + file. DBMS vs DB difference favourite.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: SQLite DBMS, app.db database file.

  62. 62
    What is a NoSQL database?
    Times asked 2
    Official solution

    SimpleNon-relational: Mongo docs, Redis kv, Cassandra. Flexible schema.

    MAD2 Redis cache. Primary models SQL.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Not Mongo. Redis yes.

    Project example: Not Mongo. Redis yes.

  63. 63
    Difference between a Database and a Database Management System (DBMS).
    Times asked 1
    Official solution

    SimpleDatabase data. DBMS software (SQLite engine, Postgres) jo manage karta hai.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: models.py User/Booking relationships. filter_by unique email.

  64. 64
    Which DBMS and database are you using?
    Times asked 1
    Official solution

    SimpleSQLite engine + file. Redis extra cache. Postgres if migrated.

    Which DBMS and database.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: URI string.

  65. 65
    Why is SQLite suitable for your application?
    Times asked 1
    Official solution

    SimpleZero config, one file submit, course size. Not heavy concurrent writes.

    Why suitable. Scale later Postgres.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: app.db instance folder.

  66. 66
    What enables SQL databases to scale efficiently?
    Times asked 1
    Official solution

    SimpleIndexes EXPLAIN pool replicas partition cache hot queries. What enables SQL scale.

    Not just bigger disk.

    MAD2 architecture: Vue SPA (client) → HTTP JSON → Flask API (server) → SQLAlchemy DB. Side path: Flask → Redis broker → Celery worker → MailHog/CSV.

    Client-server alag ports. State: Vue memory + LS token. Persistent: SQLite. Cache: Redis. MVC-ish: models.py, API views, Vue templates.

    Scale: more workers, Postgres, cache, not 'bigger SQLite file'.

    Project example: email index search.

    Project example: email index search.

  67. 67
    What is ORM?
    Times asked 49
    Official solution

    SimpleORM = translator. Python object bolo, woh SQL mein baat kare.

    Object Relational Mapper. Class User ↔ table user. Raw SQL kam.

    SQLAlchemy MAD1/MAD2. Fayde: portable SQLite→Postgres, relationships, parameterized queries (injection kam).
    Nuksaan: N+1, hidden SQL, complex reports pe raw better.

    Direct sqlite3 se SQLAlchemy isliye: models, switch DB, safer queries.

    Example

    class User(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        email = db.Column(db.String(128), unique=True)
    User.query.filter_by(email='a@b.com').first()

    Project example: models.py db.Model. resources User.query.filter_by. Koi f-string SQL nahi.

    Viva tipFayde: safe-ish, portable (SQLite→Postgres). Nuksaan: complex queries, N+1, leaky abstractions. Direct SQLite se SQLAlchemy isliye: models + injection protection + switch DB.

  68. 68
    Advantages of ORM.
    Times asked 5
    Official solution

    SimpleProductivity portability relationships. Disadv hidden SQL N+1 magic.

    Advantages of ORM. Disadvantages separate.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: Both sides ready.

  69. 69
    Disadvantages of ORM.
    Times asked 2
    Official solution

    SimpleComplex reports raw better. Perf surprise. Learning ORM.

    Disadvantages of ORM.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: N+1 example loop u.bookings.

  70. 70
    What are ENUMs?
    Times asked 1
    Official solution

    SimpleENUM allowed values set. App-level choices bhi. Status pending/approved.

    What are ENUMs.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: status string with check or Enum.

    Project example: status string with check or Enum.

  71. 71
    What is __tablename__? Is it mandatory?
    Times asked 1
    Official solution

    Simple__tablename__ explicit. Hatao class→user auto. Explicit rename/legacy better.

    Is it mandatory? No. Why use: control name reserved stable migrations. Remove → autogenerate maybe change.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    class User(db.Model):
        __tablename__ = 'users'

    Project example: class User __tablename__='users'.

  72. 72
    How do you restrict password length at the database level?
    Times asked 1
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  73. 73
    How would you migrate from SQLite to another database?
    Times asked 1
    Official solution

    SimpleURI badlo, types BOOLEAN, migrations, dump/load. Models almost same.

    SQLite to Postgres. Production gunicorn+hosted Redis.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Example

    SQLALCHEMY_DATABASE_URI = 'postgresql://user:pass@localhost/mad2'

    Project example: SQLALCHEMY_DATABASE_URI postgresql://...

    Viva tipProduction: Postgres + gunicorn + Redis hosted. SQLite file locking 10k users pe nahi.

  74. 74
    Session-based vs Token-based authentication.
    Times asked 3
    Official solution

    SimpleSession school id card office mein rakha. Token photocopy jo tum har baar dikhate ho.

    Session: Set-Cookie, server store, MAD1 Flask-Login. CSRF risk cookies auto-send.

    Token/JWT: SPA + alag port Vue/Flask, scale easy, mobile. XSS if localStorage.

    MAD2 typically JWT/Flask-Security token. httpOnly cookie safer lekin CORS+CSRF extra.

    Example

    # session
    login_user(user)  # Set-Cookie
    # token
    return jsonify(token=create_access_token(identity=user.id))

    Project example: login jsonify token. Vue LS. MAD1 session cookie nahi dikhana unless used.

    Viva tipToken localStorage XSS risk; httpOnly cookie safer. Session CSRF risk. MAD2 APIs ke liye JWT/Flask-Security token common.

  75. 75
    How does Session authentication work?
    Times asked 1
    Official solution

    SimpleSet-Cookie session id server dict user_id. Next request cookie. Logout destroy. How Session authentication works.

    MAD1 style. MAD2 if not used say JWT instead.

    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: If JWT, contrast.

  76. 76
    Pros and cons of JWT.
    Times asked 1
    Official solution

    Simple

    Faydestateless, mobile. Nuksaan: revoke hard, size, XSS LS, payload visible.

    Balance with httpOnly + short exp.

    Authentication poochta hai "tu kaun hai?", Authorization poochta hai "tujhe yeh kaam karne ki permission hai?"

    Authentication: login. Username + password hash check. Success pe JWT/session. Galat credentials = 401.
    Authorization: uske baad role. Admin hi venue/lot delete kare, student nahi = 403 (logged in ho, allowed nahi).

    MAD2: POST /api/login = authentication. @jwt_required identity. @roles_required('admin') ya Vue v-if="isAdmin" = authorization. Frontend hide sirf UX — asli deny backend pe.

    Validation alag: form sahi bhara (email format, age 18+). Woh identity prove nahi karta. Password store hash (Werkzeug), JWT payload padha ja sakta hai isliye secret mat daalo.

    Project example: We accepted LS risk for course simplicity.

  77. 77
    What is a Rainbow Table attack?
    Times asked 1
    Official solution

    SimplePrecomputed hash→password tables. Unique salt per user se useless. Slow hash.

    Why hashing + salt viva combo.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Werkzeug salts included in hash string.

  78. 78
    What hashing algorithm was used in MAD1?
    Times asked 1
    Official solution

    SimpleMAD1 commonly Werkzeug generate_password_hash pbkdf2:sha256. Show YOUR code.

    Don't guess bcrypt if not.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Open hash string prefix.

    Project example: Open hash string prefix.

  79. 79
    What is SHA-256?
    Times asked 1
    Official solution

    SimpleSHA-256 hash 256-bit. Passwords: pbkdf2/bcrypt not raw SHA. Decrypt nahi.

    Verify hash(input)==stored.

    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: Werkzeug pbkdf2:sha256 typical MAD1/MAD2.

  80. 80
    Can SHA-256 be decrypted?
    Times asked 1
    Official solution

    SimpleSHA-256 one-way, decrypt nahi. Brute/rainbow only. Salt+slow.

    Can SHA be decrypted? No.

    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: Don't say encrypt passwords.

  81. 81
    What is Redis?
    Times asked 21
    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.

    Example

    import redis
    r = redis.Redis(host='localhost', port=6379, db=0)
    r.set('venues', json.dumps(data), ex=30)
    print(r.get('venues'))

    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.

  82. 82
    What is Celery?
    Times asked 19
    Official solution

    SimpleCelery = background naukri. HTTP request ko 10 second email bhejne ke liye mat rokna.

    Distributed task queue: aap function ko abhi nahi, worker process mein later/retry/schedule pe chalaate ho.

    MAD2 typical jobs: daily reminder mail, monthly HTML report, user-triggered CSV export.

    Web request 200ms hona chahiye. 10,000 emails request thread mein = timeout. Worker alag CPU pe kaam kare.

    Redis broker chahiye. Beat alag process schedule ke liye.

    Example

    @celery.task
    def daily_reminder():
        for u in User.query.filter_by(active=True):
            send_mail(u.email, 'Book something today!')

    Project example: User Export click → 202 Accepted. Worker CSV + email. Daily 6pm Beat reminder.

    Viva tipWorker + Redis bina Beat ke user-triggered chalega. Scheduled jobs ke liye Beat bhi chahiye.

  83. 83
    Difference between Celery Worker and Celery Beat.
    Times asked 2
    Official solution

    SimpleBeat clock hai, Worker haath hai. Clock kaam nahi karti, haath nahi sochte kab.

    Worker: @celery.task execute. Beat: crontab padhke due time pe queue mein daal.
    Sirf worker = scheduled nahi. Sirf beat = queue bhar jaaye, koi run nahi.

    Dono ke saath redis-server. Logs mein 'Sending due task' Beat, 'Task succeeded' Worker.

    Example

    celery -A app.celery worker -l info
    celery -A app.celery beat -l info

    Project example: daily_reminder Beat 18:00. Worker MailHog. Export worker-only (button).

    Viva tipSirf worker = scheduled jobs nahi chalenge. Sirf beat = queue bhar jaaye, koi run nahi karega.

  84. 84
    Difference between Caching and Memoization.
    Times asked 2
    Official solution

    SimpleMemoize args-aware. cached view/URL. Prefixes differ.

    Same Redis. Different key recipe.

    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.

    Alag: Redis ≠ Memcached (Celery broker nahi). Redis ≠ localStorage (woh browser). redis-cli ping → PONG viva proof.

    Project example: Two decorators two files explain.

  85. 85
    What is Memoization?
    Times asked 2
    Official solution

    SimpleMemoize = function(args) ka answer copy. Caching broader (HTTP, Redis, page).

    Fibonacci textbook. Flask @cache.memoize. cached whole view.

    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.

    Alag: Redis ≠ Memcached (Celery broker nahi). Redis ≠ localStorage (woh browser). redis-cli ping → PONG viva proof.

    Project example: get_user(id) memoize. venues list cached.

  86. 86
    Do cached values always need to be stored in Redis database index 1?
    Times asked 1
    Official solution

    Simpledata() local diary. Store school notice board.

    Search query local. Logged-in user store. Persist: store + localStorage together.

    state vs data: similar concept, scope alag.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    // local
    data() { return { q: '' } }
    // global
    this.$store.state.user

    Project example: Login.vue local form fields. this.$store.state.user Navbar.

  87. 87
    What is in-memory storage?
    Times asked 1
    Official solution

    SimpleIn-memory = RAM. Tez, volatile. Process band to data gayab (unless dump).

    Redis, Memcached, Python dict. Dict multi-worker gunicorn mein share nahi hota — isliye Redis.

    DB persistent disk. Cache in-memory theek, bookings nahi.

    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.

    Alag: Redis ≠ Memcached (Celery broker nahi). Redis ≠ localStorage (woh browser). redis-cli ping → PONG viva proof.

    Project example: Cache Redis RAM. Users table SQLite file.

  88. 88
    How do Flask, Celery, Redis, and Vite interact?
    Times asked 1
    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.

    Example

    Celery: broker_url='redis://localhost:6379/0'
    Cache:  CACHE_REDIS_URL='redis://localhost:6379/1'

    Project example: export_csv.delay(user_id) Flask se. Worker Redis se task uthata hai, CSV+email. Cache alag keys venues.

    Viva tipAgar possible ho to cache db=1, broker db=0 — keys mix nahi hoti.

  89. 89
    Where is Redis physically storing its data?
    Times asked 1
    Official solution

    SimpleData Redis process ki RAM mein rehta hai, laptop ke browser mein nahi.

    Optional RDB/AOF files disk pe dump. Viva default: memory. Server-side.

    redis-cli ping, INFO memory. Browser Application tab alag cheez (JWT).

    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.

    Alag: Redis ≠ Memcached (Celery broker nahi). Redis ≠ localStorage (woh browser). redis-cli ping → PONG viva proof.

    Project example: Flask machine pe redis-server. Vue sirf API call — Redis client nahi.

  90. 90
    What is position: absolute in CSS?
    Times asked 1
    Official solution

    Simpleabsolute nearest positioned parent. Navbar bottom fixed bottom 0. What is position absolute.

    relative absolute fixed sticky.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Live navbar move.

  91. 91
    What do the four RGBA values represent?
    Times asked 1
    Official solution

    SimpleR G B 0–255, A 0–1 transparency. Four RGBA values.

    What do four RGBA represent.

    Look: Bootstrap utility classes (margin m-3, flex, grid) ya khud CSS. Responsive = media query / Bootstrap breakpoints se mobile.

    Vue scoped style leak nahi. :class binding. Examiner colour/button live change maange to DevTools nahi, source class dikhao.

    CSS ≠ Bootstrap. Bootstrap CSS+JS framework. Inline style last resort.

    Project example: background: rgba(0,0,0,0.5).

    Project example: background: rgba(0,0,0,0.5).

  92. 92
    What is Client-Server Architecture?
    Times asked 1
    Official solution

    SimpleClient Vue maangta, server Flask dete. Request-response.

    Distributed extra nodes. Protocol HTTP JSON.

    MAD2 architecture: Vue SPA (client) → HTTP JSON → Flask API (server) → SQLAlchemy DB. Side path: Flask → Redis broker → Celery worker → MailHog/CSV.

    Client-server alag ports. State: Vue memory + LS token. Persistent: SQLite. Cache: Redis. MVC-ish: models.py, API views, Vue templates.

    Scale: more workers, Postgres, cache, not 'bigger SQLite file'.

    Project example: Browser client. flask run server.

    Project example: Browser client. flask run server.

  93. 93
    What protocols do you know? (HTTP, HTTPS, TCP, TLS, SMTP, etc.)
    Times asked 1
    Official solution

    SimpleHTTP postcard (koi padh le). HTTPS envelope (TLS lock).

    Same headers, encrypted channel. MITM se password/token bachao. Local viva HTTP OK.

    HTTP/1.1 version keep-alive. TCP neeche, TLS security layer, SMTP mail alag.

    Browser + API ke beech extra darwaze: CORS origin allow, HTTPS encrypt transit, CSRF cookie-auto-send attack, XSS HTML inject, SQL injection raw query.

    MAD2 SPA: Vue :8080 Flask :5000 → Flask-CORS. JWT localStorage XSS se chori ho sakta — v-html user input pe avoid. Password Network tab localhost pe dikhega; prod HTTPS, response mein password echo nahi.

    401 unauthenticated, 403 unauthorized, 400 validation. Hash one-way — SHA decrypt nahi hota. Secret key .env, GitHub pe nahi.

    Project example: Dev localhost http. Production https:// + cert.

    Viva tipProtocols: HTTP/HTTPS app, TCP transport, TLS security, SMTP mail. HTTP/1.1 version — persistent connections.

  94. 94
    Why do we use a virtual environment (venv)?
    Times asked 1
    Official solution

    Simplevenv isolated Python packages. system Python safe. requirements.txt freeze.

    Need virtual environment. Node not inside it.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: .venv pip install -r.

  95. 95
    Are Node modules installed inside the virtual environment?
    Times asked 1
    Official solution

    SimpleNahi. pip venv Python. npm node_modules project root. Alag ecosystems.

    Examiner trap yes/no. Confident no.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: ls .venv vs ls node_modules.

    Project example: ls .venv vs ls node_modules.

  96. 96
    Where are Node modules stored?
    Times asked 1
    Official solution

    Simplenpm install se project/node_modules. venv Python ka.

    package-lock delete to resolve drift. Commit lockfile.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Don't zip node_modules usually — npm install.

  97. 97
    What is Vite?
    Times asked 1
    Official solution

    SimpleVite fast dev server (ESM) + production Rollup build.

    npm run dev HMR. build → dist. Flask static serve dist. Dev bina build OK.

    SPA = ek HTML, Vue Router se views, full reload nahi. MPA = MAD1 Jinja har URL naya HTML.

    Vue Router: routes array, router-view, router-link, meta.auth + beforeEach guard. Dynamic /venues/:id$route.params.id.

    Vite/CLI SFC + npm build dist/. CDN script tag, no SFC. Jo tumne use kiya wahi justify. Flask send_from_directory('dist') production pattern.

    Project example: vite.config.js. ports 5173.

    Viva tipDev server haan. Production: dist/ static files Flask serve karta hai. npm run build ke bina npm run dev zaroori nahi.

  98. 98
    Does Vite act as a development server?
    Times asked 1
    Official solution

    SimpleHaan, npm run dev development server + HMR. Prod nginx/flask dist.

    Not the same as flask run.

    SPA = ek HTML, Vue Router se views, full reload nahi. MPA = MAD1 Jinja har URL naya HTML.

    Vue Router: routes array, router-view, router-link, meta.auth + beforeEach guard. Dynamic /venues/:id$route.params.id.

    Vite/CLI SFC + npm build dist/. CDN script tag, no SFC. Jo tumne use kiya wahi justify. Flask send_from_directory('dist') production pattern.

    Project example: Two URLs :5173 UI :5000 API.

  99. 99
    What else does Vite provide?
    Times asked 1
    Official solution

    SimpleHMR plugin Vue env import.meta.env optimize deps preview. What else does Vite provide.

    besides dev server.

    SPA = ek HTML, Vue Router se views, full reload nahi. MPA = MAD1 Jinja har URL naya HTML.

    Vue Router: routes array, router-view, router-link, meta.auth + beforeEach guard. Dynamic /venues/:id$route.params.id.

    Vite/CLI SFC + npm build dist/. CDN script tag, no SFC. Jo tumne use kiya wahi justify. Flask send_from_directory('dist') production pattern.

    Project example: vite.config plugins.

  100. 100
    Do you need to run npm run build before npm run dev?
    Times asked 1
    Official solution

    SimpleDev ke liye build zaroori nahi. Prod/static: npm run build.

    Order: npm install, npm run dev. Build before dev nahi.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: README scripts.

    Project example: README scripts.

  101. 101
    What happens if package-lock.json is deleted?
    Times asked 1
    Official solution

    SimpleLockfile exact versions. Delete → next install bump. Builds differ.

    Commit package-lock.json.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: git status lockfile.

    Project example: git status lockfile.

  102. 102
    Can you regenerate the dist folder after deleting it?
    Times asked 1
    Official solution

    Simpledist production bundle. Delete → npm run build regenerate. Dev mode dist optional.

    Examiner delete dist. CLI yes. CDN maybe no dist.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: npm run build && flask serve.

  1. 1
    Demonstrate your complete application.
    Times asked 7
    Official solution

    SimpleDemo 5–7 min ki kahani: saari roles, koi milestone skip nahi, bolte-bolte dikhao.

    Examiner list tick karta hai. Crash ho to panic nahi — terminal error padho.

    Code tab kholna jab poochhein. Extra uncommitted features mat dikhana agar portal ZIP mein nahi.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search + charts
    6) CSV export / email job
    7) Logout

    Project example: Jo statement/parking/jobs/tickets hai uske user+admin journeys.

    Viva tipBol: 'Yahan overbooking rokta hoon'. Mandatory features pehle, polish baad.

  2. 2
    Explain your database models.
    Times asked 8
    Official solution

    SimpleTables + lines (FK) + 1-M / M-M. Draw mentally, phir models.py.

    Har class: PK, important columns, relationships. Why normalized (no duplicate venue name in every show as only string without FK).

    Indexes search columns. Unique email. Cascade policy bookings pe.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: User-Role M-M. User-Booking 1-M. Venue-Show 1-M. Show-Booking 1-M.

  3. 3
    Explain all your API endpoints.
    Times asked 1
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  4. 4
    Explain your project structure.
    Times asked 3
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  5. 5
    Explain the complete flow from Database → API → Frontend.
    Times asked 1
    Official solution

    SimpleClick → Vue method → fetch → Flask auth → DB → jsonify → Vue state → template. Celery: delay Redis worker email.

    Button until backend completes: include jobs path if export.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Book button sequence 6 steps aloud.

  6. 6
    Show where a new user is created in your code.
    Times asked 1
    Official solution

    Simpleregister route hash default role pending/active. Show where new user created.

    Not admin seed — public register.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Project example: POST /api/register.

  7. 7
    Pick one functionality and explain how it is implemented internally.
    Times asked 1
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  8. 8
    What is scaling?
    Times asked 5
    Official solution

    SimpleLoad badhe to handle: scale up/out, cache, async, DB tune.

    SQL scale: indexes, pool, replicas, partition, cache hot queries.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: If 10k: URI postgres, gunicorn, cache, celery concurrency.

  9. 9
    How would you scale your application for 10,000+ users?
    Times asked 1
    Official solution

    SimplePG cache workers CDN static pagination indexes gunicorn JWT Redis shared.

    Scale 10,000+ users.

    MAD2 architecture: Vue SPA (client) → HTTP JSON → Flask API (server) → SQLAlchemy DB. Side path: Flask → Redis broker → Celery worker → MailHog/CSV.

    Client-server alag ports. State: Vue memory + LS token. Persistent: SQLite. Cache: Redis. MVC-ish: models.py, API views, Vue templates.

    Scale: more workers, Postgres, cache, not 'bigger SQLite file'.

    Project example: SQLite not enough writes.

    Project example: SQLite not enough writes.

  10. 10
    How would you make this application production-ready?
    Times asked 1
    Official solution

    SimpleDebug False secrets env HTTPS migrations backups monitoring 12-factor gunicorn postgres.

    How production-ready. If crash prod: logs reproduce sentry rollback.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Currently debug True local. Plan.

  11. 11
    If this application became a startup/product, what improvements would you make?
    Times asked 1
    Official solution

    SimpleAuth harden payments audit SLA email mobile same APIs multi-tenant tests CI.

    If became startup improvements.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: 2 product ideas.

    Project example: 2 product ideas.

  12. 12
    How would you scale it for 100 hospitals (or a large multi-organization deployment)?
    Times asked 1
    Official solution

    Simpletenant_id har table indexes maybe schema-per-tenant SSO audit. 100 hospitals.

    Scale 100 hospitals multi-org.

    MAD2 architecture: Vue SPA (client) → HTTP JSON → Flask API (server) → SQLAlchemy DB. Side path: Flask → Redis broker → Celery worker → MailHog/CSV.

    Client-server alag ports. State: Vue memory + LS token. Persistent: SQLite. Cache: Redis. MVC-ish: models.py, API views, Vue templates.

    Scale: more workers, Postgres, cache, not 'bigger SQLite file'.

    Project example: organization_id filter all queries.

  13. 13
    What problems/difficulties did you face while building this project?
    Times asked 1
    Official solution

    SimpleTypical: CORS, JWT expiry, Celery Windows, cache stale, Vue reactivity. Personal 30s story.

    How solved docs+logs. Difficulties honest.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Pick one real bug.

  14. 14
    If you had more time, what improvements would you make?
    Times asked 2
    Official solution

    SimpleTests cancel UX pagination search suggest rate limit Docker.

    If more time.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Pick 3.

    Project example: Pick 3.

  15. 15
    How did you test your application?
    Times asked 1
    Official solution

    SimpleRole checklist, Postman, Celery logs. Test plan tick karke confidence aati hai.

    Manual + maybe pytest. Examiner 'kaise test kiya' pe process sunna chahta hai, 100% guarantee nahi.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: List 5 cases: login fail, overbook, cache hit, reminder, admin 403.

  16. 16
    How can you be confident that your application works correctly in all scenarios?
    Times asked 1
    Official solution

    SimpleCannot 100%. Tests staging logging. Viva: main flows + edges showed.

    How confident application works all scenarios.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Don't claim perfect.

    Project example: Don't claim perfect.

  17. 17
    Show where you implemented try...catch (or equivalent error handling) for API requests.
    Times asked 1
    Official solution

    Simplefetch wrap try/catch + !res.ok. Vue error string. Backend try commit except IntegrityError.

    Grep try. Explain fail path.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Project example: Open component catch block.

  18. 18
    Demonstrate an error scenario and show how your application handles/displays the error.
    Times asked 1
    Official solution

    SimpleDemo 5–7 min ki kahani: saari roles, koi milestone skip nahi, bolte-bolte dikhao.

    Examiner list tick karta hai. Crash ho to panic nahi — terminal error padho.

    Code tab kholna jab poochhein. Extra uncommitted features mat dikhana agar portal ZIP mein nahi.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search + charts
    6) CSV export / email job
    7) Logout

    Project example: Jo statement/parking/jobs/tickets hai uske user+admin journeys.

    Viva tipBol: 'Yahan overbooking rokta hoon'. Mandatory features pehle, polish baad.

  19. 19
    What is caching?
    Times asked 23
    Official solution

    SimpleCache = pehli baar hisaab karke copy rakh lo, doosri baar copy dikha do.

    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.

    Browser cache, Flask-Caching, Redis alag layers hain. MAD2 examiner Redis + @cache.cached code dekhta hai.

    Example

    @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.

  20. 20
    Explain the relationships and joins between your database tables.
    Times asked 1
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  21. 21
    What is Vue?
    Times asked 6
    Official solution

    SimpleVue = UI ka smart assistant. Data badlo, screen khud update. MAD1 Jinja har click pe naya HTML.

    Progressive frontend framework. Components, reactivity, directives.

    MAD2 SPA: ek index.html, Vue Router pages, Flask sirf JSON.

    Fayde: easy, SFC, docs. Vs React: templates HTML-like, course sikhata hai. Vs plain JS: baar-baar DOM mat chhedo.

    Example

    <!-- HelloWorld.vue -->
    <template>
      <h1>{{ msg }}</h1>
    </template>
    <script>
    export default { data() { return { msg: 'Hello' } } }
    </script>

    Project example: Navbar.vue + views (Login, Dashboard). data() / setup() reactive. fetch APIs.

    Viva tipFayde: easy, SFC, reactivity. Vs React: chhota learning curve. Vs plain JS: UI state auto-update.

  22. 22
    Vue CLI vs Vue CDN.
    Times asked 6
    Official solution

    SimpleCDN = Vue script tag se, jaise pen drive. CLI/Vite = poori factory (SFC, npm, bundle).

    CDN: no build, chhote apps, exam PC pe Node nahi to bhi chal. Weak: no .vue compile, 3rd-party cache, scale/team.

    CLI/Vite: Single File Components, env, code-split, production dist/. Scalable.

    Examiner 'which + why' — jo use kiya wahi justify, doosra naam rato mat.

    Example

    <!-- CDN -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    
    # Vite
    npm run dev
    npm run build

    Project example: CDN: index.html unpkg vue. CLI: package.json, npm run serve / vite.

    Viva tipCDN scalable large teams ke liye weak (no SFC compile, caching 3rd party). Examiner 'which + why' poochta hai — jo use kiya wahi justify karo.

  23. 23
    What is Celery?
    Times asked 19
    Official solution

    SimpleCelery = background naukri. HTTP request ko 10 second email bhejne ke liye mat rokna.

    Distributed task queue: aap function ko abhi nahi, worker process mein later/retry/schedule pe chalaate ho.

    MAD2 typical jobs: daily reminder mail, monthly HTML report, user-triggered CSV export.

    Web request 200ms hona chahiye. 10,000 emails request thread mein = timeout. Worker alag CPU pe kaam kare.

    Redis broker chahiye. Beat alag process schedule ke liye.

    Example

    @celery.task
    def daily_reminder():
        for u in User.query.filter_by(active=True):
            send_mail(u.email, 'Book something today!')

    Project example: User Export click → 202 Accepted. Worker CSV + email. Daily 6pm Beat reminder.

    Viva tipWorker + Redis bina Beat ke user-triggered chalega. Scheduled jobs ke liye Beat bhi chahiye.

  24. 24
    What is Redis?
    Times asked 21
    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.

    Example

    import redis
    r = redis.Redis(host='localhost', port=6379, db=0)
    r.set('venues', json.dumps(data), ex=30)
    print(r.get('venues'))

    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.

  25. 25
    Explain how RBAC (Role-Based Access Control) is implemented.
    Times asked 1
    Official solution

    SimpleRBAC = role ka badge. Admin badge se delete, user badge se sirf book.

    Role-Based Access Control. Har user pe alag permission list nahi — roles.

    Models: User M-M Role association. Decorators @roles_required. Vue v-if + router meta.

    Frontend hide UX. Backend 403 real security.

    Example

    if current_user.roles[0].name != 'admin':
        return jsonify(msg='Forbidden'), 403

    Project example: roles_users table. admin stats API roles_required. User booking POST user role.

    Viva tipCode mein roles_required, Vue meta.role, models User↔Role many-to-many (roles_users table).

  26. 26
    Have you used AI while building the project? If yes, how did you verify the AI-generated code was correct, and what did you learn from it?
    Times asked 1
    Official solution

    SimpleHaan/kitna, kahan, verification story. Report match.

    Same as AI percentage questions. Concrete bug you caught in AI code.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Celery Windows / cache stale AI galat tha, docs se fix.

  1. 1
    Demonstrate your complete application.
    Times asked 7
    Official solution

    SimpleDemo 5–7 min ki kahani: saari roles, koi milestone skip nahi, bolte-bolte dikhao.

    Examiner list tick karta hai. Crash ho to panic nahi — terminal error padho.

    Code tab kholna jab poochhein. Extra uncommitted features mat dikhana agar portal ZIP mein nahi.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search + charts
    6) CSV export / email job
    7) Logout

    Project example: Jo statement/parking/jobs/tickets hai uske user+admin journeys.

    Viva tipBol: 'Yahan overbooking rokta hoon'. Mandatory features pehle, polish baad.

  2. 2
    Explain your project code/workflow.
    Times asked 1
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  3. 3
    Explain models.py.
    Times asked 21
    Official solution

    Simplemodels.py tables ki blueprint. Har class ek table, har Column ek field.

    PK id, FK dusri table, relationship dono taraf, serialize() JSON (password mat).
    app factory db.init. resources APIs use models.

    Examiner random line: type, nullable, unique, ondelete.

    Suggested flow1) Har table → class
    2) PK id
    3) FK
    4) relationship()
    5) serialize()

    Example

    class Booking(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
        user = db.relationship('User', back_populates='bookings')

    Project example: User, Role, Venue/Show/Booking (ya Drive/Application). Draw 1-M.

    Viva tipExaminer random line poochhe: column type, FK, constraint. Draw 1-M / M-M on paper mentally.

  4. 4
    Explain the overall application architecture.
    Times asked 1
    Official solution

    SimpleClient-server SPA + background workers. Boxes: Vue | HTTP JSON | Flask | SQLite | Redis | Celery.

    Not microservices. Layered REST. Cache aur queue extra.

    Scale story alag: gunicorn, Postgres, more workers.

    MAD2 architecture: Vue SPA (client) → HTTP JSON → Flask API (server) → SQLAlchemy DB. Side path: Flask → Redis broker → Celery worker → MailHog/CSV.

    Client-server alag ports. State: Vue memory + LS token. Persistent: SQLite. Cache: Redis. MVC-ish: models.py, API views, Vue templates.

    Scale: more workers, Postgres, cache, not 'bigger SQLite file'.

    Suggested flowBrowser Vue → HTTP JSON → Flask → SQLAlchemy → DB
    Extra: Redis cache; Celery via Redis

    Project example: Draw 6 boxes viva mein. Point to folders.

  5. 5
    Explain how a booking/application request flows through the system.
    Times asked 1
    Official solution

    SimpleSelect → qty → POST {id,qty} → auth seats duplicate → commit → 201 → UI ticket.

    API route flow new booking.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: book endpoint + Vue.

    Project example: book endpoint + Vue.

  6. 6
    Explain the login flow.
    Times asked 2
    Official solution

    SimpleLogin flow pehle poochta hai "tu kaun hai?", token milne ke baad har API pe wohi proof dikhate ho.

    Authentication step: Vue form email + password JSON POST karta hai. Flask user dhoondhta hai, check_password_hash se prove karta hai ki tum genuine ho. Galat 401. Sahi pe JWT + role milta hai — yeh session/token hai.

    Vue localStorage (ya cookie) mein token rakhta hai, dashboard pe router.push. Aage ki har fetch header: Authorization: Bearer <token>. @jwt_required identity check (authentication). @roles_required('admin') permission check (authorization) — logged in ho, lekin allowed nahi to 403.

    Validation alag cheez hai: empty email, password 8+ — form sahi bhara hai ya nahi. Woh identity prove nahi karta.

    Logout = client token delete + login page. Server blacklist optional. Password response JSON mein kabhi mat bhejo.

    Example

    # Authentication
    @app.route('/api/login', methods=['POST'])
    def login():
        u = User.query.filter_by(email=data['email']).first()
        if not u or not check_password_hash(u.password, data['password']):
            return jsonify(msg='bad'), 401
        return jsonify(token=create_access_token(u.id), role=u.role)
    
    # baad ki APIs
    # Authorization: Bearer <token>
    if current_user.role != 'admin':
        abort(403)

    Project example: Login.vue POST /api/login → token LS → interceptor. Student token se admin route = 403. Empty form = validation, galat password = 401.

    Viva tipNetwork tab mein password body dikhega localhost pe — prod HTTPS. Response mein hash/password echo mat karo.

  7. 7
    Explain the eligibility logic implemented in your project.
    Times asked 1
    Official solution

    SimpleRules backend CGPA dept date. FE disable still 400. Explain eligibility.

    How add another validation thought process.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: apply drive checks.

    Project example: apply drive checks.

  8. 8
    Demonstrate backend jobs (Celery tasks).
    Times asked 1
    Official solution

    SimpleLive jobs: Redis, worker, beat, crontab abhi, logs + email/CSV.

    Scheduled vs user-triggered dono dikhao. Missing feature honestly.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Suggested flow1) redis
    2) worker
    3) beat
    4) crontab now
    5) logs + MailHog

    Example

    CELERY_BEAT_SCHEDULE = {
      'daily-reminder': {
        'task': 'jobs.daily_reminder',
        'schedule': crontab(hour=18, minute=0),
      },
    }

    Project example: Change schedule current time. MailHog. Export button 202.

  9. 9
    Check API endpoints using Postman/Thunder Client.
    Times asked 1
    Official solution

    SimpleMethod URL Headers Authorization JSON body. 200/401 bina Vue — backend prove.

    Login copy token. Collection. Thunder Client same.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Show 3 requests. Examiner loves this.

  10. 10
    Show whether cookies are created in the browser.
    Times asked 1
    Official solution

    SimpleApplication Cookies. JWT LS ho to cookies empty — dono jagah dikhao. Whether cookies created.

    Show browser cookies.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Project example: If session cookie name. If not explain JWT.

  11. 11
    Move a button (e.g., Register/Signup) to the top-right corner.
    Times asked 1
    Official solution

    SimpleNavbar d-flex; ms-auto on signup. Bootstrap right push.

    Move button vs CSS only.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Navbar.vue link order + ms-auto.

    Project example: Navbar.vue link order + ms-auto.

  12. 12
    Change the button color.
    Times asked 3
    Official solution

    SimpleLive CSS/Vue: sabse chhota change jo dikhe. Logic/API mat todo unless poochhein.

    Inspect element se class dhoondo. btn-success, navbar bottom fixed, center flex.

    Save, refresh, dikhao. Break mat karo layout poora.

    Example

    <button class="btn btn-success">Login</button>
    nav { position: fixed; bottom: 0; width: 100%; }
    .wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; }

    Project example: Jo button/navbar poocha usi file (Navbar.vue / App.vue / css).

    Viva tipDevTools se element inspect. Logic/API mat todo unless poochhein.

  13. 13
    Display all users' data.
    Times asked 1
    Official solution

    SimpleAdmin GET /api/users no passwords. Table v-for. Modify display all users.

    RBAC admin.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: serialize without hash.

    Project example: serialize without hash.

  14. 14
    Fix a monthly report/Celery task.
    Times asked 1
    Official solution

    Simplecrontab day, timezone, beat not running, empty query, logs.

    Schedule now to demo. Restart beat.

    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: Fix schedule + worker log error read.

  15. 15
    Write simple GET and POST API endpoints.
    Times asked 1
    Official solution

    SimpleGET list POST create 201. Write simple GET and POST API endpoints.

    Auth optional unless said.

    HTTP verbs + status REST ki zabaan. GET read, POST create, PUT replace, PATCH partial, DELETE remove. GET typically no body.

    Status: 200 OK, 201 created, 202 accepted (Celery task), 400 bad input, 401 no/bad token, 403 role nahi, 404 missing, 409 conflict (double book), 500 server.

    AJAX/fetch page reload nahi. SPA poori isi pe. Postman se bina Vue ke API prove karo — examiner pasand.

    Project example: venues pattern.

  16. 16
    Move a <div> to another location and modify its formatting.
    Times asked 1
    Official solution

    SimpleCut HTML paste new parent adjust margin. Move a div another location modify formatting.

    Don't break script.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: template.

    Project example: template.

  17. 17
    What are GET and POST requests?
    Times asked 1
    Official solution

    SimpleGET retrieve idempotent. POST submit/create. Search GET login POST.

    What are GET and POST.

    HTTP verbs + status REST ki zabaan. GET read, POST create, PUT replace, PATCH partial, DELETE remove. GET typically no body.

    Status: 200 OK, 201 created, 202 accepted (Celery task), 400 bad input, 401 no/bad token, 403 role nahi, 404 missing, 409 conflict (double book), 500 server.

    AJAX/fetch page reload nahi. SPA poori isi pe. Postman se bina Vue ke API prove karo — examiner pasand.

    Project example: List GET create POST.

  18. 18
    Where did you initialize the db object?
    Times asked 1
    Official solution

    Simpledb = SQLAlchemy() module, db.init_app factory. Import models to register.

    Where initialized db object.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: create_app.

    Project example: create_app.

  19. 19
    What is db.Model?
    Times asked 2
    Official solution

    Simpledb = SQLAlchemy instance. db.Model base — inherit mapping. db engine/session/metadata alag.

    Explain db vs model.py. Where init db object.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: db = SQLAlchemy(); db.init_app(app); class X(db.Model).

  20. 20
    How did you implement Celery?
    Times asked 2
    Official solution

    SimpleCelery instance, broker URL, @celery.task, worker command, Beat schedule.

    DB use karte waqt with app.app_context():. .delay() JSON-serializable args.

    Examiner files: celery.py / tasks.py / config beat dict / README commands.

    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.

    Example

    celery = Celery(__name__, broker='redis://localhost:6379/0')
    @celery.task
    def ping():
        return 'ok'

    Project example: jobs.py daily_reminder, monthly_report, export_csv. config.py broker.

  21. 21
    Explain the code of your backend tasks.
    Times asked 1
    Official solution

    SimpleTasks list, schedule, broker, trigger, verify MailHog/logs.

    Beat vs worker. User vs scheduled. App context.

    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: Three tasks. Commands README.

  22. 22
    How are Redis, Celery, and the backend integrated?
    Times asked 1
    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.

    Example

    Celery: broker_url='redis://localhost:6379/0'
    Cache:  CACHE_REDIS_URL='redis://localhost:6379/1'

    Project example: export_csv.delay(user_id) Flask se. Worker Redis se task uthata hai, CSV+email. Cache alag keys venues.

    Viva tipAgar possible ho to cache db=1, broker db=0 — keys mix nahi hoti.

  23. 23
    Explain the data flow for a user-triggered Celery task.
    Times asked 1
    Official solution

    SimpleButton POST .delay() 202. Poll status. Beat nahi, worker haan.

    Export vs daily reminder difference.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Export CSV button. Network 202.

    Project example: Export CSV button. Network 202.

  24. 24
    What is Role-Based Access Control (RBAC)?
    Times asked 1
    Official solution

    SimpleRBAC = role ka badge. Admin badge se delete, user badge se sirf book.

    Role-Based Access Control. Har user pe alag permission list nahi — roles.

    Models: User M-M Role association. Decorators @roles_required. Vue v-if + router meta.

    Frontend hide UX. Backend 403 real security.

    Example

    if current_user.roles[0].name != 'admin':
        return jsonify(msg='Forbidden'), 403

    Project example: roles_users table. admin stats API roles_required. User booking POST user role.

    Viva tipCode mein roles_required, Vue meta.role, models User↔Role many-to-many (roles_users table).

  25. 25
    How have you implemented RBAC?
    Times asked 2
    Official solution

    SimpleRoles table, assignment, decorator, UI meta. Example admin vs user endpoint.

    Admin authenticated AND authorized. User authenticated not authorized admin.

    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: roles_required admin stats. User 403 Postman.

  26. 26
    How is user authentication performed?
    Times asked 1
    Official solution

    SimpleLogin flow pehle poochta hai "tu kaun hai?", token milne ke baad har API pe wohi proof dikhate ho.

    Authentication step: Vue form email + password JSON POST karta hai. Flask user dhoondhta hai, check_password_hash se prove karta hai ki tum genuine ho. Galat 401. Sahi pe JWT + role milta hai — yeh session/token hai.

    Vue localStorage (ya cookie) mein token rakhta hai, dashboard pe router.push. Aage ki har fetch header: Authorization: Bearer <token>. @jwt_required identity check (authentication). @roles_required('admin') permission check (authorization) — logged in ho, lekin allowed nahi to 403.

    Validation alag cheez hai: empty email, password 8+ — form sahi bhara hai ya nahi. Woh identity prove nahi karta.

    Logout = client token delete + login page. Server blacklist optional. Password response JSON mein kabhi mat bhejo.

    Example

    # Authentication
    @app.route('/api/login', methods=['POST'])
    def login():
        u = User.query.filter_by(email=data['email']).first()
        if not u or not check_password_hash(u.password, data['password']):
            return jsonify(msg='bad'), 401
        return jsonify(token=create_access_token(u.id), role=u.role)
    
    # baad ki APIs
    # Authorization: Bearer <token>
    if current_user.role != 'admin':
        abort(403)

    Project example: Login.vue POST /api/login → token LS → interceptor. Student token se admin route = 403. Empty form = validation, galat password = 401.

    Viva tipNetwork tab mein password body dikhega localhost pe — prod HTTPS. Response mein hash/password echo mat karo.

  27. 27
    What is ORM?
    Times asked 49
    Official solution

    SimpleORM = translator. Python object bolo, woh SQL mein baat kare.

    Object Relational Mapper. Class User ↔ table user. Raw SQL kam.

    SQLAlchemy MAD1/MAD2. Fayde: portable SQLite→Postgres, relationships, parameterized queries (injection kam).
    Nuksaan: N+1, hidden SQL, complex reports pe raw better.

    Direct sqlite3 se SQLAlchemy isliye: models, switch DB, safer queries.

    Example

    class User(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        email = db.Column(db.String(128), unique=True)
    User.query.filter_by(email='a@b.com').first()

    Project example: models.py db.Model. resources User.query.filter_by. Koi f-string SQL nahi.

    Viva tipFayde: safe-ish, portable (SQLite→Postgres). Nuksaan: complex queries, N+1, leaky abstractions. Direct SQLite se SQLAlchemy isliye: models + injection protection + switch DB.

  28. 28
    What is SQLAlchemy?
    Times asked 8
    Official solution

    SimpleSQLAlchemy toolkit + ORM. Flask-SQLAlchemy wrapper db.

    URI sqlite:///app.db. Postgres postgresql://. Dialects MySQL MSSQL.

    Session add/commit/rollback. IntegrityError catch.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Example

    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
    # migrate: URI postgres://user:pass@host/db  + psycopg2

    Project example: config SQLALCHEMY_DATABASE_URI. db.create_all() ya migrate.

  29. 29
    What is a Foreign Key?
    Times asked 3
    Official solution

    SimpleForeign Key dusri table ki PK ki ungli pakadna. Relationship ka backbone.

    user_id → user.id. Referential integrity. Unique extra ho sakta 1-1 ke liye.

    Sirf UNIQUE se relationship nahi banti.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'))

    Project example: booking.user_id, show.venue_id. models.py dikhao.

  30. 30
    What are relationships in SQLAlchemy?
    Times asked 1
    Official solution

    Simple1-1 uselist=False. 1-M list. M-M association table roles_users.

    back_populates both sides. Draw viva.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Example

    roles_users = db.Table('roles_users',
        db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
        db.Column('role_id', db.Integer, db.ForeignKey('role.id')),
    )
    class User(db.Model):
        roles = db.relationship('Role', secondary=roles_users, backref='users')

    Project example: User-Booking 1-M. User-Role M-M.

  31. 31
    Difference between backref and back_populates.
    Times asked 10
    Official solution

    Simplebackref jaadu se reverse attribute. back_populates dono taraf likho — clear.

    backref='author' Post.author auto. New code back_populates preferred.

    Examiner difference almost guaranteed.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Example

    posts = db.relationship('Post', backref='author')
    # vs
    posts = db.relationship('Post', back_populates='author')
    Post.author = relationship('User', back_populates='posts')

    Project example: User.bookings / Booking.user dono explicit back_populates.

  32. 32
    What is MVC?
    Times asked 9
    Official solution

    SimpleModel-View-Controller separation of concerns.

    Map folders. Vue is V. Flask routes C. models M.

    MAD2 architecture: Vue SPA (client) → HTTP JSON → Flask API (server) → SQLAlchemy DB. Side path: Flask → Redis broker → Celery worker → MailHog/CSV.

    Client-server alag ports. State: Vue memory + LS token. Persistent: SQLite. Cache: Redis. MVC-ish: models.py, API views, Vue templates.

    Scale: more workers, Postgres, cache, not 'bigger SQLite file'.

    Example

    Vue Booking.vue → POST /api/book → Booking model → jsonify → this.bookings.push

    Project example: See architecture essay.

  33. 33
    What other architectural patterns have you used?
    Times asked 1
    Official solution

    SimpleLayered API/service/model, REST, pub-sub Redis, workers. Not microservices yet.

    What other architectural patterns. Backbone REST+router+models.

    MAD2 architecture: Vue SPA (client) → HTTP JSON → Flask API (server) → SQLAlchemy DB. Side path: Flask → Redis broker → Celery worker → MailHog/CSV.

    Client-server alag ports. State: Vue memory + LS token. Persistent: SQLite. Cache: Redis. MVC-ish: models.py, API views, Vue templates.

    Scale: more workers, Postgres, cache, not 'bigger SQLite file'.

    Project example: MVC-ish + queue.

  34. 34
    Difference between Client-Server Architecture and Distributed Architecture.
    Times asked 1
    Official solution

    SimpleDistributed kai hosts: API, DB, Redis, workers. Client-server 2-tier simple.

    MAD2 chhota distributed (processes). Not full microservices.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: 5 processes localhost = mini distributed.

  35. 35
    What is Git?
    Times asked 3
    Official solution

    SimpleGit VCS tool. VCS concept. GitHub hosting. SCM another name.

    commit branch merge. Examiner history. Git ≠ GitHub.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: git log. collaborators. README.

  36. 36
    What is Version Control System (VCS)?
    Times asked 2
    Official solution

    SimpleGit VCS tool. VCS concept. GitHub hosting. SCM another name.

    commit branch merge. Examiner history. Git ≠ GitHub.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: git log. collaborators. README.

  37. 37
    Difference between Git and Version Control System.
    Times asked 1
    Official solution

    SimpleVCS category, Git implementation, GitHub remote+PR.

    Difference Git vs VCS vs GitHub three words.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Local git, origin GitHub.

    Project example: Local git, origin GitHub.

  38. 38
    Have you used CSS or Bootstrap?
    Times asked 1
    Official solution

    SimpleBootstrap and/or CSS mix. One example class. Have you used CSS or Bootstrap.

    What styling framework.

    Look: Bootstrap utility classes (margin m-3, flex, grid) ya khud CSS. Responsive = media query / Bootstrap breakpoints se mobile.

    Vue scoped style leak nahi. :class binding. Examiner colour/button live change maange to DevTools nahi, source class dikhao.

    CSS ≠ Bootstrap. Bootstrap CSS+JS framework. Inline style last resort.

    Project example: btn-primary + custom.css.

    Project example: btn-primary + custom.css.

  39. 39
    Why did you design the frontend this way?
    Times asked 1
    Official solution

    SimpleRole dashboards reuse navbar charts admin. UX reasons. Why designed frontend this way.

    Not random files.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Admin vs User layouts.

    Project example: Admin vs User layouts.

  40. 40
    Explain Parent–Child component communication with an example.
    Times asked 1
    Official solution

    SimpleBaat: props se neeche, emit se upar. Door ke rishte: store ya provide/inject.

    Grandparent→grandchild props drilling ugly. Vuex/Pinia ya provide('user').

    Did you use? List+card files naam lo.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    provide('user', user)
    const user = inject('user')

    Project example: Dashboard v-for BookingCard. Card emit 'cancel'.

    Viva tip3+ level props drilling se better store. Navbar user info store se lo.

  41. 41
    Why are all dashboards using onMounted()?
    Times asked 1
    Official solution

    SimpleNeed DOM/API after insert. Pattern dashboards. Why all dashboards onMounted.

    created too early $refs.

    Lifecycle = component ki zindagi: created (instance, DOM nahi) → mounted/onMounted (DOM ready — fetch, Chart.js yahi) → updated → unmounted (clearInterval).

    Dashboard API created mein isliye nahi ki $el/canvas missing ho sakta. Composition API: onMounted(() => {}) setup ke andar. Options: mounted() method. Mix mat.

    Examiner 'konsa hook use kiya' — related .vue kholo, line padh ke bolo.

    Project example: Admin+User dashboards.

  42. 42
    Difference between URL redirection and URL rewriting/navigation.
    Times asked 1
    Official solution

    SimpleRouter URL ko component se map karta hai. Google Maps for pages.

    routes array path+component. router-view jagah. router-link reload nahi.

    meta.auth + beforeEach guard. Dynamic /venues/:id.

    Nayi page: SFC + routes entry + link.

    Example

    const routes = [
      { path: '/', component: Home },
      { path: '/login', component: Login },
      { path: '/venues/:id', component: VenueDetail, meta: { auth: true } },
    ]

    Project example: routes.js Login, Register, UserHome, AdminHome, 404.

    Viva tipNayi page: component banao, routes array mein path, router-link se jao.

  1. 1
    Demonstrate your application (if asked).
    Times asked 1
    Official solution

    SimpleDemo 5–7 min ki kahani: saari roles, koi milestone skip nahi, bolte-bolte dikhao.

    Examiner list tick karta hai. Crash ho to panic nahi — terminal error padho.

    Code tab kholna jab poochhein. Extra uncommitted features mat dikhana agar portal ZIP mein nahi.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search + charts
    6) CSV export / email job
    7) Logout

    Project example: Jo statement/parking/jobs/tickets hai uske user+admin journeys.

    Viva tipBol: 'Yahan overbooking rokta hoon'. Mandatory features pehle, polish baad.

  2. 2
    Explain models.py and app.py.
    Times asked 1
    Official solution

    Simplemodels.py tables ki blueprint. Har class ek table, har Column ek field.

    PK id, FK dusri table, relationship dono taraf, serialize() JSON (password mat).
    app factory db.init. resources APIs use models.

    Examiner random line: type, nullable, unique, ondelete.

    Suggested flow1) Har table → class
    2) PK id
    3) FK
    4) relationship()
    5) serialize()

    Example

    class Booking(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
        user = db.relationship('User', back_populates='bookings')

    Project example: User, Role, Venue/Show/Booking (ya Drive/Application). Draw 1-M.

    Viva tipExaminer random line poochhe: column type, FK, constraint. Draw 1-M / M-M on paper mentally.

  3. 3
    Explain how Flask handles a request from arrival to response.
    Times asked 1
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  4. 4
    How does Flask decide which function should handle a request? (WSGI)
    Times asked 1
    Official solution

    SimpleWSGI contract: server Flask ko call kare. Werkzeug routing URL→view.

    gunicorn WSGI prod. Flask dev server nahi prod. How Flask decides function: URL map + method.

    Flask Python micro web framework. Route decorator URL → function. MAD2 mein JSON API: request.get_json(), jsonify, JWT.

    WSGI: server (Werkzeug) app ko call. if __name__ == '__main__' sirf direct run. Factory create_app() test/celery ke liye.

    Blueprint/resources folders. @app.route vs MethodView. Debug=True viva local, prod nahi. CORS alag port Vue ke liye.

    Project example: Dev flask run. Prod idea gunicorn wsgi:app.

  5. 5
    Explain the route where emails are sent (using Postman).
    Times asked 1
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  6. 6
    Explain how the admin is able to view uploaded resumes/files.
    Times asked 1
    Official solution

    Simpleuploads/ save. Admin authenticated GET send_from_directory. Public URL mat. How admin view resumes.

    Files not in DB blob usually.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: static/uploads + auth route.

  7. 7
    Explain the resources you used to build the project (courses, AI, documentation, etc.).
    Times asked 1
    Official solution

    SimpleLectures, Vue/Flask docs, SO, thoda AI. Copy samajh ke modify + example.

    Courses AI documentation.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: One docs page you used crontab.

    Project example: One docs page you used crontab.

  8. 8
    How much AI did you use while building the project?
    Times asked 1
    Official solution

    SimpleSach % + kahan + kaise verify + kya seekha. Report se contradict mat.

    Boilerplate vs business logic. Examiner process poochta. 'Sab ChatGPT' red flag.

    Verify: docs, run, edge case. Seekha: CORS, JWT exp, beat vs worker.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Jo number form/PDF mein hai wahi. Example file jo AI se start kiya, khud debug kiya.

    Viva tipExaminer 'kya seekha / kaise check kiya' pe marks. 'Sab ChatGPT' red flag. Jo khud debug kiya woh story ready rakho.

  9. 9
    Change the graph/chart layout or position.
    Times asked 1
    Official solution

    SimpleCanvas parent col order / CSS grid-area. Change graph/chart layout position.

    Chart destroy recreate if needed.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Admin dashboard template.

    Project example: Admin dashboard template.

  10. 10
    Apply filters in the Vue frontend.
    Times asked 1
    Official solution

    Simplecomputed filter list by query buttons. Apply filters Vue frontend.

    Or backend params.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Project example: status tabs.

  11. 11
    Make changes to backend routes.
    Times asked 1
    Official solution

    SimpleNew/edit @app.route keep auth. Postman first then UI. Make changes backend routes.

    CORS.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: resources.py.

    Project example: resources.py.

  12. 12
    Create an API that returns the number of reservations/bookings made in the last X days.
    Times asked 1
    Official solution

    Simplefilter created_at >= now-timedelta(days=x) count or list. API reservations last X days.

    x from args.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: admin stats.

    Project example: admin stats.

  13. 13
    Modify the frontend to display those reservations.
    Times asked 1
    Official solution

    SimpleAPI already Vue v-for missing — add table. Filter occupied.

    Modify frontend display those reservations.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: v-for reservations.

    Project example: v-for reservations.

  14. 14
    Create a Celery task (e.g., addition of two numbers) and expose it through an API.
    Times asked 1
    Official solution

    Simple@celery.task add(a,b). Route delay return task_id. Worker must run.

    Live coding. app context if DB.

    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.

    Example

    @celery.task
    def add(a, b):
        return a + b
    # return jsonify(task_id=add.delay(2,3).id)

    Project example: New task ping or add. Postman.

  15. 15
    Build a Vue component that calls the API and displays the result.
    Times asked 1
    Official solution

    SimpleNew component fetch display button reload. Add Vue component fetches backend displays button fetch again. Build Vue component calls API displays.

    mounted + method.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Project example: HelloFetch.vue.

  16. 16
    Create a Flask route that returns today's date + 5 days and a message.
    Times asked 1
    Official solution

    Simpleutcnow+timedelta(days=5) isoformat jsonify. Flask route today's date + 5 days message.

    datetime.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    return jsonify(date=(datetime.utcnow()+timedelta(days=5)).isoformat(), msg='ok')

    Project example: GET /api/date.

  17. 17
    Build a Vue component with: Input field Submit button Fetch request Display API response.
    Times asked 1
    Official solution

    Simpleinput button fetch display response. Build Vue component input submit fetch display.

    @submit.prevent.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Project example: Echo.vue.

  18. 18
    Create a Celery task that retrieves records from the last 5 days, expose it via an API, and return the task ID.
    Times asked 1
    Official solution

    Simple@celery.task add(a,b). Route delay return task_id. Worker must run.

    Live coding. app context if DB.

    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.

    Example

    @celery.task
    def add(a, b):
        return a + b
    # return jsonify(task_id=add.delay(2,3).id)

    Project example: New task ping or add. Postman.

  19. 19
    Build a parent-child Vue application using: v-for Props Conditional styling based on score.
    Times asked 1
    Official solution

    SimpleParent v-for, child props score, :style color if score>x. Build parent-child v-for props conditional styling score.

    key.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Project example: StudentList + StudentCard.

  20. 20
    Build a Vue app with vue-router using dynamic routes (/users/:id) and handle invalid IDs gracefully.
    Times asked 1
    Official solution

    Simple/users/:id fetch user invalid not found. Build Vue app vue-router dynamic routes handle invalid IDs.

    guard or v-if.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Project example: User.vue params.id.

  21. 21
    Vue CLI vs Vue CDN.
    Times asked 6
    Official solution

    SimpleCDN = Vue script tag se, jaise pen drive. CLI/Vite = poori factory (SFC, npm, bundle).

    CDN: no build, chhote apps, exam PC pe Node nahi to bhi chal. Weak: no .vue compile, 3rd-party cache, scale/team.

    CLI/Vite: Single File Components, env, code-split, production dist/. Scalable.

    Examiner 'which + why' — jo use kiya wahi justify, doosra naam rato mat.

    Example

    <!-- CDN -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    
    # Vite
    npm run dev
    npm run build

    Project example: CDN: index.html unpkg vue. CLI: package.json, npm run serve / vite.

    Viva tipCDN scalable large teams ke liye weak (no SFC compile, caching 3rd party). Examiner 'which + why' poochta hai — jo use kiya wahi justify karo.

  22. 22
    Which Vue version are you using (Vue 2 or Vue 3)?
    Times asked 1
    Official solution

    SimpleVue 3 naya engine: Composition API, fragments, better TS, tree-shaking. Vue 2 Options + filters.

    mounted vs onMounted. Filters Vue 3 mein hata — computed/methods.

    Version package.json / Vue.version se dikhao. Jo use kiya uske hooks bolo.

    SPA = ek HTML, Vue Router se views, full reload nahi. MPA = MAD1 Jinja har URL naya HTML.

    Vue Router: routes array, router-view, router-link, meta.auth + beforeEach guard. Dynamic /venues/:id$route.params.id.

    Vite/CLI SFC + npm build dist/. CDN script tag, no SFC. Jo tumne use kiya wahi justify. Flask send_from_directory('dist') production pattern.

    Project example: package.json vue ^3.x. setup() + onMounted fetch.

    Viva tipVersion package.json / Vue.version se dikhao. MAD2 dono allowed usually — jo use kiya uske hooks bolo (mounted vs onMounted).

  23. 23
    What is npm?
    Times asked 2
    Official solution

    Simplenpm Node package manager. package.json scripts/deps. node_modules folder.

    Not inside venv. Python pip alag. lockfile versions.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: npm install. scripts dev/build.

    Viva tipnode_modules venv ke andar nahi — project root pe. Python venv alag, npm alag.

  24. 24
    What are Vue lifecycle hooks?
    Times asked 11
    Official solution

    SimpleLifecycle = component ki zindagi ke stages. API call tab jab DOM ready ho — mounted.

    created: instance bani, this data, DOM nahi. mounted/onMounted: page pe aa gaya — fetch, Chart.js, setInterval.
    updated: data change ke baad. unmounted: cleanup (clearInterval) warna memory leak.

    Dashboards onMounted isliye: canvas/API tab valid. created mein $el nahi.

    Composition: onMounted(() => {}) setup ke andar.

    Example

    export default {
      async mounted() {
        const r = await fetch('/api/venues')
        this.venues = await r.json()
      }
    }

    Project example: Venues.vue mounted fetch list. Clock component unmounted pe interval clear.

    Viva tipcreated: data setup, DOM nahi. mounted/onMounted: $el mil gaya — fetch yahi. Dashboards isliye onMounted use karti hain.

  25. 25
    Difference between Vue 2 and Vue 3.
    Times asked 1
    Official solution

    SimpleVue 3 naya engine: Composition API, fragments, better TS, tree-shaking. Vue 2 Options + filters.

    mounted vs onMounted. Filters Vue 3 mein hata — computed/methods.

    Version package.json / Vue.version se dikhao. Jo use kiya uske hooks bolo.

    SPA = ek HTML, Vue Router se views, full reload nahi. MPA = MAD1 Jinja har URL naya HTML.

    Vue Router: routes array, router-view, router-link, meta.auth + beforeEach guard. Dynamic /venues/:id$route.params.id.

    Vite/CLI SFC + npm build dist/. CDN script tag, no SFC. Jo tumne use kiya wahi justify. Flask send_from_directory('dist') production pattern.

    Project example: package.json vue ^3.x. setup() + onMounted fetch.

    Viva tipVersion package.json / Vue.version se dikhao. MAD2 dono allowed usually — jo use kiya uske hooks bolo (mounted vs onMounted).

  26. 26
    What are Computed Properties?
    Times asked 1
    Official solution

    SimpleComputed = lazy derived value. Ingredients na badlein to kitchen dobara nahi chalti.

    Methods har render pe. Computed cache + dependency.

    fullName, filteredList, isAdmin from role. Template {{ fullName }}.

    Component = reusable UI block (Navbar, Card). Props parent→child data, emit child→parent event. Slots parent HTML inner content.

    computed cache + reactive derive (filtered list). watch side-effect (query change pe API). methods events. ref() primitive, reactive() object. Vuex/Pinia global store; localStorage persist, store nahi.

    SFC: template + script + style ek .vue file. Parent-child exam favourite: list parent, row child :item + @delete.

    Example

    computed: {
      fullName() { return this.first + ' ' + this.last }
    }

    Project example: filteredVenues computed from query string. Watcher nahi chahiye tha.

  27. 27
    What are Watchers?
    Times asked 1
    Official solution

    Simplewatch = 'jab yeh badle tab yeh karo'. Computed nahi, kyunki return value nahi, kaam hai.

    deep: true objects. immediate: true first run. Composition watch().

    Search, $route.params.id load user.

    Component = reusable UI block (Navbar, Card). Props parent→child data, emit child→parent event. Slots parent HTML inner content.

    computed cache + reactive derive (filtered list). watch side-effect (query change pe API). methods events. ref() primitive, reactive() object. Vuex/Pinia global store; localStorage persist, store nahi.

    SFC: template + script + style ek .vue file. Parent-child exam favourite: list parent, row child :item + @delete.

    Example

    watch(() => route.params.id, (id) => loadUser(id))

    Project example: watch query debounce 300ms search API. Nahi use to 'computed kaafi'.

  28. 28
    Difference between Computed Properties and Watchers.
    Times asked 2
    Official solution

    SimpleComputed naya value return. Watcher side effect (API, log) jab value change.

    Search debounce, route param change → watch. Display filter → computed.

    Confusion examiner favourite.

    Component = reusable UI block (Navbar, Card). Props parent→child data, emit child→parent event. Slots parent HTML inner content.

    computed cache + reactive derive (filtered list). watch side-effect (query change pe API). methods events. ref() primitive, reactive() object. Vuex/Pinia global store; localStorage persist, store nahi.

    SFC: template + script + style ek .vue file. Parent-child exam favourite: list parent, row child :item + @delete.

    Example

    watch: {
      query(newQ) { this.fetchSearch(newQ) }
    }

    Project example: q watch → fetchSearch. remainingSeats computed from capacity-booked.

  29. 29
    When can Vue lose reactivity?
    Times asked 1
    Official solution

    SimpleVue2 new property without Vue.set. Array index assign. Vue3 proxy better. Destructure ref without .value.

    When can Vue lose reactivity.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Don't this.items[0] = x Vue2. Vue3 OK-ish still prefer splice.

  30. 30
    Difference between v-if and v-show.
    Times asked 10
    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.

    Rare / permission UI: v-if (admin panel). Dropdown bar-bar: v-show.

    : shorthand v-bind ka, v-if ka nahi.

    Example

    <div v-if="isAdmin">Admin panel</div>
    <div v-show="open">Dropdown</div>

    Project example: Admin links v-if="role==='admin'". FAQ accordion v-show="open".

    Viva tipSecurity ke liye sirf v-if kaafi nahi — API 403 bhi chahiye.

  31. 31
    Difference between v-bind and v-model.
    Times asked 2
    Official solution

    SimpleBind = ek tarfa poster lagana. Model = form jo typed text wapas data mein likhe.

    Display/image/disabled → v-bind. Input/textarea/select → v-model.
    Dono mix: <input v-bind:placeholder="hint" v-model="q">.

    Directives Vue ke special attributes hain — HTML ko superpower: v-if/v-show, v-for, v-bind (:), v-on (@), v-model.

    v-if DOM se hataata/jodta. v-show sirf CSS display. Rare/permission: v-if. Bar-bar toggle: v-show. v-model two-way form. v-bind one-way JS→attribute.

    :key v-for pe zaroori warna Vue galat reuse. v-html XSS. Secret UI ke liye sirf v-if kaafi nahi — API 403 bhi.

    MAD1 Jinja server HTML. MAD2 yeh directives browser mein reactive.

    Example

    <p>{{ price }}</p>
    <img :src="url">
    <input v-model="price">

    Project example: Search box v-model q. Result images :src.

  32. 32
    : is shorthand for which Vue directive?
    Times asked 1
    Official solution

    Simple: is v-bind. @ is v-on. # is v-slot.

    Examiner :src. Don't say v-if.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Open template colons.

    Project example: Open template colons.

  33. 33
    What are Slots in Vue?
    Times asked 2
    Official solution

    SimpleSlots = dabbe ke andar parent apna HTML daal de. Props data, slots markup.

    Default slot, named slots. App.vue router-view layout jaisa outlet.

    Agar nahi use kiya: 'layout router-view se kiya' valid.

    Component = reusable UI block (Navbar, Card). Props parent→child data, emit child→parent event. Slots parent HTML inner content.

    computed cache + reactive derive (filtered list). watch side-effect (query change pe API). methods events. ref() primitive, reactive() object. Vuex/Pinia global store; localStorage persist, store nahi.

    SFC: template + script + style ek .vue file. Parent-child exam favourite: list parent, row child :item + @delete.

    Example

    <div class="card"><slot>Default</slot></div>
    <Card><p>Custom body</p></Card>

    Project example: Card.vue <slot>Default</slot>. Parent custom body.

  34. 34
    What are Navigation Guards in Vue Router?
    Times asked 1
    Official solution

    SimpleGuard darwaza: token nahi to login. Role nahi to 403 page.

    beforeEach. Frontend UX. Backend @jwt_required bina guard hack possible — dono layers.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    router.beforeEach((to) => {
      if (to.meta.auth && !localStorage.getItem('token')) return '/login'
    })

    Project example: router.beforeEach token localStorage. Admin routes meta.role.

  35. 35
    What are Dynamic Routes in Vue Router?
    Times asked 1
    Official solution

    Simple/users/:id. $route.params.id. Invalid → 404 component/guard.

    Examiner live: handle NaN id.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    { path: '/users/:id', component: User }

    Project example: VenueDetail path. fetch /api/venues/${id}.

  36. 36
    How do you pass data from a grandparent component to a grandchild?
    Times asked 1
    Official solution

    SimpleBaat: props se neeche, emit se upar. Door ke rishte: store ya provide/inject.

    Grandparent→grandchild props drilling ugly. Vuex/Pinia ya provide('user').

    Did you use? List+card files naam lo.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    provide('user', user)
    const user = inject('user')

    Project example: Dashboard v-for BookingCard. Card emit 'cancel'.

    Viva tip3+ level props drilling se better store. Navbar user info store se lo.

  37. 37
    How do you send data from a grandchild back to a grandparent?
    Times asked 1
    Official solution

    SimpleBaat: props se neeche, emit se upar. Door ke rishte: store ya provide/inject.

    Grandparent→grandchild props drilling ugly. Vuex/Pinia ya provide('user').

    Did you use? List+card files naam lo.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    provide('user', user)
    const user = inject('user')

    Project example: Dashboard v-for BookingCard. Card emit 'cancel'.

    Viva tip3+ level props drilling se better store. Navbar user info store se lo.

  38. 38
    What is Vue Router?
    Times asked 3
    Official solution

    SimpleRouter URL ko component se map karta hai. Google Maps for pages.

    routes array path+component. router-view jagah. router-link reload nahi.

    meta.auth + beforeEach guard. Dynamic /venues/:id.

    Nayi page: SFC + routes entry + link.

    Example

    const routes = [
      { path: '/', component: Home },
      { path: '/login', component: Login },
      { path: '/venues/:id', component: VenueDetail, meta: { auth: true } },
    ]

    Project example: routes.js Login, Register, UserHome, AdminHome, 404.

    Viva tipNayi page: component banao, routes array mein path, router-link se jao.

  39. 39
    What are State, Mutations, and Actions (Vuex)?
    Times asked 1
    Official solution

    SimpleVuex/Pinia ghar ka notice board. Har room (component) same user/token dekhe.

    State data, mutations sync change, actions async API phir commit.

    Local data() sirf us component. Token/user global.

    Pinia Vue 3 official, kam boilerplate. Vuex older MAD2 still common.

    Example

    state: { user: null }
    mutations: { setUser(s, u) { s.user = u } }
    actions: { async login({ commit }, form) {
      const u = await api.login(form); commit('setUser', u)
    }}

    Project example: store user + token login action. Navbar getters isAdmin. Logout clear LS+state.

    Viva tipLocal/Session storage persist ke liye, reactive share ke liye store. Pinia Vue 3 official, Vuex older.

  40. 40
    What is the purpose of Actions?
    Times asked 2
    Official solution

    SimpleMutations sync diary entry. Actions async kaam phir diary.

    Direct state mutate action se Vuex 4 discouraged. Devtools time-travel mutations.

    Purpose of Actions: API, phir commit. Purpose of Mutations: state change one place.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: action fetchVenues → commit setVenues. Mutation sirf array replace.

  41. 41
    What is Pinia?
    Times asked 2
    Official solution

    SimplePinia naya store: mutations nahi, seedha state. Vue 3 recommended.

    defineStore. Vuex vs Pinia: naya project Pinia. Purana Vuex valid.

    Component = reusable UI block (Navbar, Card). Props parent→child data, emit child→parent event. Slots parent HTML inner content.

    computed cache + reactive derive (filtered list). watch side-effect (query change pe API). methods events. ref() primitive, reactive() object. Vuex/Pinia global store; localStorage persist, store nahi.

    SFC: template + script + style ek .vue file. Parent-child exam favourite: list parent, row child :item + @delete.

    Project example: stores/user.js. Agar Vuex hai to Pinia ka naam mat lo unless used.

  42. 42
    How does JavaScript work?
    Times asked 2
    Official solution

    SimpleEngine parse, event loop, Web APIs fetch. Vue compile template render fn.

    Single-threaded + queue. Reactivity on top.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Don't go too OS-level unless asked.

  43. 43
    What is a Promise?
    Times asked 4
    Official solution

    SimplePromise IOU hai: abhi nahi, baad mein value ya error.

    States: pending, fulfilled, rejected. fetch() promise return. then/catch/finally.

    async function hamesha Promise return. await usko unwrap. Galat: await without async; missing await to Promise object milta data nahi.

    JS browser ki language. const rebind nahi, let block. Arrow () => this lexical.

    Promise: pending/fulfill/reject. async/await usko seedha padhne jaisa. try/catch await pe. Yeh Celery nahi — Celery Python worker.

    fetch native AJAX. array.filter/map computed lists. Vue data reactive; plain JS DOM querySelector se manual.

    Example

    fetch('/api/hello')
      .then(r => r.json())
      .then(d => console.log(d))
      .catch(err => console.error(err))

    Project example: fetch venues .then json. Ya async mounted await.

  44. 44
    What is Type Coercion?
    Times asked 1
    Official solution

    SimpleImplicit convert '5'+1='51'. Use === and Number().

    v-model.number helps.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: API qty parseInt backend too.

    Project example: API qty parseInt backend too.

  45. 45
    What do call(), apply(), and bind() do?
    Times asked 1
    Official solution

    Simplecall(this, args) now. apply(this, [args]). bind later this lock.

    Rare MAD2. Know one-liner.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: If unused: theory only.

    Project example: If unused: theory only.

  46. 46
    Explain Flask-Security.
    Times asked 1
    Official solution

    SimpleFlask-Security-Too: login, roles, hash, token, UserDatastore. Mixins models pe.

    create_user, add_role, hash_password. JWT-extended alternative. Jo use kiya import dikhao.

    Flask Python micro web framework. Route decorator URL → function. MAD2 mein JSON API: request.get_json(), jsonify, JWT.

    WSGI: server (Werkzeug) app ko call. if __name__ == '__main__' sirf direct run. Factory create_app() test/celery ke liye.

    Blueprint/resources folders. @app.route vs MethodView. Debug=True viva local, prod nahi. CORS alag port Vue ke liye.

    Example

    user_datastore = SQLAlchemyUserDatastore(db, User, Role)
    security = Security(app, user_datastore)

    Project example: __init__ Security(app, user_datastore). User(UserMixin).

  47. 47
    What is UserDatastore?
    Times asked 2
    Official solution

    Simpledata() local diary. Store school notice board.

    Search query local. Logged-in user store. Persist: store + localStorage together.

    state vs data: similar concept, scope alag.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    // local
    data() { return { q: '' } }
    // global
    this.$store.state.user

    Project example: Login.vue local form fields. this.$store.state.user Navbar.

  48. 48
    Explain RBAC implementation.
    Times asked 2
    Official solution

    SimpleRoles table, assignment, decorator, UI meta. Example admin vs user endpoint.

    Admin authenticated AND authorized. User authenticated not authorized admin.

    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: roles_required admin stats. User 403 Postman.

  49. 49
    What are RoleMixin and UserMixin?
    Times asked 1
    Official solution

    SimpleUserMixin RoleMixin Flask-Security interfaces: is_authenticated, roles relation.

    Methods milte. Models inherit.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: class User(db.Model, UserMixin).

  50. 50
    How is the authentication token generated?
    Times asked 2
    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.

    Example

    token = create_access_token(identity=user.id, additional_claims={'role': user.role})

    Project example: auth.py login. Flask-JWT-Extended.

  51. 51
    Difference between fs_uniquifier and authentication tokens.
    Times asked 1
    Official solution

    Simplefs_uniquifier session invalidation field. JWT signed claims. Related not same.

    Don't say they are equal.

    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: Both in project or one. Clarify.

  52. 52
    What happens to the fs_uniquifier token after a password change?
    Times asked 1
    Official solution

    SimpleNew uniquifier old sessions die. JWT: exp or blacklist/jti.

    What happens after password change favourite.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Change password demo old token 401 if implemented.

  53. 53
    What is Celery?
    Times asked 19
    Official solution

    SimpleCelery = background naukri. HTTP request ko 10 second email bhejne ke liye mat rokna.

    Distributed task queue: aap function ko abhi nahi, worker process mein later/retry/schedule pe chalaate ho.

    MAD2 typical jobs: daily reminder mail, monthly HTML report, user-triggered CSV export.

    Web request 200ms hona chahiye. 10,000 emails request thread mein = timeout. Worker alag CPU pe kaam kare.

    Redis broker chahiye. Beat alag process schedule ke liye.

    Example

    @celery.task
    def daily_reminder():
        for u in User.query.filter_by(active=True):
            send_mail(u.email, 'Book something today!')

    Project example: User Export click → 202 Accepted. Worker CSV + email. Daily 6pm Beat reminder.

    Viva tipWorker + Redis bina Beat ke user-triggered chalega. Scheduled jobs ke liye Beat bhi chahiye.

  54. 54
    What is Redis?
    Times asked 21
    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.

    Example

    import redis
    r = redis.Redis(host='localhost', port=6379, db=0)
    r.set('venues', json.dumps(data), ex=30)
    print(r.get('venues'))

    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.

  55. 55
    Difference between @cache.cached and @cache.memoize.
    Times asked 1
    Official solution

    Simplecached poori view ko yaad rakhta hai, memoize function ke arguments ke hisaab se.

    @cache.cached URL / key_prefix (optional query_string) se key banata hai — list endpoints ke liye.
    @cache.memoize arguments se key banata hai — get_user(5) aur get_user(9) alag cache.

    Prefix clash se galat data mil sakta hai. Dono ka timeout same idea hai. Invalidation: delete_memoized(fn, args) vs cache.delete(prefix).

    Example

    @cache.cached(timeout=30, key_prefix='home')
    def home(): ...
    
    @cache.memoize(30)
    def get_user(user_id): ...  # alag key per user_id

    Project example: Venues list = cached. User-wise report function = memoize(user_id).

    Viva tipList endpoint: cached. Function with arguments: memoize. Prefix alag rakho warna clash.

  56. 56
    What is the benefit of caching?
    Times asked 1
    Official solution

    SimpleCache isliye taaki 100 users same dashboard pe DB ko 100 baar na maror dein.

    Problem: repeated reads, slow page, extra load. Cache seconds ke liye snapshot deta hai.

    Nahi use karna: har second badalne wala live stock, user-private secret data bina soch ke (key mein user_id hona chahiye).

    Memoization caching ka subset hai (function args). HTTP 304 / browser cache alag layer.

    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.

    Alag: Redis ≠ Memcached (Celery broker nahi). Redis ≠ localStorage (woh browser). redis-cli ping → PONG viva proof.

    Project example: Shows list har user dekhta hai — perfect cache. Booking POST cache nahi — har baar write.

  57. 57
    Redis acts as a message broker between which two entities?
    Times asked 1
    Official solution

    SimpleBroker = daakia. Flask chitthi (task) daalta hai, worker uthata hai.

    Point-to-point: ek task ek worker. Pub/sub broadcast alag.

    .delay() JSON serialize karke Redis list mein. Worker BLPOP, run, result backend pe status.

    Example

    export_csv.delay(user_id)   # Flask
    # Redis queue: celery task JSON
    # Worker: export_csv(user_id)

    Project example: POST /api/export → export_csv.delay → Redis → celery worker → MailHog.

    Viva tipPoint-to-point queue: ek task ek worker. Result backend alag DB pe task result store karta hai.

  58. 58
    What is the purpose of the Redis Result Backend?
    Times asked 1
    Official solution

    SimpleResult backend task ka report card hai: PENDING / SUCCESS / FAILURE + return value.

    Broker kaam bhejta hai, backend result rakhta hai. Redis dono ho sakta hai, alag DB better.

    Frontend poll: GET /api/tasks/<id> → AsyncResult.status. CSV ready hone pe download link.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    result = export_csv.delay(1)
    return jsonify(task_id=result.id)
    # baad mein: AsyncResult(task_id).status

    Project example: Export button 202 + task_id. Spinner jab tak SUCCESS. Mail alag se.

  59. 59
    In which data structure does Redis store data?
    Times asked 1
    Official solution

    Simpledata() local diary. Store school notice board.

    Search query local. Logged-in user store. Persist: store + localStorage together.

    state vs data: similar concept, scope alag.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    // local
    data() { return { q: '' } }
    // global
    this.$store.state.user

    Project example: Login.vue local form fields. this.$store.state.user Navbar.

  60. 60
    What is CORS?
    Times asked 8
    Official solution

    SimpleDifferent origin Vue vs Flask — browser CORS check. Server Allow-Origin.

    Failed = frontend error even if curl works. Examiner curl vs browser.

    HTTP verbs + status REST ki zabaan. GET read, POST create, PUT replace, PATCH partial, DELETE remove. GET typically no body.

    Status: 200 OK, 201 created, 202 accepted (Celery task), 400 bad input, 401 no/bad token, 403 role nahi, 404 missing, 409 conflict (double book), 500 server.

    AJAX/fetch page reload nahi. SPA poori isi pe. Postman se bina Vue ke API prove karo — examiner pasand.

    Example

    from flask_cors import CORS
    CORS(app, resources={r'/api/*': {'origins': 'http://localhost:8080'}})

    Project example: Flask-CORS localhost:8080.

  61. 61
    What is CSRF?
    Times asked 5
    Official solution

    SimpleCSRF = dusri site tumhare cookie se request chalwa de jab tum logged in ho.

    Session+cookie auto-send → CSRF token chahiye.
    JWT Authorization header browser automatically dusri site se nahi lagata — kam risk (unless cookie JWT).

    SameSite cookies help.

    Browser + API ke beech extra darwaze: CORS origin allow, HTTPS encrypt transit, CSRF cookie-auto-send attack, XSS HTML inject, SQL injection raw query.

    MAD2 SPA: Vue :8080 Flask :5000 → Flask-CORS. JWT localStorage XSS se chori ho sakta — v-html user input pe avoid. Password Network tab localhost pe dikhega; prod HTTPS, response mein password echo nahi.

    401 unauthenticated, 403 unauthorized, 400 validation. Hash one-way — SHA decrypt nahi hota. Secret key .env, GitHub pe nahi.

    Project example: Token header APIs. Cookie session nahi to CSRF kam. Phir bhi CORS tight.

  62. 62
    What is SMTP?
    Times asked 3
    Official solution

    SimpleSMTP = email bhejne ka protocol, jaise HTTP web ka.

    Ports: 587 STARTTLS, 465 SMTPS, 25 server-server. Dev: MailHog 1025.

    Flask-Mail wrap. Sync send slow — Celery task se bhejo.

    Fayda: universal. Nuksaan: spam, deliverability (SPF/DKIM), no guarantee like API.

    Example

    app.config['MAIL_SERVER'] = 'localhost'
    app.config['MAIL_PORT'] = 1025
    mail.send(Message('Hi', recipients=['a@b.com'], body='Hello'))

    Project example: MAIL_SERVER=localhost MAIL_PORT=1025. Production later SendGrid/SES.

    Viva tipFayda: universal. Nuksaan: deliverability, spam, sync send slow — isliye Celery + MailHog in dev.

  63. 63
    How are charts rendered in your application? (e.g., Chart.js)
    Times asked 1
    Official solution

    SimpleAPI summary → Chart.js canvas mounted. Colors array.

    Booking karke update — cache invalidate stats.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: GET /api/admin/summary. new Chart(ctx, ...).

  64. 64
    Modify the Chart.js graph to use only two colors.
    Times asked 1
    Official solution

    Simpledatasets[0].backgroundColor = 2 colors only. Extra hatao.

    Chart.js. After change refresh / destroy recreate.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    backgroundColor: ['#36a2eb', '#ff6384']

    Project example: AdminSummary chart options.

  65. 65
    Explain the project routes and backend changes.
    Times asked 1
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  66. 66
    Explain frontend API filters.
    Times asked 1
    Official solution

    Simplecomputed filteredList or backend query params. Don't only UI if security.

    Apply filters Vue frontend live.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: status filter buttons.

    Project example: status filter buttons.

  67. 67
    Explain project-specific JavaScript concepts introduced in your code.
    Times asked 1
    Official solution

    Simplemap/filter/async you wrote. Open that file. Project-specific JS concepts.

    Don't claim unused.

    JS browser ki language. const rebind nahi, let block. Arrow () => this lexical.

    Promise: pending/fulfill/reject. async/await usko seedha padhne jaisa. try/catch await pe. Yeh Celery nahi — Celery Python worker.

    fetch native AJAX. array.filter/map computed lists. Vue data reactive; plain JS DOM querySelector se manual.

    Project example: grep .map.

    Project example: grep .map.

  1. 1
    Explain your project files/folder structure.
    Times asked 1
    Official solution

    Simplebackend create_app models api jobs. frontend src router. config env. README.

    Don't read every file. 6 roles.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: tree command or VSCode explorer.

  2. 2
    Explain any one page/component in your project.
    Times asked 1
    Official solution

    SimpleEk Vue file: template, data, mounted fetch, methods save. 2 min.

    Open any component. fetch + lifecycle.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Booking.vue tour.

    Project example: Booking.vue tour.

  3. 3
    Explain your database models.
    Times asked 8
    Official solution

    SimpleTables + lines (FK) + 1-M / M-M. Draw mentally, phir models.py.

    Har class: PK, important columns, relationships. Why normalized (no duplicate venue name in every show as only string without FK).

    Indexes search columns. Unique email. Cascade policy bookings pe.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: User-Role M-M. User-Booking 1-M. Venue-Show 1-M. Show-Booking 1-M.

  4. 4
    Explain one of your database queries.
    Times asked 1
    Official solution

    SimpleKoi filter/join khol: table condition return list/obj. Explain one of your database queries.

    Read the line.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: resources.py.

    Project example: resources.py.

  5. 5
    Difference between is and ==. Is there any performance/speed difference?
    Times asked 1
    Official solution

    Simple== value. is identity same object. Speed micro. None: is None.

    Difference is and ==. Performance negligible vs correctness.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: if user is None. Don't is for strings.

  6. 6
    What do .all() and .first() return in SQLAlchemy?
    Times asked 1
    Official solution

    Simple.all() list (empty []). .first() object or None. Empty table no crash if coded.

    What do all and first return. Empty table.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: v-if items.length. Don't [0] without check.

  7. 7
    Explain the @auth_required decorator.
    Times asked 1
    Official solution

    Simple@auth_required login. @roles_required role. Order: pehle auth/jwt, phir role.

    Swap se identity nahi / 401/500. Combine OK. roles often implies login.

    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.

    Example

    @app.route('/api/admin/stats')
    @auth_required()
    @roles_required('admin')
    def stats():
        return jsonify(users=User.query.count())

    Project example: admin stats both decorators.

    Viva tipDecorator order: pehle jwt/auth, phir role — warna identity nahi milti. Swap se 401/500 ho sakta hai, test karke bolo.

  8. 8
    Add password validation to enforce at least: One uppercase letter One lowercase letter One digit
    Times asked 1
    Official solution

    SimpleRegex upper lower digit. Frontend + backend. Length hash column alag baat.

    Live task common.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    re.search(r'[A-Z]', p) and re.search(r'[a-z]', p) and re.search(r'\d', p)

    Project example: register route + Login.vue.

  9. 9
    Implement the password visibility toggle for the Confirm Password field.
    Times asked 1
    Official solution

    Simpletype show ? text : password. @click show=!show. Confirm field alag. Password visibility toggle.

    Don't log password.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Login.vue eye icon.

    Project example: Login.vue eye icon.

  10. 10
    What is Redis caching?
    Times asked 2
    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.

    Example

    import redis
    r = redis.Redis(host='localhost', port=6379, db=0)
    r.set('venues', json.dumps(data), ex=30)
    print(r.get('venues'))

    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.

  11. 11
    What is marshal_with?
    Times asked 1
    Official solution

    Simple@marshal_with Flask-RESTful fields schema. Or serialize method.

    What is marshal_with.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: If restful Resource fields dict.

    Project example: If restful Resource fields dict.

  12. 12
    Explain common HTTP status codes.
    Times asked 1
    Official solution

    Simple2xx jeet, 4xx teri galti, 5xx meri (server) galti.

    200 OK, 201 Created, 400 validation, 401 no/invalid token (authentication fail), 403 role (authorization fail), 404 missing, 409 conflict, 500 crash.

    403 vs IntegrityError: 403 permission. Duplicate unique → 400/409, 500 mat chhodo.

    Example

    return jsonify(msg='ok'), 200
    return jsonify(msg='login required'), 401

    Project example: Login fail 401. User admin API 403. Duplicate booking 400.

    Viva tip403 vs IntegrityError: 403 permission, IntegrityError DB constraint (duplicate unique) — 400/409 banao, 500 mat chhodo.

  13. 13
    How do you apply margin only to the top and bottom in Bootstrap?
    Times asked 1
    Official solution

    Simplem-3 all sides. my-3 top+bottom. mx auto horizontal center. mt-2 me-2 etc.

    Look: Bootstrap utility classes (margin m-3, flex, grid) ya khud CSS. Responsive = media query / Bootstrap breakpoints se mobile.

    Vue scoped style leak nahi. :class binding. Examiner colour/button live change maange to DevTools nahi, source class dikhao.

    CSS ≠ Bootstrap. Bootstrap CSS+JS framework. Inline style last resort.

    Project example: Bootstrap class ya scoped CSS file. Mobile toggle.

  14. 14
    How do you apply margin to all sides in Bootstrap?
    Times asked 1
    Official solution

    Simplem-3 all. my-2 top+bottom. mx-auto center. g-2 gutters grid.

    Look: Bootstrap utility classes (margin m-3, flex, grid) ya khud CSS. Responsive = media query / Bootstrap breakpoints se mobile.

    Vue scoped style leak nahi. :class binding. Examiner colour/button live change maange to DevTools nahi, source class dikhao.

    CSS ≠ Bootstrap. Bootstrap CSS+JS framework. Inline style last resort.

    Project example: Bootstrap class ya scoped CSS file. Mobile toggle.

  15. 15
    What happens if you remove a CSS class from an HTML element?
    Times asked 1
    Official solution

    SimpleClass hatao rules apply nahi layout toot sakta. That's the live task sometimes.

    What happens remove CSS class.

    Look: Bootstrap utility classes (margin m-3, flex, grid) ya khud CSS. Responsive = media query / Bootstrap breakpoints se mobile.

    Vue scoped style leak nahi. :class binding. Examiner colour/button live change maange to DevTools nahi, source class dikhao.

    CSS ≠ Bootstrap. Bootstrap CSS+JS framework. Inline style last resort.

    Project example: DevTools toggle class.

    Project example: DevTools toggle class.

  16. 16
    Explain Bootstrap utility classes.
    Times asked 1
    Official solution

    Simpled-flex, justify-content-center, p-3, btn, navbar, container, row, col-md-6, my-3, ms-auto.

    Margin all m-3. top-bottom my. mx-auto center.

    Look: Bootstrap utility classes (margin m-3, flex, grid) ya khud CSS. Responsive = media query / Bootstrap breakpoints se mobile.

    Vue scoped style leak nahi. :class binding. Examiner colour/button live change maange to DevTools nahi, source class dikhao.

    CSS ≠ Bootstrap. Bootstrap CSS+JS framework. Inline style last resort.

    Project example: Login card mx-auto mt-5.

  17. 17
    Make basic code changes using the documentation if required.
    Times asked 1
    Official solution

    SimpleVue/Flask docs example adapt models. Don't paste unrelated. Make changes using documentation.

    Allowed docs.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Keep another window docs.

    Project example: Keep another window docs.

  1. 1
    Explain the directory structure of your application.
    Times asked 1
    Official solution

    Simplebackend create_app models api jobs. frontend src router. config env. README.

    Don't read every file. 6 roles.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: tree command or VSCode explorer.

  2. 2
    Give a short demonstration of your application.
    Times asked 1
    Official solution

    SimpleDemo 5–7 min ki kahani: saari roles, koi milestone skip nahi, bolte-bolte dikhao.

    Examiner list tick karta hai. Crash ho to panic nahi — terminal error padho.

    Code tab kholna jab poochhein. Extra uncommitted features mat dikhana agar portal ZIP mein nahi.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search + charts
    6) CSV export / email job
    7) Logout

    Project example: Jo statement/parking/jobs/tickets hai uske user+admin journeys.

    Viva tipBol: 'Yahan overbooking rokta hoon'. Mandatory features pehle, polish baad.

  3. 3
    Explain models.py.
    Times asked 21
    Official solution

    Simplemodels.py tables ki blueprint. Har class ek table, har Column ek field.

    PK id, FK dusri table, relationship dono taraf, serialize() JSON (password mat).
    app factory db.init. resources APIs use models.

    Examiner random line: type, nullable, unique, ondelete.

    Suggested flow1) Har table → class
    2) PK id
    3) FK
    4) relationship()
    5) serialize()

    Example

    class Booking(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
        user = db.relationship('User', back_populates='bookings')

    Project example: User, Role, Venue/Show/Booking (ya Drive/Application). Draw 1-M.

    Viva tipExaminer random line poochhe: column type, FK, constraint. Draw 1-M / M-M on paper mentally.

  4. 4
    Open any one Vue component/file and explain it.
    Times asked 1
    Official solution

    SimpleEk Vue file: template, data, mounted fetch, methods save. 2 min.

    Open any component. fetch + lifecycle.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Booking.vue tour.

    Project example: Booking.vue tour.

  5. 5
    Which version of Vue are you using (Vue 2 or Vue 3)?
    Times asked 1
    Official solution

    SimpleVue 3 naya engine: Composition API, fragments, better TS, tree-shaking. Vue 2 Options + filters.

    mounted vs onMounted. Filters Vue 3 mein hata — computed/methods.

    Version package.json / Vue.version se dikhao. Jo use kiya uske hooks bolo.

    SPA = ek HTML, Vue Router se views, full reload nahi. MPA = MAD1 Jinja har URL naya HTML.

    Vue Router: routes array, router-view, router-link, meta.auth + beforeEach guard. Dynamic /venues/:id$route.params.id.

    Vite/CLI SFC + npm build dist/. CDN script tag, no SFC. Jo tumne use kiya wahi justify. Flask send_from_directory('dist') production pattern.

    Project example: package.json vue ^3.x. setup() + onMounted fetch.

    Viva tipVersion package.json / Vue.version se dikhao. MAD2 dono allowed usually — jo use kiya uske hooks bolo (mounted vs onMounted).

  6. 6
    Difference between Vue CLI and Vue CDN.
    Times asked 5
    Official solution

    SimpleCDN = Vue script tag se, jaise pen drive. CLI/Vite = poori factory (SFC, npm, bundle).

    CDN: no build, chhote apps, exam PC pe Node nahi to bhi chal. Weak: no .vue compile, 3rd-party cache, scale/team.

    CLI/Vite: Single File Components, env, code-split, production dist/. Scalable.

    Examiner 'which + why' — jo use kiya wahi justify, doosra naam rato mat.

    Example

    <!-- CDN -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    
    # Vite
    npm run dev
    npm run build

    Project example: CDN: index.html unpkg vue. CLI: package.json, npm run serve / vite.

    Viva tipCDN scalable large teams ke liye weak (no SFC compile, caching 3rd party). Examiner 'which + why' poochta hai — jo use kiya wahi justify karo.

  7. 7
    Why did you use Vue CDN? Show where it is included (index.html).
    Times asked 1
    Official solution

    SimpleCDN isliye simple deploy, kabhi Node nahi chahiye viva machine pe.

    Show <script src=vue> index.html. Tradeoff: SFC nahi, ek bada JS file.

    Agar CLI use kiya to yeh answer ulta: SFC + build isliye CLI.

    SPA = ek HTML, Vue Router se views, full reload nahi. MPA = MAD1 Jinja har URL naya HTML.

    Vue Router: routes array, router-view, router-link, meta.auth + beforeEach guard. Dynamic /venues/:id$route.params.id.

    Vite/CLI SFC + npm build dist/. CDN script tag, no SFC. Jo tumne use kiya wahi justify. Flask send_from_directory('dist') production pattern.

    Project example: index.html bottom script tags Vue + vue-router + app.js.

  8. 8
    How many Vue files/components do you have?
    Times asked 1
    Official solution

    Simplesrc/components + views count. routes.length. Exact from project.

    How many Vue files/components.

    SPA = ek HTML, Vue Router se views, full reload nahi. MPA = MAD1 Jinja har URL naya HTML.

    Vue Router: routes array, router-view, router-link, meta.auth + beforeEach guard. Dynamic /venues/:id$route.params.id.

    Vite/CLI SFC + npm build dist/. CDN script tag, no SFC. Jo tumne use kiya wahi justify. Flask send_from_directory('dist') production pattern.

    Project example: ls | wc.

    Project example: ls | wc.

  9. 9
    What is the difference between v-if and v-show?
    Times asked 6
    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.

    Rare / permission UI: v-if (admin panel). Dropdown bar-bar: v-show.

    : shorthand v-bind ka, v-if ka nahi.

    Example

    <div v-if="isAdmin">Admin panel</div>
    <div v-show="open">Dropdown</div>

    Project example: Admin links v-if="role==='admin'". FAQ accordion v-show="open".

    Viva tipSecurity ke liye sirf v-if kaafi nahi — API 403 bhi chahiye.

  10. 10
    What is Axios? Have you used it?
    Times asked 1
    Official solution

    SimpleAxios HTTP library: JSON auto, interceptors, timeout. fetch built-in alternative.

    Na use kiya: 'fetch native, extra lib nahi' valid.
    Use kiya: interceptor mein token. Why didn't: deps kam.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    axios.get('/api/venues', { headers: { Authorization: 'Bearer ' + token } })

    Project example: axios.defaults.headers.common.Authorization. baseURL :5000.

    Viva tipNa use kiya to bolo: fetch native hai, extra lib nahi. Use kiya to interceptor mein token set karna dikhao.

  11. 11
    Show your fetch() API calls.
    Times asked 1
    Official solution

    SimpleOne component mounted fetch headers error. Line by line. Show a Vue component fetch and lifecycle.

    async await.

    JS browser ki language. const rebind nahi, let block. Arrow () => this lexical.

    Promise: pending/fulfill/reject. async/await usko seedha padhne jaisa. try/catch await pe. Yeh Celery nahi — Celery Python worker.

    fetch native AJAX. array.filter/map computed lists. Vue data reactive; plain JS DOM querySelector se manual.

    Project example: Home.vue.

    Project example: Home.vue.

  12. 12
    If the backend returns a 400 Bad Request response, how does the frontend handle it?
    Times asked 1
    Official solution

    Simpleres.ok false → JSON message state/toast. try/catch network.

    Don't ignore 400. Show 'Already booked'.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    if (!res.ok) {
      const e = await res.json()
      this.error = e.message
    }

    Project example: book() method if (!res.ok) this.error = ...

  13. 13
    What do you know about Vuex?
    Times asked 1
    Official solution

    SimpleVuex/Pinia ghar ka notice board. Har room (component) same user/token dekhe.

    State data, mutations sync change, actions async API phir commit.

    Local data() sirf us component. Token/user global.

    Pinia Vue 3 official, kam boilerplate. Vuex older MAD2 still common.

    Example

    state: { user: null }
    mutations: { setUser(s, u) { s.user = u } }
    actions: { async login({ commit }, form) {
      const u = await api.login(form); commit('setUser', u)
    }}

    Project example: store user + token login action. Navbar getters isAdmin. Logout clear LS+state.

    Viva tipLocal/Session storage persist ke liye, reactive share ke liye store. Pinia Vue 3 official, Vuex older.

  14. 14
    What are State, Mutations, and Actions in Vuex?
    Times asked 1
    Official solution

    SimpleVuex/Pinia ghar ka notice board. Har room (component) same user/token dekhe.

    State data, mutations sync change, actions async API phir commit.

    Local data() sirf us component. Token/user global.

    Pinia Vue 3 official, kam boilerplate. Vuex older MAD2 still common.

    Example

    state: { user: null }
    mutations: { setUser(s, u) { s.user = u } }
    actions: { async login({ commit }, form) {
      const u = await api.login(form); commit('setUser', u)
    }}

    Project example: store user + token login action. Navbar getters isAdmin. Logout clear LS+state.

    Viva tipLocal/Session storage persist ke liye, reactive share ke liye store. Pinia Vue 3 official, Vuex older.

  15. 15
    What is the purpose of Actions?
    Times asked 2
    Official solution

    SimpleMutations sync diary entry. Actions async kaam phir diary.

    Direct state mutate action se Vuex 4 discouraged. Devtools time-travel mutations.

    Purpose of Actions: API, phir commit. Purpose of Mutations: state change one place.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: action fetchVenues → commit setVenues. Mutation sirf array replace.

  16. 16
    Explain how RBAC is implemented in your application.
    Times asked 1
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  17. 17
    How does the @role_required decorator work?
    Times asked 1
    Official solution

    SimpleLooks current_user.roles. Abort 403. JWT claims sometimes.

    How @role_required works.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Open flask-security / your decorator.

    Project example: Open flask-security / your decorator.

  18. 18
    What is the difference between back_populates and backref?
    Times asked 2
    Official solution

    Simplebackref jaadu se reverse attribute. back_populates dono taraf likho — clear.

    backref='author' Post.author auto. New code back_populates preferred.

    Examiner difference almost guaranteed.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Example

    posts = db.relationship('Post', backref='author')
    # vs
    posts = db.relationship('Post', back_populates='author')
    Post.author = relationship('User', back_populates='posts')

    Project example: User.bookings / Booking.user dono explicit back_populates.

  19. 19
    What is cache?
    Times asked 1
    Official solution

    SimpleCache = pehli baar hisaab karke copy rakh lo, doosri baar copy dikha do.

    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.

    Browser cache, Flask-Caching, Redis alag layers hain. MAD2 examiner Redis + @cache.cached code dekhta hai.

    Example

    @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.

  20. 20
    Where does Redis store its cache?
    Times asked 1
    Official solution

    SimpleData Redis process ki RAM mein rehta hai, laptop ke browser mein nahi.

    Optional RDB/AOF files disk pe dump. Viva default: memory. Server-side.

    redis-cli ping, INFO memory. Browser Application tab alag cheez (JWT).

    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.

    Alag: Redis ≠ Memcached (Celery broker nahi). Redis ≠ localStorage (woh browser). redis-cli ping → PONG viva proof.

    Project example: Flask machine pe redis-server. Vue sirf API call — Redis client nahi.

  21. 21
    Change the Celery schedule so that both the monthly report and daily reminder run at 5:20 PM.
    Times asked 1
    Official solution

    SimpleDono crontab(hour=17, minute=20). Same time fire OK — do alag tasks.

    Ek schedule do tasks. Worker dono uthayega. Demo ke liye theek.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Beat log two 'Sending due task' around 5:20.

  22. 22
    What types of browser storage are available?
    Times asked 1
    Official solution

    SimplelocalStorage sessionStorage cookies IndexedDB memory Cache API. Types browser storage. Client-side storage.

    What types available. Other than LS.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: We used LS for JWT. Cookies empty.

  23. 23
    How are you rendering charts in your application? (e.g., Chart.js)
    Times asked 1
    Official solution

    SimpleAPI summary → Chart.js canvas mounted. Colors array.

    Booking karke update — cache invalidate stats.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: GET /api/admin/summary. new Chart(ctx, ...).

  24. 24
    Change the Chart.js bar chart so that it uses only two colors.
    Times asked 1
    Official solution

    Simpledatasets[0].backgroundColor = 2 colors only. Extra hatao.

    Chart.js. After change refresh / destroy recreate.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    backgroundColor: ['#36a2eb', '#ff6384']

    Project example: AdminSummary chart options.

  1. 1
    Demonstrate your complete application.
    Times asked 7
    Official solution

    SimpleDemo 5–7 min ki kahani: saari roles, koi milestone skip nahi, bolte-bolte dikhao.

    Examiner list tick karta hai. Crash ho to panic nahi — terminal error padho.

    Code tab kholna jab poochhein. Extra uncommitted features mat dikhana agar portal ZIP mein nahi.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search + charts
    6) CSV export / email job
    7) Logout

    Project example: Jo statement/parking/jobs/tickets hai uske user+admin journeys.

    Viva tipBol: 'Yahan overbooking rokta hoon'. Mandatory features pehle, polish baad.

  2. 2
    Explain your entire codebase (backend and frontend).
    Times asked 1
    Official solution

    SimpleTree + 6 file roles. Not every line.

    Same walk_code. Stay structured.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Start models end Vue.

    Project example: Start models end Vue.

  3. 3
    Explain your database/models in detail.
    Times asked 1
    Official solution

    SimpleTables + lines (FK) + 1-M / M-M. Draw mentally, phir models.py.

    Har class: PK, important columns, relationships. Why normalized (no duplicate venue name in every show as only string without FK).

    Indexes search columns. Unique email. Cascade policy bookings pe.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: User-Role M-M. User-Booking 1-M. Venue-Show 1-M. Show-Booking 1-M.

  4. 4
    Explain the flow of a feature from frontend to backend (e.g., booking/service flow).
    Times asked 1
    Official solution

    SimpleButton to DB and back 6 steps. Explain flow of a feature frontend to backend.

    Pick booking/service.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Sequence aloud.

    Project example: Sequence aloud.

  5. 5
    Explain every library/package used in your project and why it is needed.
    Times asked 1
    Official solution

    SimpleHar lib ek line why — list 40 mat.

    Flask, SQLAlchemy, JWT/Security, CORS, Caching+Redis, Celery, Vue+Router, Vuex/Pinia, Axios/fetch, Chart.js, Bootstrap.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: requirements.txt + package.json top 6 open karke bolo.

    Viva tipHar lib ek line why: CORS alag origin, Redis tez, Celery async, Chart.js dashboard.

  6. 6
    Explain every API used in your application.
    Times asked 1
    Official solution

    Simple3–4 routes deep: auth, validation, status, cache? Method body response error.

    Login, list, create. Why each.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Open resources, pick examiner's choice.

  7. 7
    Explain the challenges and learnings from MAD1 and MAD2.
    Times asked 1
    Official solution

    SimpleTypical: CORS, JWT expiry, Celery Windows, cache stale, Vue reactivity. Personal 30s story.

    How solved docs+logs. Difficulties honest.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Pick one real bug.

  8. 8
    Add a new database entry using a Python script or the terminal.
    Times asked 1
    Official solution

    Simpleflask shell obj=Model(); add; commit. Add new database entry Python script or terminal.

    app context.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Project example: flask shell.

  9. 9
    Change the background color of the page/body.
    Times asked 1
    Official solution

    Simplebody { background: #f5f5f5 } or wrapper class.

    Specific div vs whole page — suno examiner.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: App.vue style or bootstrap bg-light.

    Project example: App.vue style or bootstrap bg-light.

  10. 10
    Change the background color of a specific div/login box.
    Times asked 1
    Official solution

    Simplebody { background: #f5f5f5 } or wrapper class.

    Specific div vs whole page — suno examiner.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: App.vue style or bootstrap bg-light.

    Project example: App.vue style or bootstrap bg-light.

  11. 11
    Set a background image.
    Times asked 1
    Official solution

    Simplebody { background-image: url(...); background-size: cover; }. Set a background image.

    static/bg.jpg.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: css.

    Project example: css.

  12. 12
    Change the font/text color.
    Times asked 1
    Official solution

    Simplebody { color } or navbar color. Change font/text color.

    Specific element if said.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: css.

    Project example: css.

  13. 13
    Change the button color.
    Times asked 3
    Official solution

    SimpleLive CSS/Vue: sabse chhota change jo dikhe. Logic/API mat todo unless poochhein.

    Inspect element se class dhoondo. btn-success, navbar bottom fixed, center flex.

    Save, refresh, dikhao. Break mat karo layout poora.

    Example

    <button class="btn btn-success">Login</button>
    nav { position: fixed; bottom: 0; width: 100%; }
    .wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; }

    Project example: Jo button/navbar poocha usi file (Navbar.vue / App.vue / css).

    Viva tipDevTools se element inspect. Logic/API mat todo unless poochhein.

  14. 14
    Change the navbar color.
    Times asked 1
    Official solution

    Simplenav.navbar background or navbar-dark bg-primary / custom CSS.

    Don't change unrelated buttons unless asked.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Inspect nav class.

    Project example: Inspect nav class.

  15. 15
    Move the navbar (center/bottom/footer).
    Times asked 1
    Official solution

    Simpleposition:fixed bottom / flex order / swap footer in App.vue.

    Confirm UX. Save refresh.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    nav { position: fixed; bottom: 0; width: 100%; }

    Project example: Navbar.vue or App.vue css.

  16. 16
    Move the header to the center of the page.
    Times asked 1
    Official solution

    Simpletext-align:center or mx-auto header. Move header center of page.

    css.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: h1 class.

    Project example: h1 class.

  17. 17
    Modify a database column and update the application accordingly.
    Times asked 1
    Official solution

    SimpleChange Column type/length SQLite ALTER limited. New column easier. Modify database column update app.

    serialize + form + create_all/migrate.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Don't drop casually.

  18. 18
    What is Vue?
    Times asked 6
    Official solution

    SimpleVue = UI ka smart assistant. Data badlo, screen khud update. MAD1 Jinja har click pe naya HTML.

    Progressive frontend framework. Components, reactivity, directives.

    MAD2 SPA: ek index.html, Vue Router pages, Flask sirf JSON.

    Fayde: easy, SFC, docs. Vs React: templates HTML-like, course sikhata hai. Vs plain JS: baar-baar DOM mat chhedo.

    Example

    <!-- HelloWorld.vue -->
    <template>
      <h1>{{ msg }}</h1>
    </template>
    <script>
    export default { data() { return { msg: 'Hello' } } }
    </script>

    Project example: Navbar.vue + views (Login, Dashboard). data() / setup() reactive. fetch APIs.

    Viva tipFayde: easy, SFC, reactivity. Vs React: chhota learning curve. Vs plain JS: UI state auto-update.

  19. 19
    What are JavaScript frameworks?
    Times asked 1
    Official solution

    SimpleVue React Angular UI frameworks. Vue course choice.

    What are JavaScript frameworks.

    JS browser ki language. const rebind nahi, let block. Arrow () => this lexical.

    Promise: pending/fulfill/reject. async/await usko seedha padhne jaisa. try/catch await pe. Yeh Celery nahi — Celery Python worker.

    fetch native AJAX. array.filter/map computed lists. Vue data reactive; plain JS DOM querySelector se manual.

    Project example: Vue.

    Project example: Vue.

  20. 20
    What is Vue Router?
    Times asked 3
    Official solution

    SimpleRouter URL ko component se map karta hai. Google Maps for pages.

    routes array path+component. router-view jagah. router-link reload nahi.

    meta.auth + beforeEach guard. Dynamic /venues/:id.

    Nayi page: SFC + routes entry + link.

    Example

    const routes = [
      { path: '/', component: Home },
      { path: '/login', component: Login },
      { path: '/venues/:id', component: VenueDetail, meta: { auth: true } },
    ]

    Project example: routes.js Login, Register, UserHome, AdminHome, 404.

    Viva tipNayi page: component banao, routes array mein path, router-link se jao.

  21. 21
    What are Vue Routes?
    Times asked 1
    Official solution

    SimpleRouter URL ko component se map karta hai. Google Maps for pages.

    routes array path+component. router-view jagah. router-link reload nahi.

    meta.auth + beforeEach guard. Dynamic /venues/:id.

    Nayi page: SFC + routes entry + link.

    Example

    const routes = [
      { path: '/', component: Home },
      { path: '/login', component: Login },
      { path: '/venues/:id', component: VenueDetail, meta: { auth: true } },
    ]

    Project example: routes.js Login, Register, UserHome, AdminHome, 404.

    Viva tipNayi page: component banao, routes array mein path, router-link se jao.

  22. 22
    What are Vuex Mutations and Actions?
    Times asked 1
    Official solution

    SimpleMutations sync diary entry. Actions async kaam phir diary.

    Direct state mutate action se Vuex 4 discouraged. Devtools time-travel mutations.

    Purpose of Actions: API, phir commit. Purpose of Mutations: state change one place.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: action fetchVenues → commit setVenues. Mutation sirf array replace.

  23. 23
    What is AJAX?
    Times asked 4
    Official solution

    SimpleAJAX = page reload ke bina server se baat. Technique ka naam, library nahi.

    Purana XMLHttpRequest. Aaj fetch() / Axios. Vue SPA poori AJAX pe chalti hai — JSON aata, v-for render.

    AJAX ≠ jQuery. Fetch native API. Axios library interceptors ke saath.

    HTTP verbs + status REST ki zabaan. GET read, POST create, PUT replace, PATCH partial, DELETE remove. GET typically no body.

    Status: 200 OK, 201 created, 202 accepted (Celery task), 400 bad input, 401 no/bad token, 403 role nahi, 404 missing, 409 conflict (double book), 500 server.

    AJAX/fetch page reload nahi. SPA poori isi pe. Postman se bina Vue ke API prove karo — examiner pasand.

    Example

    const res = await fetch('/api/venues')
    const data = await res.json()

    Project example: mounted() mein fetch('/api/venues') — yeh AJAX hai.

    Viva tipAJAX technique hai, Fetch modern API hai. Axios library hai uske upar.

  24. 24
    What is Server-Sent Events (SSE)?
    Times asked 1
    Official solution

    SimpleSSE ek tarah ka radio: server bolta rehta, client sunta. Client us pipe pe command nahi bhejta.

    text/event-stream. EventSource browser. Notifications ke liye WebSocket se simple.

    MAD2 optional. Celery complete hone pe poll bhi kaafi.

    HTTP postcard (request-response). WebSocket phone call (dono taraf live). SSE radio (server→client stream). Webhook unka server tumhe POST karta hai (payment).

    MAD2 mostly REST. Live dashboard = poll + Redis cache kaafi. Agar implement nahi kiya to design bolo, jhoot mat.

    Project example: Export status poll GET task_id. SSE nahi kiya to bolo alternative.

  25. 25
    What is an Opaque Request?
    Times asked 1
    Official solution

    SimpleOpaque no-cors fetch, body JS se nahi. Not for JSON APIs. cors mode default.

    What is an Opaque Request.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: We don't use no-cors for APIs.

    Project example: We don't use no-cors for APIs.

  26. 26
    What is Flask?
    Times asked 6
    Official solution

    SimpleFlask halka Python web framework. MAD2 REST API. Open source BSD.

    Large apps possible blueprints+gunicorn. Flask(__name__) paths. Dev server not prod.

    create_app factory tests/celery.

    Flask Python micro web framework. Route decorator URL → function. MAD2 mein JSON API: request.get_json(), jsonify, JWT.

    WSGI: server (Werkzeug) app ko call. if __name__ == '__main__' sirf direct run. Factory create_app() test/celery ke liye.

    Blueprint/resources folders. @app.route vs MethodView. Debug=True viva local, prod nahi. CORS alag port Vue ke liye.

    Example

    app = Flask(__name__)
    @app.route('/api/hello')
    def hello():
        return jsonify(message='Hello World')

    Project example: create_app register db cache cors jwt celery.

    Viva tipOpen source haan. Flask(__name__) root path/templates locate karta hai — hataoge to config confuse.

  27. 27
    Can a Flask endpoint/API return a Boolean value?
    Times asked 1
    Official solution

    SimpleJSON true/false possible. Better {ok:true}. jsonify(True) works.

    Can Flask endpoint return Boolean? Yes.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: We return objects.

    Project example: We return objects.

  28. 28
    What happens if a database table is empty? What does the query return?
    Times asked 1
    Official solution

    Simple[] / None. Templates v-if. No error if handled.

    What happens empty table.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Fresh DB demo.

    Project example: Fresh DB demo.

  29. 29
    What is ORM?
    Times asked 49
    Official solution

    SimpleORM = translator. Python object bolo, woh SQL mein baat kare.

    Object Relational Mapper. Class User ↔ table user. Raw SQL kam.

    SQLAlchemy MAD1/MAD2. Fayde: portable SQLite→Postgres, relationships, parameterized queries (injection kam).
    Nuksaan: N+1, hidden SQL, complex reports pe raw better.

    Direct sqlite3 se SQLAlchemy isliye: models, switch DB, safer queries.

    Example

    class User(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        email = db.Column(db.String(128), unique=True)
    User.query.filter_by(email='a@b.com').first()

    Project example: models.py db.Model. resources User.query.filter_by. Koi f-string SQL nahi.

    Viva tipFayde: safe-ish, portable (SQLite→Postgres). Nuksaan: complex queries, N+1, leaky abstractions. Direct SQLite se SQLAlchemy isliye: models + injection protection + switch DB.

  30. 30
    Explain your database schema/models.
    Times asked 1
    Official solution

    SimpleTables + lines (FK) + 1-M / M-M. Draw mentally, phir models.py.

    Har class: PK, important columns, relationships. Why normalized (no duplicate venue name in every show as only string without FK).

    Indexes search columns. Unique email. Cascade policy bookings pe.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: User-Role M-M. User-Booking 1-M. Venue-Show 1-M. Show-Booking 1-M.

  31. 31
    What type of database errors can occur? (e.g., inserting a string into an integer column)
    Times asked 1
    Official solution

    SimpleIntegrityError duplicate/FK. DataError type. OperationalError lock. Catch 400 not 500.

    Type of database errors.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: try commit except IntegrityError rollback.

  32. 32
    What happens if invalid data is inserted into an empty table?
    Times asked 1
    Official solution

    SimpleType/constraint DataError IntegrityError. Validate JSON types before add. Catch 400.

    Invalid data empty table still errors on type.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Post string in integer column.

  33. 33
    How many models have you used?
    Times asked 1
    Official solution

    SimpleCount honestly models.py.

    How many models.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: Open file count class db.Model.

  34. 34
    Difference between frontend validation and backend validation.
    Times asked 2
    Official solution

    SimpleFrontend UX turant error. Backend security mandatory. Dono. Backend zyada important.

    Which more important: backend. Client bypass DevTools.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    if len(password) < 8 or not re.search(r'[A-Z]', password):
        return jsonify(msg='weak password'), 400

    Project example: Password regex both. Seats check backend.

  35. 35
    Which validation is more important, frontend or backend?
    Times asked 1
    Official solution

    SimpleBackend more important. Frontend UX. Attacker UI skip karta.

    Never frontend-only overbooking.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Postman bypass Vue still 400.

    Project example: Postman bypass Vue still 400.

  36. 36
    What is Git?
    Times asked 3
    Official solution

    SimpleGit VCS tool. VCS concept. GitHub hosting. SCM another name.

    commit branch merge. Examiner history. Git ≠ GitHub.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: git log. collaborators. README.

  37. 37
    What is Version Control?
    Times asked 2
    Official solution

    SimpleGit VCS tool. VCS concept. GitHub hosting. SCM another name.

    commit branch merge. Examiner history. Git ≠ GitHub.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: git log. collaborators. README.

  38. 38
    Difference between Git and a Version Control System (VCS).
    Times asked 1
    Official solution

    SimpleVCS category, Git implementation, GitHub remote+PR.

    Difference Git vs VCS vs GitHub three words.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Local git, origin GitHub.

    Project example: Local git, origin GitHub.

  39. 39
    What is another name for a Version Control System?
    Times asked 1
    Official solution

    SimpleGit VCS tool. VCS concept. GitHub hosting. SCM another name.

    commit branch merge. Examiner history. Git ≠ GitHub.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: git log. collaborators. README.

  40. 40
    What are Webhooks?
    Times asked 7
    Official solution

    SimpleWebhook = woh tumhe call karta hai. API = tum unhe call karte ho.

    Payment success pe Stripe tumhare /webhooks/payment pe POST. Tum poll nahi karte.

    API pull, webhook push. WebSocket dono taraf live connection. SSE server→client stream.

    MAD2 mostly REST APIs. Webhook theory + example kaafi. Verify signature production mein.

    Example

    @app.route('/webhooks/payment', methods=['POST'])
    def hook():
        event = request.json
        ...

    Project example: Agar implement nahi: 'course REST. Webhook design: POST /webhooks/booking-paid'.

    Viva tipAPI pull, webhook push. WebSocket dono taraf live. SSE server → client stream.

  41. 41
    What is CSRF?
    Times asked 5
    Official solution

    SimpleCSRF = dusri site tumhare cookie se request chalwa de jab tum logged in ho.

    Session+cookie auto-send → CSRF token chahiye.
    JWT Authorization header browser automatically dusri site se nahi lagata — kam risk (unless cookie JWT).

    SameSite cookies help.

    Browser + API ke beech extra darwaze: CORS origin allow, HTTPS encrypt transit, CSRF cookie-auto-send attack, XSS HTML inject, SQL injection raw query.

    MAD2 SPA: Vue :8080 Flask :5000 → Flask-CORS. JWT localStorage XSS se chori ho sakta — v-html user input pe avoid. Password Network tab localhost pe dikhega; prod HTTPS, response mein password echo nahi.

    401 unauthenticated, 403 unauthorized, 400 validation. Hash one-way — SHA decrypt nahi hota. Secret key .env, GitHub pe nahi.

    Project example: Token header APIs. Cookie session nahi to CSRF kam. Phir bhi CORS tight.

  42. 42
    What is XSS?
    Times asked 1
    Official solution

    SimpleXSS untrusted HTML/JS inject. Escape, CSP, mat v-html user content.

    JWT LS steal via XSS. Why v-html movie desc careful.

    Browser + API ke beech extra darwaze: CORS origin allow, HTTPS encrypt transit, CSRF cookie-auto-send attack, XSS HTML inject, SQL injection raw query.

    MAD2 SPA: Vue :8080 Flask :5000 → Flask-CORS. JWT localStorage XSS se chori ho sakta — v-html user input pe avoid. Password Network tab localhost pe dikhega; prod HTTPS, response mein password echo nahi.

    401 unauthenticated, 403 unauthorized, 400 validation. Hash one-way — SHA decrypt nahi hota. Secret key .env, GitHub pe nahi.

    Project example: {{ }} auto escape. v-html only sanitized.

  43. 43
    What is DoS (Denial of Service)?
    Times asked 1
    Official solution

    SimpleDenial of Service flood/expensive queries se down. Rate limit, captcha, scale.

    Course: validation, indexes, cache. Not full WAF.

    Browser + API ke beech extra darwaze: CORS origin allow, HTTPS encrypt transit, CSRF cookie-auto-send attack, XSS HTML inject, SQL injection raw query.

    MAD2 SPA: Vue :8080 Flask :5000 → Flask-CORS. JWT localStorage XSS se chori ho sakta — v-html user input pe avoid. Password Network tab localhost pe dikhega; prod HTTPS, response mein password echo nahi.

    401 unauthenticated, 403 unauthorized, 400 validation. Hash one-way — SHA decrypt nahi hota. Secret key .env, GitHub pe nahi.

    Project example: Don't allow unbounded export without auth.

  44. 44
    Difference between Privacy and Security.
    Times asked 1
    Official solution

    SimplePrivacy personal data minimize. Security attacks rokna CIA. Overlap not same.

    GDPR vs firewall example.

    Browser + API ke beech extra darwaze: CORS origin allow, HTTPS encrypt transit, CSRF cookie-auto-send attack, XSS HTML inject, SQL injection raw query.

    MAD2 SPA: Vue :8080 Flask :5000 → Flask-CORS. JWT localStorage XSS se chori ho sakta — v-html user input pe avoid. Password Network tab localhost pe dikhega; prod HTTPS, response mein password echo nahi.

    401 unauthenticated, 403 unauthorized, 400 validation. Hash one-way — SHA decrypt nahi hota. Secret key .env, GitHub pe nahi.

    Project example: Don't return other users' emails to normal user API.

  45. 45
    What is Redis?
    Times asked 21
    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.

    Example

    import redis
    r = redis.Redis(host='localhost', port=6379, db=0)
    r.set('venues', json.dumps(data), ex=30)
    print(r.get('venues'))

    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.

  46. 46
    What is Celery?
    Times asked 19
    Official solution

    SimpleCelery = background naukri. HTTP request ko 10 second email bhejne ke liye mat rokna.

    Distributed task queue: aap function ko abhi nahi, worker process mein later/retry/schedule pe chalaate ho.

    MAD2 typical jobs: daily reminder mail, monthly HTML report, user-triggered CSV export.

    Web request 200ms hona chahiye. 10,000 emails request thread mein = timeout. Worker alag CPU pe kaam kare.

    Redis broker chahiye. Beat alag process schedule ke liye.

    Example

    @celery.task
    def daily_reminder():
        for u in User.query.filter_by(active=True):
            send_mail(u.email, 'Book something today!')

    Project example: User Export click → 202 Accepted. Worker CSV + email. Daily 6pm Beat reminder.

    Viva tipWorker + Redis bina Beat ke user-triggered chalega. Scheduled jobs ke liye Beat bhi chahiye.

  47. 47
    What is Caching?
    Times asked 2
    Official solution

    SimpleCache = pehli baar hisaab karke copy rakh lo, doosri baar copy dikha do.

    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.

    Browser cache, Flask-Caching, Redis alag layers hain. MAD2 examiner Redis + @cache.cached code dekhta hai.

    Example

    @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.

  48. 48
    What is Point-to-Point Messaging?
    Times asked 1
    Official solution

    SimpleEk producer ek consumer. Celery task typically p2p. Pub/sub broadcast.

    Redis acts as broker between Flask and worker.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: delay() one worker executes once.

  49. 49
    Difference between Task Queue and Message Queue.
    Times asked 1
    Official solution

    SimpleMessage queue generic. Task queue (Celery) specifically 'yeh function chalao'.

    Redis list FIFO. Priority extra queues.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Celery is task queue on Redis broker.

  50. 50
    What is CSS?
    Times asked 2
    Official solution

    SimpleCSS look. Selectors element .class #id. Box model flex grid.

    Inline vs internal vs external. Specificity inline high.

    Look: Bootstrap utility classes (margin m-3, flex, grid) ya khud CSS. Responsive = media query / Bootstrap breakpoints se mobile.

    Vue scoped style leak nahi. :class binding. Examiner colour/button live change maange to DevTools nahi, source class dikhao.

    CSS ≠ Bootstrap. Bootstrap CSS+JS framework. Inline style last resort.

    Example

    .btn { background: green; }
    .mt-2 { margin-top: .5rem; }  /* bootstrap */
    .my-3 { margin-top+bottom }

    Project example: style section SFC scoped + bootstrap.

    Viva tipResponsive: Bootstrap grid / media queries. Bina CSS possible nahi really — browser default ugly. Flexbox 1D, Grid 2D.

  51. 51
    What is Inline CSS?
    Times asked 1
    Official solution

    Simplestyle="color:red" ek element. Hard reuse high specificity. What is Inline CSS.

    vs internal <style> vs external file.

    Look: Bootstrap utility classes (margin m-3, flex, grid) ya khud CSS. Responsive = media query / Bootstrap breakpoints se mobile.

    Vue scoped style leak nahi. :class binding. Examiner colour/button live change maange to DevTools nahi, source class dikhao.

    CSS ≠ Bootstrap. Bootstrap CSS+JS framework. Inline style last resort.

    Project example: Avoid inline except live tiny.

    Project example: Avoid inline except live tiny.

  52. 52
    Difference between Inline CSS and Internal CSS.
    Times asked 2
    Official solution

    SimpleInline attr. Internal <style> page. External .css reuse. Specificity inline highest.

    Difference Inline and Internal CSS.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: SFC style ≈ internal scoped.

  53. 53
    What are the different ways to store data in the browser/client?
    Times asked 1
    Official solution

    Simpledata() local diary. Store school notice board.

    Search query local. Logged-in user store. Persist: store + localStorage together.

    state vs data: similar concept, scope alag.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    // local
    data() { return { q: '' } }
    // global
    this.$store.state.user

    Project example: Login.vue local form fields. this.$store.state.user Navbar.

  54. 54
    Difference between Local Storage, Session Storage, and Cookies.
    Times asked 2
    Official solution

    SimpleLS persist 5MB XSS-readable. SS tab-scoped. Cookies chhote auto-send httpOnly possible.

    JWT LS common student MAD2 — v-html untrusted mat. Logout removeItem.

    Vuex RAM refresh gayab unless rehydrate LS.

    Authentication poochta hai "tu kaun hai?", Authorization poochta hai "tujhe yeh kaam karne ki permission hai?"

    Authentication: login. Username + password hash check. Success pe JWT/session. Galat credentials = 401.
    Authorization: uske baad role. Admin hi venue/lot delete kare, student nahi = 403 (logged in ho, allowed nahi).

    MAD2: POST /api/login = authentication. @jwt_required identity. @roles_required('admin') ya Vue v-if="isAdmin" = authorization. Frontend hide sirf UX — asli deny backend pe.

    Validation alag: form sahi bhara (email format, age 18+). Woh identity prove nahi karta. Password store hash (Werkzeug), JWT payload padha ja sakta hai isliye secret mat daalo.

    Project example: Application tab localStorage token key. Cookies empty if JWT LS.

    Viva tipJWT ko localStorage common hai MAD2 student projects mein — XSS se bacho (v-html untrusted mat).

  55. 55
    What is SMTP?
    Times asked 3
    Official solution

    SimpleSMTP = email bhejne ka protocol, jaise HTTP web ka.

    Ports: 587 STARTTLS, 465 SMTPS, 25 server-server. Dev: MailHog 1025.

    Flask-Mail wrap. Sync send slow — Celery task se bhejo.

    Fayda: universal. Nuksaan: spam, deliverability (SPF/DKIM), no guarantee like API.

    Example

    app.config['MAIL_SERVER'] = 'localhost'
    app.config['MAIL_PORT'] = 1025
    mail.send(Message('Hi', recipients=['a@b.com'], body='Hello'))

    Project example: MAIL_SERVER=localhost MAIL_PORT=1025. Production later SendGrid/SES.

    Viva tipFayda: universal. Nuksaan: deliverability, spam, sync send slow — isliye Celery + MailHog in dev.

  56. 56
    What are the advantages and disadvantages of SMTP?
    Times asked 1
    Official solution

    Simple

    Faydestandard, har jagah. Nuksaan: spam, auth complex, sync slow.

    Course SMTP + MailHog. Real product: SES/SendGrid + bounce handling.

    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.

    Project example: Celery + Flask-Mail + MailHog. Inbox nahi, UI :8025.

  57. 57
    Rate your application out of 5 and justify your rating.
    Times asked 1
    Official solution

    Simple3.5–4/5 + why: core done, tests/UI missing. 5/5 overclaim.

    Justify. Enjoy frontend vs backend honest.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Weak: celery demo flaky / UI.

    Project example: Weak: celery demo flaky / UI.

  58. 58
    If your application crashes in production, how would you debug and resolve the issue?
    Times asked 1
    Official solution

    SimpleLogs gunicorn/journal, reproduce, hotfix, postmortem. Don't debug only prod.

    If application crashes production.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Flask debug off prod.

    Project example: Flask debug off prod.

  1. 1
    Demonstrate the complete application.
    Times asked 33
    Official solution

    SimpleDemo 5–7 min ki kahani: saari roles, koi milestone skip nahi, bolte-bolte dikhao.

    Examiner list tick karta hai. Crash ho to panic nahi — terminal error padho.

    Code tab kholna jab poochhein. Extra uncommitted features mat dikhana agar portal ZIP mein nahi.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search + charts
    6) CSV export / email job
    7) Logout

    Project example: Jo statement/parking/jobs/tickets hai uske user+admin journeys.

    Viva tipBol: 'Yahan overbooking rokta hoon'. Mandatory features pehle, polish baad.

  2. 2
    Show the project/folder structure.
    Times asked 1
    Official solution

    Simplebackend/, frontend/, requirements, package.json, README, instance db.

    Entry points.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Project example: Walk folders.

  3. 3
    Show the requested features/pages during the demo.
    Times asked 1
    Official solution

    SimpleDemo 5–7 min ki kahani: saari roles, koi milestone skip nahi, bolte-bolte dikhao.

    Examiner list tick karta hai. Crash ho to panic nahi — terminal error padho.

    Code tab kholna jab poochhein. Extra uncommitted features mat dikhana agar portal ZIP mein nahi.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search + charts
    6) CSV export / email job
    7) Logout

    Project example: Jo statement/parking/jobs/tickets hai uske user+admin journeys.

    Viva tipBol: 'Yahan overbooking rokta hoon'. Mandatory features pehle, polish baad.

  4. 4
    Explain specific parts of the code when asked.
    Times asked 1
    Official solution

    SimpleUngli rakhe to 4-line formula — panic ki jagah structure.

    1) File ka role: model / Flask route / Vue SFC / celery task / config
    2) Input kahan: JSON, params, token, props, $route
    3) Kya kaam: query, cache, validation, .delay()
    4) Output: jsonify, this.items, email, redirect

    Unknown keyword: import, decorator, if, commit — har ka reason. Bluff mat.

    Suggested flow1) Kaunsi layer?
    2) Input?
    3) DB/cache/task?
    4) Response/UI?

    Project example: Booking POST: jwt, seats check, commit, 201, Vue list push.

    Viva tipUnknown keyword: import, decorator, if, commit — har ka reason. Panic mat.

  5. 5
    Display the number of days remaining before book access is revoked.
    Times asked 1
    Official solution

    Simple(end_date-today).days API serialize Vue display. Days remaining before access revoked.

    Compute server.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: new field or property.

    Project example: new field or property.

  6. 6
    What is ORM?
    Times asked 49
    Official solution

    SimpleORM = translator. Python object bolo, woh SQL mein baat kare.

    Object Relational Mapper. Class User ↔ table user. Raw SQL kam.

    SQLAlchemy MAD1/MAD2. Fayde: portable SQLite→Postgres, relationships, parameterized queries (injection kam).
    Nuksaan: N+1, hidden SQL, complex reports pe raw better.

    Direct sqlite3 se SQLAlchemy isliye: models, switch DB, safer queries.

    Example

    class User(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        email = db.Column(db.String(128), unique=True)
    User.query.filter_by(email='a@b.com').first()

    Project example: models.py db.Model. resources User.query.filter_by. Koi f-string SQL nahi.

    Viva tipFayde: safe-ish, portable (SQLite→Postgres). Nuksaan: complex queries, N+1, leaky abstractions. Direct SQLite se SQLAlchemy isliye: models + injection protection + switch DB.

  7. 7
    What is relationship()?
    Times asked 1
    Official solution

    SimpleORM link classes. back_populates both. relationship().

    What is relationship().

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: User.bookings = relationship...

  8. 8
    What is backref?
    Times asked 12
    Official solution

    Simplebackref jaadu se reverse attribute. back_populates dono taraf likho — clear.

    backref='author' Post.author auto. New code back_populates preferred.

    Examiner difference almost guaranteed.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Example

    posts = db.relationship('Post', backref='author')
    # vs
    posts = db.relationship('Post', back_populates='author')
    Post.author = relationship('User', back_populates='posts')

    Project example: User.bookings / Booking.user dono explicit back_populates.

  9. 9
    Difference between backref and back_populates.
    Times asked 10
    Official solution

    Simplebackref jaadu se reverse attribute. back_populates dono taraf likho — clear.

    backref='author' Post.author auto. New code back_populates preferred.

    Examiner difference almost guaranteed.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Example

    posts = db.relationship('Post', backref='author')
    # vs
    posts = db.relationship('Post', back_populates='author')
    Post.author = relationship('User', back_populates='posts')

    Project example: User.bookings / Booking.user dono explicit back_populates.

  10. 10
    What is cascade="all" (Cascade options)?
    Times asked 1
    Official solution

    SimpleCASCADE = parent gaya to bacche bhi. Restrict = pehle bacche sambhalo.

    ON DELETE CASCADE SQL. SQLAlchemy cascade='all, delete-orphan' collection se orphans.
    Opposite auto nahi — child delete se parent nahi marata.

    Venue delete: bookings restrict (safer viva) ya cascade+cancel policy. Examiner design poochta hai.

    ON UPDATE CASCADE PK change — rare. SET NULL, RESTRICT bhi options.

    Example

    shows = db.relationship('Show', cascade='all, delete-orphan', back_populates='venue')

    Project example: Show belongs Venue delete-orphan. Booking venue pe restrict — 'reassign first'.

    Viva tipVenue delete pe bookings: restrict (mat delete) ya cascade+refund policy. Examiner design poochta hai. Cascade UPDATE bhi hota hai (PK change) — rare.

  11. 11
    Why did you use __tablename__? What happens if we remove it
    Times asked 1
    Official solution

    SimpleControl name, avoid reserved, stable. Remove autogenerate maybe change.

    Why did you use __tablename__.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: If you didn't, say auto from class name.

  1. 1
    Demonstrate the complete application.
    Times asked 33
    Official solution

    SimpleDemo 5–7 min ki kahani: saari roles, koi milestone skip nahi, bolte-bolte dikhao.

    Examiner list tick karta hai. Crash ho to panic nahi — terminal error padho.

    Code tab kholna jab poochhein. Extra uncommitted features mat dikhana agar portal ZIP mein nahi.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search + charts
    6) CSV export / email job
    7) Logout

    Project example: Jo statement/parking/jobs/tickets hai uske user+admin journeys.

    Viva tipBol: 'Yahan overbooking rokta hoon'. Mandatory features pehle, polish baad.

  2. 2
    Show the database schema.
    Times asked 1
    Official solution

    Simplemodels.py tour + draw. Design decisions unique/cascade.

    SQL models = same.

    ORM objects ko tables se map karta hai — raw SQL kam. SQLAlchemy MAD2 default.

    class User(db.Model) + Column + relationship. query.filter_by / db.session.get. Fayda: portable SQLite→Postgres, injection se safer. Nuksaan: N+1, complex SQL.

    SQLite file, zero server — course friendly. Postgres scale. Relationships: FK, backref, lazy/joinedload, cascade on delete. Constraints unique/not null integrity.

    Bookings source of truth DB, Redis cache copy.

    Project example: 3 relationships explain.

  3. 3
    Display the password in red next to the login button on the navigation bar.
    Times asked 1
    Official solution

    SimpleDon't store plain. If insist dummy from form v-model not DB. Better won't display secrets masked. Display password red next to login on navbar.

    Weird live. Security comment.

    Look: Bootstrap utility classes (margin m-3, flex, grid) ya khud CSS. Responsive = media query / Bootstrap breakpoints se mobile.

    Vue scoped style leak nahi. :class binding. Examiner colour/button live change maange to DevTools nahi, source class dikhao.

    CSS ≠ Bootstrap. Bootstrap CSS+JS framework. Inline style last resort.

    Project example: Don't dump DB password.

  4. 4
    Make a requested code change and explain it.
    Times asked 1
    Official solution

    SimpleListen restate smallest diff run explain. Docs if they say. Make requested code change.

    Don't refactor universe.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Confirm requirement.

    Project example: Confirm requirement.

  5. 5
    What is ORM?
    Times asked 49
    Official solution

    SimpleORM = translator. Python object bolo, woh SQL mein baat kare.

    Object Relational Mapper. Class User ↔ table user. Raw SQL kam.

    SQLAlchemy MAD1/MAD2. Fayde: portable SQLite→Postgres, relationships, parameterized queries (injection kam).
    Nuksaan: N+1, hidden SQL, complex reports pe raw better.

    Direct sqlite3 se SQLAlchemy isliye: models, switch DB, safer queries.

    Example

    class User(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        email = db.Column(db.String(128), unique=True)
    User.query.filter_by(email='a@b.com').first()

    Project example: models.py db.Model. resources User.query.filter_by. Koi f-string SQL nahi.

    Viva tipFayde: safe-ish, portable (SQLite→Postgres). Nuksaan: complex queries, N+1, leaky abstractions. Direct SQLite se SQLAlchemy isliye: models + injection protection + switch DB.

  6. 6
    Explain your database structure.
    Times asked 1
    Official solution

    SimpleTables + lines (FK) + 1-M / M-M. Draw mentally, phir models.py.

    Har class: PK, important columns, relationships. Why normalized (no duplicate venue name in every show as only string without FK).

    Indexes search columns. Unique email. Cascade policy bookings pe.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: User-Role M-M. User-Booking 1-M. Venue-Show 1-M. Show-Booking 1-M.

  7. 7
    Explain Foreign Keys.
    Times asked 1
    Official solution

    SimpleForeign Key dusri table ki PK ki ungli pakadna. Relationship ka backbone.

    user_id → user.id. Referential integrity. Unique extra ho sakta 1-1 ke liye.

    Sirf UNIQUE se relationship nahi banti.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'))

    Project example: booking.user_id, show.venue_id. models.py dikhao.

  8. 8
    What happens if a referenced (parent) record is deleted? (Referential integrity / cascade behavior.)
    Times asked 1
    Official solution

    SimpleDepends ondelete: CASCADE children jaate, RESTRICT fail, SET NULL.

    Bookings/venue: business. Soft-delete safer. Doctor deleted similarly.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Explain YOUR models ondelete. Don't guess opposite cascade.

  9. 9
    What changes would you make to migrate your application from SQLite to PostgreSQL?
    Times asked 1
    Official solution

    Simple3.5–4/5 + why: core done, tests/UI missing. 5/5 overclaim.

    Justify. Enjoy frontend vs backend honest.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Weak: celery demo flaky / UI.

    Project example: Weak: celery demo flaky / UI.

  10. 10
    What are the main components of Celery?
    Times asked 2
    Official solution

    SimpleClient (Flask .delay), Broker (Redis), Worker. Optional Beat + result backend.

    Viva line'Flask produce, Redis transport, worker consume.'

    include task modules, app context ke andar DB session. Windows pe eventlet/gevent issues — docs se command.

    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: create_app ke baad celery.conf.update. tasks import taaki register hon.

    Viva tip

    Viva line'Flask task produce karta hai, Redis transport, worker consume.'

  11. 11
    Difference between Redis and Celery.
    Times asked 1
    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.

    Example

    Celery: broker_url='redis://localhost:6379/0'
    Cache:  CACHE_REDIS_URL='redis://localhost:6379/1'

    Project example: export_csv.delay(user_id) Flask se. Worker Redis se task uthata hai, CSV+email. Cache alag keys venues.

    Viva tipAgar possible ho to cache db=1, broker db=0 — keys mix nahi hoti.

  12. 12
    Difference between Celery Beat and Celery Worker.
    Times asked 1
    Official solution

    SimpleBeat clock hai, Worker haath hai. Clock kaam nahi karti, haath nahi sochte kab.

    Worker: @celery.task execute. Beat: crontab padhke due time pe queue mein daal.
    Sirf worker = scheduled nahi. Sirf beat = queue bhar jaaye, koi run nahi.

    Dono ke saath redis-server. Logs mein 'Sending due task' Beat, 'Task succeeded' Worker.

    Example

    celery -A app.celery worker -l info
    celery -A app.celery beat -l info

    Project example: daily_reminder Beat 18:00. Worker MailHog. Export worker-only (button).

    Viva tipSirf worker = scheduled jobs nahi chalenge. Sirf beat = queue bhar jaaye, koi run nahi karega.

Maintaine By Lazy IITians Team + IITM BS students Regualr for More data you have