Viva prep · Real questions · Student experiences Enroll in Bootcamp

Proctor workspace

Proctor Level2_148

Share your experience Add your viva experience here
136 Questions
28 Sets
0 Topics
0 Reviews
Tips for this examiner: know your code well (specifically the models and endpoints)

Student reviews

No student reviews for this proctor yet.

Approved viva sets

  1. 1
    He gave you all the time to explain.
    Times asked 2
  2. 2
    Demonstrate everything you have (almost every file).
    Times asked 2
  3. 3
    He asked about how you will scale your app.
    Times asked 2
  4. 4
    How did you test your backend and frontend?
    Times asked 2
Advice: He maintains a calm demeanor, provides ample time, and offers constructive feedback. (The best proctor)
  1. 1
    Then he asked what I will change if I have to scale it for 1L or 2L users.
    Times asked 2
  2. 2
    Then he asked me to show how a user is created and told to show on code where that logic is implemented.
    Times asked 2
  3. 3
    Then he really appreciated my project and explanations and finished the viva
    Times asked 2
Advice: Really chill proctor, did not interrupt me even once. Prepare your project presentation, and the scaling trade offs. And that's it'
  1. 1
    First question what problems did you face while making the project
    Times asked 1
  2. 2
    Second how did you test the entire project That was it, he gave me the feedback and told me to think about how i would scale the project and that was it. The entire thing went for about 20 mins only.
    Times asked 1
Advice: Be confident, give the demo well and the proctor is nice won't interrupt or anything.
  1. 1
    2)Show Repository
    Times asked 2
  2. 2
    4)Picks specific functionality and explain how it is being implemented and how it is working
    Times asked 2
  3. 3
    5)Database to API and API to Data how flow is passing
    Times asked 2
  4. 4
    6)How rbac is working (i implemented session so explained it)
    Times asked 2
  5. 5
    7) He asked have you used AI , I said I used so he asked how have you validated it is perfect or not or what did you learn
    Times asked 2
  6. 6
    8)Asked me to explain all API's
    Times asked 2
Advice: Be confident and explain your code thoroughly. All the best
  1. 1
    -Show GitHub
    Times asked 2
  2. 2
    -Ask if a patient can reschedule appointment without cancelling ( i haven't impletened that logic , he gave me feedback about it )
    Times asked 2
  3. 3
    -Basic Questions about Celery and Redis
    Times asked 2
  4. 4
    -Vue and CLI questions
    Times asked 2
  5. 5
    -What difficulties i faced during the project
    Times asked 2
  6. 6
    - No code Changes
    Times asked 1
Advice: Such a nice guy , just practice from the sheet , All the Best.
  1. 1
    Proctor:level_2_148
    Times asked 2
  2. 2
    Honestly the best proctor
    Times asked 2
  3. 3
    Theory qs
    Times asked 2
  4. 4
    What were the problems you faced while making this project
    Times asked 1
  5. 5
    How will you scale this to 10k users
    Times asked 1
  6. 6
    None
    Times asked 2
  7. 7
    Finished in 35 mins
    Times asked 2
Advice: If you get this proctor , you have nothing too worry ATB!
  1. 1
    Level-2 Viva( slot: 5-6)
    Times asked 1
  2. 2
    If I you have more time, what have you improved in your project?
    Times asked 2
Advice: He is very nice proctor didn't ask anything between your explaination just listens you calmly. For demo you can either only do demo or explain your codes in between also like your flow how from frontend it goes to backend then response came as he didn't specify just tell you to start your demo other students also explained the code in between that's why i also did but you can choose not to there's no hard and fast rule for it. Best of luck mate👋
  1. 1
    Mad-2 Viva Level-2
    Times asked 2
  2. 2
    Student ID
    Times asked 2
  3. 3
    GitHub Repo(for collaborator verification)
    Times asked 2
  4. 4
    In detailed application demonstration (explaining how everything is working in background including frontend)
    Times asked 2
  5. 5
    How would you scale your app for 10k or 10k+ users
    Times asked 2
  6. 6
    How did you test your app while building
    Times asked 2
Advice: Very good and chill proctor, Just understand your code and how everything works, Explain everything that's all Good luck for your viva
  1. 1
    *how will u make it production ready
    Times asked 2
  2. 2
    *how did u test this application
    Times asked 2
  3. 3
    *wht will u do to handel 10000 users
    Times asked 1
Advice: explain the demo properly very nice proctor in demo explain the code and the application simultaniusly 30 min of demo
  1. 1
    Show ID
    Times asked 6
  2. 2
    What problems you faced while working on this application?
    Times asked 2
  3. 3
    If you had to deploy this app for over 10000 users how would you scale it?
    Times asked 1
  4. 4
    How did you handle the errors while making the app?
    Times asked 2
Advice: Very nice proctor. Just be confident with your answers and know your app well. You are good to go.
  1. 1
    demo
    Times asked 12
  2. 2
    what are the problems u faced while making the app
    Times asked 2
  3. 3
    if i give u more time, what vl u improve about the app
    Times asked 2
  4. 4
    if u had to scale the app to 10000+ users, what changes will u do
    Times asked 2
  5. 5
    if u were taking this app to the next level as a startup and making it a proper product, what changes will u make?
    Times asked 2
  6. 6
    asked to show code where i am doing try ... catch while fetching from api. asked to demonstrate any situation where error will occur and show the error message being displayed
    Times asked 2
  7. 7
    how did u test this app, how can u be 100% sure that it will work in all cases? didnt ask me to make any code changes, just tested thought process. overall went very well.
    Times asked 2
Advice: very friendly examiner. just answer honestly, itll go great
  1. 1
    What issues did you face while making this project ?
    Times asked 2
  2. 2
    If I give u more time, how can u improve this project further ?
    Times asked 2
  1. 1
    Asked me to explain the code line by line
    Times asked 2
  2. 2
    Model joins and connections between different table
    Times asked 2
Advice: Just prepare the code and you are done with the viva
  1. 1
    Explain you db models
    Times asked 2
Advice: know your code well (specifically the models and endpoints)
  1. 1
    Give a demo. No panicking (my mic wasn't turning on, so turn on the mic of the second device to give the demo and provide all the backend explanations). ID setup:
    Times asked 1
    Official solution

    SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.

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

    Viva tipBolte-bolte dikhao. Code tab kholna jab poochhein.

  2. 2
    He gave you all the time to explain.
    Times asked 2
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

  3. 3
    Demonstrate everything you have (almost every file).
    Times asked 2
    Official solution

    SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.

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

    Viva tipBolte-bolte dikhao. Code tab kholna jab poochhein.

  4. 4
    He asked about how you will scale your app.
    Times asked 2
    Official solution

    SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest hai.

  5. 5
    How did you test your backend and frontend?
    Times asked 2
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

Advice: He maintains a calm demeanor, provides ample time, and offers constructive feedback. (The best proctor)
  1. 1
    No code changes asked.
    Times asked 1
    Official solution

    Yeh MAD-1 viva question tumhare project ke context se linked hai. Short answer is structure se do:

    Pehle 1 line definition/purpose, phir tumhare project ka example, phir chhota code/flow.

    Typical Flask flowBrowser request → @app.route controller → SQLAlchemy model/DB → Jinja template response.

    Auth: session['user_id'] + role check. CRUD: add/commit, query.all, field update, delete.
    Live change maange to: related model → route → template, phir browser refresh karke dikhao.

    Example (generic create):
    obj = Model(name=request.form.get('name'))

    db.session.add(obj); db.session.commit()
    return redirect(url_for('list_view'))
  2. 2
    He asked me to present my project, I first presented the app, then I explain my project structure, db, important apis.
    Times asked 1
    Official solution

    SimpleProject overview: problem → roles → main entities → key flows (register, book, admin approve).

    Viva tip1 minute elevator pitch ready rakho, phir demo.

  3. 3
    Then he asked what I will change if I have to scale it for 1L or 2L users.
    Times asked 2
    Official solution

    SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest hai.

  4. 4
    Then he asked me to show how a user is created and told to show on code where that logic is implemented.
    Times asked 2
    Official solution

    SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest hai.

  5. 5
    Then he really appreciated my project and explanations and finished the viva
    Times asked 2
    Official solution

    SimpleProject overview: problem → roles → main entities → key flows (register, book, admin approve).

    Viva tip1 minute elevator pitch ready rakho, phir demo.

Advice: Really chill proctor, did not interrupt me even once. Prepare your project presentation, and the scaling trade offs. And that's it'
  1. 1
    2)Show Repository
    Times asked 2
    Official solution

    SimpleGitHub repo public/private policy ke hisaab, MAD-1 collaborator add, commits dikhao.

    Repo → Settings → Collaborators → instructor added.
    Commits: git log / GitHub History — regular commits better, ek dum 1 commit suspicious.
    README + report mein AI usage likha hona chahiye agar use kiya.

  2. 2
    4)Picks specific functionality and explain how it is being implemented and how it is working
    Times asked 2
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

  3. 3
    5)Database to API and API to Data how flow is passing
    Times asked 2
    Official solution

    SimplePehle 1-line definition, phir apne MAD1 project mein file dikhao, phir chhota example.

    Suggested flow1) Concept kya hai?
    2) Mere code mein kahan?
    3) Example / demo
    4) Edge case

    Example

    # related file: models.py / routes / template
    # formula: request → check/auth → DB → render/redirect

    Viva tipExact line yaad nahi to honestly related part dikhao. Bluff mat karo.

  4. 4
    6)How rbac is working (i implemented session so explained it)
    Times asked 2
    Official solution

    SimpleMAD1 mein usually session-based auth: login pe session['user_id'], har request pe verify.

    Example

    session['user_id'] = user.id
    uid = session.get('user_id')
    user = User.query.get(uid)

    Viva tipSECRET_KEY set karo warna session insecure. logout pe session.clear().

  5. 5
    7) He asked have you used AI , I said I used so he asked how have you validated it is perfect or not or what did you learn
    Times asked 2
    Official solution

    SimpleValidation = input rules: required, email format, length, unique. Frontend UX, backend security — dono.

    Example

    if not email or '@' not in email:
        flash('Invalid email')
        return redirect(request.url)
    if User.query.filter_by(email=email).first():
        flash('Email taken')
  6. 6
    8)Asked me to explain all API's
    Times asked 2
    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.

Advice: Be confident and explain your code thoroughly. All the best
  1. 1
    -Show GitHub
    Times asked 2
    Official solution

    SimpleGitHub repo open karo: commits, collaborators, README. Examiner check karta hai tumne khud kaam kiya.

    Example

    Settings → Collaborators
    Commits: regular messages, last-day dump nahi.

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

  2. 2
    -Ask if a patient can reschedule appointment without cancelling ( i haven't impletened that logic , he gave me feedback about it )
    Times asked 2
    Official solution

    SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest hai.

  3. 3
    -Basic Questions about Celery and Redis
    Times asked 2
    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.

  4. 4
    -Vue and CLI questions
    Times asked 2
    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.

  5. 5
    -What difficulties i faced during the project
    Times asked 2
    Official solution

    SimplePehle 1-line definition, phir apne MAD1 project mein file dikhao, phir chhota example.

    Suggested flow1) Concept kya hai?
    2) Mere code mein kahan?
    3) Example / demo
    4) Edge case

    Example

    # related file: models.py / routes / template
    # formula: request → check/auth → DB → render/redirect

    Viva tipExact line yaad nahi to honestly related part dikhao. Bluff mat karo.

  6. 6
    -How would i scale this for 100 Hospitals
    Times asked 1
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

Advice: Such a nice guy , just practice from the sheet , All the Best.
  1. 1
    Proctor:level_2_148
    Times asked 2
    Official solution

    SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest hai.

  2. 2
    Honestly the best proctor
    Times asked 2
    Official solution

    SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest hai.

  3. 3
    Theory qs
    Times asked 2
    Official solution

    SimpleTheory = concepts: ORM, MVC, auth vs authz, Jinja inheritance, sessions. 1-line def + project example.

  4. 4
    How did you test the project
    Times asked 1
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

  5. 5
    None
    Times asked 2
    Official solution

    SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest hai.

  6. 6
    Finished in 35 mins
    Times asked 2
    Official solution

    SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest hai.

Advice: If you get this proctor , you have nothing too worry ATB!
  1. 1
    If I you have more time, what have you improved in your project?
    Times asked 2
    Official solution

    SimpleImprove ideas: caching, better validation, tests, pagination, email reminders, accessibility, mobile UI, logging.

    Viva tip1-2 concrete features bolo jo time milne pe add karte — vague 'AI' mat.

Advice: He is very nice proctor didn't ask anything between your explaination just listens you calmly. For demo you can either only do demo or explain your codes in between also like your flow how from frontend it goes to backend then response came as he didn't specify just tell you to start your demo other students also explained the code in between that's why i also did but you can choose not to there's no hard and fast rule for it. Best of luck mate👋
  1. 1
    Mad-2 Viva Level-2
    Times asked 2
    Official solution

    SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest hai.

  2. 2
    Student ID
    Times asked 2
    Official solution

    SimpleCamera pe clearly college/IITM ID dikhao — naam aur photo match hone chahiye.

    Viva tipPehle se ID haath mein rakho, glare mat aane do. Iske baad GitHub + project run.

  3. 3
    GitHub Repo(for collaborator verification)
    Times asked 2
    Official solution

    SimpleGitHub repo open karo: commits, collaborators, README. Examiner check karta hai tumne khud kaam kiya.

    Example

    Settings → Collaborators
    Commits: regular messages, last-day dump nahi.

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

  4. 4
    In detailed application demonstration (explaining how everything is working in background including frontend)
    Times asked 2
    Official solution

    SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.

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

    Viva tipBolte-bolte dikhao. Code tab kholna jab poochhein.

  5. 5
    How would you scale your app for 10k or 10k+ users
    Times asked 2
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

  6. 6
    How did you test your app while building
    Times asked 2
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

Advice: Very good and chill proctor, Just understand your code and how everything works, Explain everything that's all Good luck for your viva
  1. 1
    *how will u make it production ready
    Times asked 2
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

  2. 2
    *how did u test this application
    Times asked 2
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

Advice: explain the demo properly very nice proctor in demo explain the code and the application simultaniusly 30 min of demo
  1. 1
    Show ID
    Times asked 6
    Official solution

    SimpleCamera pe clearly college/IITM ID dikhao — naam aur photo match hone chahiye.

    Viva tipPehle se ID haath mein rakho, glare mat aane do. Iske baad GitHub + project run.

  2. 2
    What problems you faced while working on this application?
    Times asked 2
    Official solution

    SimpleChallenges honestly: relationships/cascade, session bugs, overbooking race, CSS layout, deploy. Seekha kya — woh bold karo.

  3. 3
    How did you handle the errors while making the app?
    Times asked 2
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

Advice: Very nice proctor. Just be confident with your answers and know your app well. You are good to go.
  1. 1
    demo
    Times asked 12
    Official solution

    SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.

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

    Viva tipBolte-bolte dikhao. Code tab kholna jab poochhein.

  2. 2
    what are the problems u faced while making the app
    Times asked 2
    Official solution

    SimpleChallenges honestly: relationships/cascade, session bugs, overbooking race, CSS layout, deploy. Seekha kya — woh bold karo.

  3. 3
    if i give u more time, what vl u improve about the app
    Times asked 2
    Official solution

    SimpleImprove ideas: caching, better validation, tests, pagination, email reminders, accessibility, mobile UI, logging.

    Viva tip1-2 concrete features bolo jo time milne pe add karte — vague 'AI' mat.

  4. 4
    if u had to scale the app to 10000+ users, what changes will u do
    Times asked 2
    Official solution

    Simple10k users: Postgres, caching, celery workers, pagination, indexes, load balancer, no SQLite write contention.

  5. 5
    if u were taking this app to the next level as a startup and making it a proper product, what changes will u make?
    Times asked 2
    Official solution

    SimpleImprove ideas: caching, better validation, tests, pagination, email reminders, accessibility, mobile UI, logging.

    Viva tip1-2 concrete features bolo jo time milne pe add karte — vague 'AI' mat.

  6. 6
    asked to show code where i am doing try ... catch while fetching from api. asked to demonstrate any situation where error will occur and show the error message being displayed
    Times asked 2
    Official solution

    SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.

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

    Viva tipBolte-bolte dikhao. Code tab kholna jab poochhein.

  7. 7
    how did u test this app, how can u be 100% sure that it will work in all cases? didnt ask me to make any code changes, just tested thought process. overall went very well.
    Times asked 2
    Official solution

    SimpleProject overview: problem → roles → main entities → key flows (register, book, admin approve).

    Viva tip1 minute elevator pitch ready rakho, phir demo.

Advice: very friendly examiner. just answer honestly, itll go great
  1. 1
    What issues did you face while making this project ?
    Times asked 2
    Official solution

    SimpleChallenges honestly: relationships/cascade, session bugs, overbooking race, CSS layout, deploy. Seekha kya — woh bold karo.

  2. 2
    If I give u more time, how can u improve this project further ?
    Times asked 2
    Official solution

    SimpleImprove ideas: caching, better validation, tests, pagination, email reminders, accessibility, mobile UI, logging.

    Viva tip1-2 concrete features bolo jo time milne pe add karte — vague 'AI' mat.

  1. 1
    Asked me to explain the code line by line
    Times asked 2
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

  2. 2
    basic questions about vue like what is vue
    Times asked 1
    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.

  3. 3
    What is caching and how you have implemented
    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.

  4. 4
    Model joins and connections between different table
    Times asked 2
    Official solution

    SimpleJOIN related tables ek result mein. Inner = match only; left = left side sab + match.

    Example

    db.session.query(Booking, User).join(User).filter(User.id == uid).all()
Advice: Just prepare the code and you are done with the viva
  1. 1
    Explain you db models
    Times asked 2
    Official solution

    Simplemodels.py = har table ki class: columns, PK/FK, relationships. Yeh Model layer hai.

    Suggested flow1) Classes list karo
    2) Har table ka kaam 1 line
    3) Relationships (1-M / M-M)
    4) Constraints (unique, nullable)

    Example

    class Lot(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        name = db.Column(db.String(80), nullable=False)
        spots = db.relationship('Spot', backref='lot', lazy=True)
  2. 2
    Explain all APIs (i explained my complete app.py file) after 20 mins of explanation he asked this question- What is scaling and how you would scale this project if you had more than 10000 users?
    Times asked 1
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

Advice: know your code well (specifically the models and endpoints)
  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.

Created for educational purposes only. Questions are based on students' personal experiences and may not reflect actual exam content.