Viva prep · Real questions · Student experiences Enroll in Bootcamp

Proctor workspace

Proctor APPDEV_LEVEL1_VIVA18

Share your experience Add your viva experience here
123 Questions
25 Sets
0 Topics
2 Reviews
Tips for this examiner: Not strict proctor, very calm, just need to make sure demo works and answer basic questions.

Student reviews

Shibla MAD1

He is chill , and trying to hear us . dont be panic, be ready with your code and demo . he always look is this work is independent or not . All the best!

Questions remembered
  1. By the beginning he asked to show id card, git repo and collaborator
  2. start demo, in between the demo he asked to open notepad
  3. write the frontend and backend for fully booked slots
  4. after that he asked " is overbooking is allowed" and to show the particular line
  5. and ask to show admin dashboard template and he read all the code and ask me to continue demo
  6. in between he asked the difference between put & patch
  7. after that he said that your l1 is completed
  8. it took less than 30 minutes
Dimple MAD1

Proctor is chill, kind and he is kind of silent person like he will not interrupt you he patiently waits and listen your answers also give time to think.
The questions are repeated from the sheet so yeah prepare well from the sheets and specially blacklisted and completed treks thing and basic knowledge of writing routes
All the very best !

Questions remembered
  1. appdev_level1_viva18
  2. LEVEL1 MAD 1 (TREKKING MANAGEMENT)
  3. Date - 28 july 2026
  4. Time - 3-3:30
  5. Check id card
  6. Check Git repository and collaborator
  7. Download project from portal
  8. Demonstration of project then stop in mid demonstration and told me to open notepad
  9. Write backend route and frontend (jinja) to list of all treks which are completed
  10. In models.py asked about use list = False
  11. Asked about {% extends "base.html" %}
  12. Point out the particular line in code which prevents over booking of the slots
  13. Different http request method
  14. Can a user edit their profile?
  15. Blacklisting feature implemented or not
  16. Difference between authentication and Authorization
  17. Then said all the best
  18. That's all

Approved viva sets

  1. 1
    1.Id Verification then github repo and then went on to ask me for downloading zip 2.He asked for demo which i gave(i had a feature change from usual unlike document trek was created by staff here though admin had final control a two way governance as it won't go live until admin confirm he can still termiante the route and all) 3.Mid Demo asked me to stop and write basic api route for all trekker who booked difficult trek(did some mistake in it ) 4.Seeing the code decided to went for deep dive on how you prevent trek from overbooking or going negative how it went from backend to frontend,few other from app.js and routes folder(staff.py and trekker.py) 5.moved to model.py some basic question and then celery how it work then to how you cache memory and other deep dive question 6.Showcase celery functioning and memory cache and asked now show the email feature(i forgot to implement it) 7.In end he went for 3-5 basic theory celery,redis,lazy=True there was another few i forgot.(before ending the meet he said this will be all for level 1)though there were other code related question i am unable to recall.
    Times asked 1
Advice: Understand your code very well,he went different from his usual pattern which were mentioned in sheet afterall it is obvious they won't go same for everyone but basic understanding of code and how it function can give you boost in performance and theory question as that is will get you your desired result focus on backend aspect more. BEST OF LUCK!
  1. 1
    show the cached code
    Times asked 2
  2. 2
    he interupts in between while after asking question
    Times asked 2
Advice: prepare each and every question very well when he asks question it feels like he wants to fail. dont think he is chill
  1. 1
    firstly he asked for Id card and github repo and commits then asked to start application and explanation. In between, i was asked to open models and he questioned:
    Times asked 1
  2. 2
    why uselist=False?
    Times asked 2
Advice: Know all the keywords that are used in Model Practice a simple api for GET and POST and PATCH also Know the basics of celery config and structure and workflow.
  1. 1
    - mid demo -> route that gives treks that are fully booked (available_slots=0)
    Times asked 2
  2. 2
    - relationship between trek and staff (many to 1)
    Times asked 2
  3. 3
    - libraries used
    Times asked 2
  4. 4
    - show scheduled jobs (can change time in the code for demo)
    Times asked 2
  5. 5
    that's it
    Times asked 3
Advice: all the best, supportive proctor, gives feedback and is patient.
  1. 1
    Show id, GitHub collaboration
    Times asked 2
  2. 2
    Download and setup your project
    Times asked 2
  3. 3
    Demo , begin with admin
    Times asked 2
  4. 4
    Write a route to fetch all shortlisted students
    Times asked 1
Advice: Explain the theory questions along with practical examples preferably from your project
  1. 1
    -Asked me to write api route for shortlisted students
    Times asked 2
  2. 2
    - all from sheet
    Times asked 2
Advice: Chill proctor just prepare according sheet you will do good
  1. 1
    My project name is Trekking Management App.
    Times asked 2
  2. 2
    He tell me to show the idcard, then git collaborator and download the project and start the demo.
    Times asked 2
  3. 3
    In mid of the demo he asked me to show the search functionality and monthly report(admin dashboard).
    Times asked 2
  4. 4
    Tell me open the notepad and write the api code to show the list of blacklisted users.
    Times asked 2
  5. 5
    Tell me to show the models.py and asked what is uselist and lazy.
    Times asked 1
  6. 6
    Vue life cycle hooks and where u have implemented them.
    Times asked 2
  7. 7
    Explain the http methods
    Times asked 2
  8. 8
    Then tell me to continue the demo and i was in half of the demo and then he asked me have u used schedule tasks and tell me to give demo of that.
    Times asked 2
  9. 9
    Then he said that this is enough for level 1 viva .
    Times asked 2
Advice: He is calm, listen to u patiently and give time also for explaining and moreover u just have to go through to your code carefully and stay calm.
  1. 1
    Vue lifecyclehooks
    Times asked 2
  2. 2
    library used for jwt authentication
    Times asked 2
  3. 3
    have u implemented search functionality
    Times asked 2
  4. 4
    Caching
    Times asked 4
Advice: Don't be nervous. Proctor is supportive
  1. 1
    Then website got crashed and had to wait for 15-20 min.
    Times asked 2
  2. 2
    Then downloaded the project from website and started showing the demo.
    Times asked 2
  3. 3
    Mid demo asked me to open notepad and write a simple api to show all the blacklistdd students from drive.
    Times asked 2
  4. 4
    Then asked me to go to models.py and asked me what is uselist and cascade.
    Times asked 2
  5. 5
    And it's done :>
    Times asked 2
Advice: Best of luck guys, Be confident, Proctor is very calm, polite and helpful, responds well, gives you time to debug and to compose yourself. And properly know every part of the code. Ace the viva
  1. 1
    1- up everything and show the demo
    Times asked 2
  2. 2
    2- have you implemented the jobs
    Times asked 2
  3. 3
    3- write a code to take two numbers from the frontend and backend will need to perform the addition of those to numbers and return to the frontend
    Times asked 2
  4. 4
    4-show export csv and mailing functionality
    Times asked 2
Advice: Just go through your code thoroughly and keep in mind to test the whole app run once before the viva and if any bug occur at the last moment in the viva , you should be able to fix it on the spot, keeping in mind that what all possible reason could be there
  1. 1
    He asked me for my id card,github collaborator and then the code for the project in vs code.
    Times asked 2
  2. 2
    Asked me difference between Vue CLI and Vue CDN and what I have used
    Times asked 2
  3. 3
    Types of HTTP Protocols
    Times asked 2
  4. 4
    Told me to write code for an api route for adding 2 numbers in the notepad
    Times asked 2
  5. 5
    Told me to show the html pages and where is Vue integration taking place
    Times asked 2
  6. 6
    Also a complete demo of the project covering all the dashboards(Student,Admin,Company)
    Times asked 2
Advice: Overall a good proctor and a patient one he would give you time to explain yourself and told me to concentrate more on improving technical knowledge.
  1. 1
    asked to show id card,
    Times asked 2
  2. 2
    then dwnld the zip and start demo of core requirememts,
    Times asked 2
  3. 3
    while going through it, some simple questions were asked
    Times asked 2
  4. 4
    rbac, session or token, cdn or cli
    Times asked 2
  5. 5
    cascade=delete-orphan meaning
    Times asked 2
  6. 6
    write a api code to take two integer input from backend and return their sum
    Times asked 2
  7. 7
    complete the demo(core requiements) in between.
    Times asked 2
Advice: Not strict proctor, very calm, just need to make sure demo works and answer basic questions.
  1. 1
    start demo, in between the demo he asked to open notepad
    Times asked 1
    Official solution

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

  2. 2
    write the frontend and backend for fully booked slots
    Times asked 1
    Official solution

    SimpleNaya Flask route: URL, method, auth if needed, query, jsonify. Postman pehle.

    Examiner number/filter change easy rakhna. CORS. Frontend tabhi jab bole.

    Status codes sahi. Password JSON mein nahi.

    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.

    Example

    @app.route('/api/sum', methods=['POST'])
    def sum_num():
        d = request.get_json()
        return jsonify(result=d['a'] + d['b'])

    Project example: resources.py new Resource. Test Thunder. Optional Vue fetch.

  3. 3
    after that he asked " is overbooking is allowed" and to show the particular line
    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.

  4. 4
    and ask to show admin dashboard template and he read all the code and ask me to continue demo
    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.

  5. 5
    in between he asked the difference between put & patch
    Times asked 1
    Official solution

    SimplePOST naya janam (har baar naya id). PUT poori photo replace. PATCH sticker chipkao.

    POST create, not idempotent. PUT full update, idempotent. PATCH partial.

    POST ki jagah PUT se REST semantics toot. GET typically no body.

    CRUD map: POST create, GET read, PUT/PATCH update, DELETE delete.

    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

    POST /api/venues
    PUT  /api/venues/1   {all fields}
    PATCH /api/venues/1 {only name}

    Project example: POST /api/venues create. PUT /venues/1 saari fields. PATCH sirf name.

  6. 6
    after that he said that your l1 is completed
    Times asked 1
    Official solution

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

  7. 7
    it took less than 30 minutes
    Times asked 1
    Official solution

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

Advice: He is chill , and trying to hear us . dont be panic, be ready with your code and demo . he always look is this work is independent or not . All the best!
  1. 1
    appdev_level1_viva18
    Times asked 1
    Official solution

    SimpleLevel = viva difficulty band. Level 1 usually demo + basics; higher pe live coding + deeper theory.

    Viva tipJo level assign hai uske hisaab se demo + theory ready rakho.

  2. 2
    LEVEL1 MAD 1 (TREKKING MANAGEMENT)
    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
    Date - 28 july 2026
    Times asked 1
    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
    Time - 3-3:30
    Times asked 1
    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.

  5. 5
    Check id card
    Times asked 1
    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.

  6. 6
    Check Git repository and collaborator
    Times asked 1
    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.

  7. 7
    Download project from portal
    Times asked 4
    Official solution

    SimpleExaminer portal wala submitted ZIP chahta hai. Local extra changes mat dikhana.

    Suggested flow1) Portal ZIP download
    2) Extract
    3) venv + pip install -r requirements.txt
    4) flask run / python app.py

  8. 8
    Demonstration of project then stop in mid demonstration and told me to open notepad
    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.

  9. 9
    Write backend route and frontend (jinja) to list of all treks which are completed
    Times asked 1
    Official solution

    SimpleLive Flask coding: chhota route likho, save, browser/curl se test. Syntax error terminal mein padho.

    Example

    @app.route('/ping')
    def ping():
        return jsonify(ok=True)
    
    @app.route('/even/<int:n>')
    def even(n):
        return 'even' if n % 2 == 0 else 'odd'
  10. 10
    In models.py asked about use list = False
    Times asked 1
    Official solution

    Simpleuselist=False relationship ko list nahi, single object banata hai — one-to-one / many-to-one scalar.

    Example

    profile = db.relationship('Profile', uselist=False, backref='user')
    # user.profile → Profile obj, list nahi
  11. 11
    Asked about {% extends "base.html" %}
    Times asked 1
    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.

  12. 12
    Point out the particular line in code which prevents over booking of the slots
    Times asked 1
    Official solution

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

  13. 13
    Different http request method
    Times asked 1
    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.

  14. 14
    Can a user edit their profile?
    Times asked 1
    Official solution

    Yeh project-specific feature add/modify hai. 4 layers touch karo: model, route, template, validation.

    1) Data chahiye to models.py mein column/relationship + DB update (ALTER / migrate / create_all).
    2) Route: GET pe form/page, POST pe request.form se save, flash + redirect.
    3) Template: input name=... Jinja se {{ obj.field }} display.
    4) Rule: duplicate, range, role check backend pe.

    Example naya field 'city':

    user.city = db.Column(db.String(50))
    user.city = request.form.get('city')
    <input name='city'>  ...  {{ user.city }}
  15. 15
    Blacklisting feature implemented or not
    Times asked 1
    Official solution

    SimpleBlacklist/block: user.status='blocked' check login/booking pe. Temporary flag vs hard delete permanent.

  16. 16
    Difference between authentication and Authorization
    Times asked 1
    Official solution

    SimpleAuthentication: tu kaun hai? (login). Authorization: tujhe permission hai? (role check).

    Example

    # auth
    if check_password_hash(user.password, pwd):
        session['user_id'] = user.id
    
    # authz
    if user.role != 'admin':
        abort(403)
  17. 17
    Then said all the best
    Times asked 1
    Official solution

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

  18. 18
    That's all
    Times asked 3
    Official solution

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

Advice: Proctor is chill, kind and he is kind of silent person like he will not interrupt you he patiently waits and listen your answers also give time to think. The questions are repeated from the sheet so yeah prepare well from the sheets and specially blacklisted and completed treks thing and basic knowledge of writing routes All the very best !
  1. 1
    show the cached code
    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.

  2. 2
    he interupts in between while after asking question
    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.

Advice: prepare each and every question very well when he asks question it feels like he wants to fail. dont think he is chill
  1. 1
    why uselist=False?
    Times asked 2
    Official solution

    Simpleuselist=False relationship ko list nahi, single object banata hai — one-to-one / many-to-one scalar.

    Example

    profile = db.relationship('Profile', uselist=False, backref='user')
    # user.profile → Profile obj, list nahi
Advice: Know all the keywords that are used in Model Practice a simple api for GET and POST and PATCH also Know the basics of celery config and structure and workflow.
  1. 1
    - mid demo -> route that gives treks that are fully booked (available_slots=0)
    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.

  2. 2
    - relationship between trek and staff (many to 1)
    Times asked 2
    Official solution

    Simpledb.relationship se object graph: lot.spots, booking.user. backref reverse side auto deta hai.

    Example

    spots = db.relationship('Spot', backref='lot', cascade='all, delete-orphan')
  3. 3
    - libraries used
    Times asked 2
    Official solution

    SimpleStack bolo: Python, Flask, Jinja2, SQLAlchemy, SQLite, HTML/CSS/Bootstrap, maybe Chart.js.

  4. 4
    - show scheduled jobs (can change time in the code for demo)
    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
    that's it
    Times asked 3
    Official solution

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

Advice: all the best, supportive proctor, gives feedback and is patient.
  1. 1
    Show id, GitHub collaboration
    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.

  2. 2
    Download and setup your project
    Times asked 2
    Official solution

    SimpleExaminer portal wala submitted ZIP chahta hai. Local extra changes mat dikhana.

    Suggested flow1) Portal ZIP download
    2) Extract
    3) venv + pip install -r requirements.txt
    4) flask run / python app.py

  3. 3
    Demo , begin with admin
    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.

Advice: Explain the theory questions along with practical examples preferably from your project
  1. 1
    -Asked me to write api route for shortlisted students
    Times asked 2
    Official solution

    SimpleLive Flask coding: chhota route likho, save, browser/curl se test. Syntax error terminal mein padho.

    Example

    @app.route('/ping')
    def ping():
        return jsonify(ok=True)
    
    @app.route('/even/<int:n>')
    def even(n):
        return 'even' if n % 2 == 0 else 'odd'
  2. 2
    - all from sheet
    Times asked 2
    Official solution

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

Advice: Chill proctor just prepare according sheet you will do good
  1. 1
    My project name is Trekking Management App.
    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.

  2. 2
    He tell me to show the idcard, then git collaborator and download the project and start the demo.
    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.

  3. 3
    In mid of the demo he asked me to show the search functionality and monthly report(admin dashboard).
    Times asked 2
    Official solution

    SimpleSearch: form/query param → ilike filter → results template.

    Example

    q = request.args.get('q', '').strip()
    lots = Lot.query.filter(Lot.name.ilike(f'%{q}%')).all()
  4. 4
    Tell me open the notepad and write the api code to show the list of blacklisted users.
    Times asked 2
    Official solution

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

  5. 5
    Vue life cycle hooks and where u have implemented them.
    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.

  6. 6
    Explain the http methods
    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.

  7. 7
    Then tell me to continue the demo and i was in half of the demo and then he asked me have u used schedule tasks and tell me to give demo of that.
    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.

  8. 8
    Then he said that this is enough for level 1 viva .
    Times asked 2
    Official solution

    SimpleLevel = viva difficulty band. Level 1 usually demo + basics; higher pe live coding + deeper theory.

    Viva tipJo level assign hai uske hisaab se demo + theory ready rakho.

Advice: He is calm, listen to u patiently and give time also for explaining and moreover u just have to go through to your code carefully and stay calm.
  1. 1
    Vue lifecyclehooks
    Times asked 2
    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.

  2. 2
    library used for jwt authentication
    Times asked 2
    Official solution

    SimpleAuthentication: tu kaun hai? (login). Authorization: tujhe permission hai? (role check).

    Example

    # auth
    if check_password_hash(user.password, pwd):
        session['user_id'] = user.id
    
    # authz
    if user.role != 'admin':
        abort(403)
  3. 3
    have u implemented search functionality
    Times asked 2
    Official solution

    SimpleSearch: form/query param → ilike filter → results template.

    Example

    q = request.args.get('q', '').strip()
    lots = Lot.query.filter(Lot.name.ilike(f'%{q}%')).all()
  4. 4
    Caching
    Times asked 4
    Official solution

    SimpleCache baar-baar DB/compute na karne ke liye result yaad rakhta hai.

    Browser cache, Flask cache, Redis. Example: dashboard counts 30 sec Redis mein.
    Cookies alag (client data). HTTP 304 Not Modified bhi cache related.
    MAD1 mein optional. Scale poochhe to pehle indexes + cache, phir extra servers.

Advice: Don't be nervous. Proctor is supportive
  1. 1
    Then website got crashed and had to wait for 15-20 min.
    Times asked 2
    Official solution

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

  2. 2
    Then downloaded the project from website and started showing the demo.
    Times asked 2
    Official solution

    SimpleExaminer portal wala submitted ZIP chahta hai. Local extra changes mat dikhana.

    Suggested flow1) Portal ZIP download
    2) Extract
    3) venv + pip install -r requirements.txt
    4) flask run / python app.py

  3. 3
    Mid demo asked me to open notepad and write a simple api to show all the blacklistdd students from drive.
    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
    Then asked me to go to models.py and asked me what is uselist and cascade.
    Times asked 2
    Official solution

    SimpleCascade parent delete pe children pe kya ho: delete-orphan related rows hata deta hai.

    Example

    db.relationship('Spot', cascade='all, delete-orphan')

    Viva tipParking lot delete → uske spots/bookings policy clear bolo.

  5. 5
    And it's done :>
    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.

Advice: Best of luck guys, Be confident, Proctor is very calm, polite and helpful, responds well, gives you time to debug and to compose yourself. And properly know every part of the code. Ace the viva
  1. 1
    1- up everything and show the demo
    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.

  2. 2
    2- have you implemented the jobs
    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.

  3. 3
    3- write a code to take two numbers from the frontend and backend will need to perform the addition of those to numbers and return to the frontend
    Times asked 2
    Official solution

    SimpleORM = Object Relational Mapping. Tables → Python classes. Raw SQL kam likhte ho.

    Example

    class User(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        email = db.Column(db.String(120), unique=True)
    
    User.query.get(5)  # SELECT ... WHERE id=5
  4. 4
    4-show export csv and mailing functionality
    Times asked 2
    Official solution

    SimpleClick → Celery → worker CSV → email/download. Columns verify.

    csv module. Auth required. Don't freeze UI — 202 + poll.

    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.

    Example

    @celery.task
    def export_venues_csv(user_id):
        rows = Venue.query.all()
        # csv.writer, mail.send
        return 'ok'

    Project example: Admin export venues. MailHog attach ya file open.

    Viva tipNetwork tab mein job trigger API dikhao, phir MailHog/file open karke columns verify karo.

Advice: Just go through your code thoroughly and keep in mind to test the whole app run once before the viva and if any bug occur at the last moment in the viva , you should be able to fix it on the spot, keeping in mind that what all possible reason could be there
  1. 1
    He asked me for my id card,github collaborator and then the code for the project in vs code.
    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
    Asked me difference between Vue CLI and Vue CDN and what I have used
    Times asked 2
    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.

  3. 3
    Types of HTTP Protocols
    Times asked 2
    Official solution

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

  4. 4
    Told me to write code for an api route for adding 2 numbers in the notepad
    Times asked 2
    Official solution

    SimpleLive Flask coding: chhota route likho, save, browser/curl se test. Syntax error terminal mein padho.

    Example

    @app.route('/ping')
    def ping():
        return jsonify(ok=True)
    
    @app.route('/even/<int:n>')
    def even(n):
        return 'even' if n % 2 == 0 else 'odd'
  5. 5
    Told me to show the html pages and where is Vue integration taking place
    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.

  6. 6
    Also a complete demo of the project covering all the dashboards(Student,Admin,Company)
    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.

Advice: Overall a good proctor and a patient one he would give you time to explain yourself and told me to concentrate more on improving technical knowledge.
  1. 1
    asked to show id card,
    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.

  2. 2
    then dwnld the zip and start demo of core requirememts,
    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.

  3. 3
    while going through it, some simple questions were asked
    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
    rbac, session or token, cdn or cli
    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
    cascade=delete-orphan meaning
    Times asked 2
    Official solution

    SimpleCascade parent delete pe children pe kya ho: delete-orphan related rows hata deta hai.

    Example

    db.relationship('Spot', cascade='all, delete-orphan')

    Viva tipParking lot delete → uske spots/bookings policy clear bolo.

  6. 6
    write a api code to take two integer input from backend and return their sum
    Times asked 2
    Official solution

    SimpleNaya Flask route: URL, method, auth if needed, query, jsonify. Postman pehle.

    Examiner number/filter change easy rakhna. CORS. Frontend tabhi jab bole.

    Status codes sahi. Password JSON mein nahi.

    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.

    Example

    @app.route('/api/sum', methods=['POST'])
    def sum_num():
        d = request.get_json()
        return jsonify(result=d['a'] + d['b'])

    Project example: resources.py new Resource. Test Thunder. Optional Vue fetch.

  7. 7
    complete the demo(core requiements) in between.
    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.

Advice: Not strict proctor, very calm, just need to make sure demo works and answer basic questions.
Created for educational purposes only. Questions are based on students' personal experiences and may not reflect actual exam content.