Viva prep · Real questions · Student experiences Enroll in Bootcamp

Proctor workspace

Proctor Level3_27

Share your experience Add your viva experience here
15 Questions
2 Sets
0 Topics
0 Reviews

Student reviews

No student reviews for this proctor yet.

Approved viva sets

Download all
  1. 1
    Scenarios where we receive get request for user id which does not exist
    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.

  2. 2
    Some talking about Different status code
    Times asked 1
    Official solution

    SimpleStatus code server ka result: 200 OK, 302 redirect, 400 bad input, 401/403 auth, 404 not found, 500 server error.

  3. 3
    A lot of talking about APIs
    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
    He then goes through the code and ask some questions on the logic used in routes tip: make and revise APIs its not that hard and you can answer easily and get good marks :)
    Times asked 1
    Official solution

    SimpleLive UI change: relevant CSS/HTML template kholo — color, margin, flex, bootstrap class. Save + hard refresh.

    Example

    /* button red */
    .btn-primary { background: red; }
    
    /* center navbar item */
    .navbar { justify-content: center; }

    Viva tipDevTools se pehle try, phir file mein permanent change.

  1. 1
    What is the difference between Authentication and Authorization?
    Times asked 4
    Official solution

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

    Authentication: login. Username + password check karke prove karte ho ki tum genuine user ho. Success pe session/token milta hai.
    Authorization: uske baad role check. Admin hi parking lot delete kar sakta hai, normal user nahi.

    Example (Flask):
    # Authentication

    if user and check_password_hash(user.password, form_password):
        session['user_id'] = user.id
    
    # Authorization
    if session.get('role') != 'admin':
        abort(403)  # logged in ho, lekin allowed nahi

    Project example: student login = authentication. Student admin dashboard nahi khol sakta = authorization.
    Validation alag cheez hai (form sahi bhara hai ya nahi, jaise age 18+).

  2. 2
    Which security mechanism have you implemented in your project?
    Times asked 1
    Official solution

    SimplePassword DB mein plain text mat rakho — hash store karo jo reverse nahi hota.

    from werkzeug.security import generate_password_hash, check_password_hash
    user.password = generate_password_hash(request.form['password'])
    check_password_hash(user.password, form_password)

    Hashing ≠ encryption. Leak pe bhi original password nahi milta (easy passwords rainbow table se — isliye salt + strong hash).
    Column String(200) kyunki hash lamba hota hai. unique=True password pe mat lagao.

  3. 3
    What is Jinja2?
    Times asked 3
    Official solution

    SimpleJinja2 Flask ka template engine hai. HTML ke andar Python-jaisa data print/loop/if kar sakte ho.

    Bina Jinja har user ke liye alag HTML file. Jinja se ek template + data.

    {{ user.name }} print, {% for x in items %} loop, {% if %} condition, {% extends %} layout.

    Example routereturn render_template('dash.html', treks=treks)

    dash.html: {% for t in treks %}<li>{{ t.name }}</li>{% endfor %}

    HTML files templates/ folder mein isliye kyunki Flask default wahan dhundhta hai. render_template Jinja ko run karta hai.
    Boolean Jinja handle karta hai: {% if user.is_admin %}.

  4. 4
    Where have you used Jinja2 in your project?
    Times asked 1
    Official solution

    SimpleJinja2 Flask ka template engine hai. HTML ke andar Python-jaisa data print/loop/if kar sakte ho.

    Bina Jinja har user ke liye alag HTML file. Jinja se ek template + data.

    {{ user.name }} print, {% for x in items %} loop, {% if %} condition, {% extends %} layout.

    Example routereturn render_template('dash.html', treks=treks)

    dash.html: {% for t in treks %}<li>{{ t.name }}</li>{% endfor %}

    HTML files templates/ folder mein isliye kyunki Flask default wahan dhundhta hai. render_template Jinja ko run karta hai.
    Boolean Jinja handle karta hai: {% if user.is_admin %}.

  5. 5
    What should happen if a GET request is made for a user ID that does not exist?
    Times asked 1
    Official solution

    Definition style question: 1 line simple Hinglish + project example + mini code.

    Template'X ka kaam Y hai. Mere project mein Z jagah use hua.'

    Example'Session login state rakhta hai. session[user_id]=u.id login pe, logout pe session.clear().'

    Agar topic Vue/Celery/Redis ho aur project mein nahi hai to sach bolo, theory example do.

  6. 6
    What are HTTP status codes?
    Times asked 1
    Official solution

    SimpleStatus code number batata hai request ka result.

    200 OK — success, page/data mil gaya.
    201 Created — POST se naya resource.
    302/303 Found/See Other — redirect (login ke baad).
    304 Not Modified — cache use karo.
    400 Bad Request — galat input.
    401 Unauthorized — login nahi (ironically authentication missing).
    403 Forbidden — login hai, permission nahi.
    404 Not Found — route/record nahi.
    500 Internal Server Error — server crash (DB error, NoneType). debug=True pe traceback.
    501 Not Implemented — method server nahi sambhalta.

    abort(404) Flask mein. get_or_404(id) record na ho to 404.
    User ID GET pe exist na kare to 404 return karo, 500 nahi.

  7. 7
    Explain different HTTP status codes with examples.
    Times asked 1
    Official solution

    SimpleStatus code number batata hai request ka result.

    200 OK — success, page/data mil gaya.
    201 Created — POST se naya resource.
    302/303 Found/See Other — redirect (login ke baad).
    304 Not Modified — cache use karo.
    400 Bad Request — galat input.
    401 Unauthorized — login nahi (ironically authentication missing).
    403 Forbidden — login hai, permission nahi.
    404 Not Found — route/record nahi.
    500 Internal Server Error — server crash (DB error, NoneType). debug=True pe traceback.
    501 Not Implemented — method server nahi sambhalta.

    abort(404) Flask mein. get_or_404(id) record na ho to 404.
    User ID GET pe exist na kare to 404 return karo, 500 nahi.

  8. 8
    Explain the APIs used in your project.
    Times asked 1
    Official solution

    Examiner code pe ungli rakh ke poochta hai — panic mat karo, 4-line formula bolo.

    1) Yeh file/line kya role hai (model / route / template / config)?
    2) Input kahan se aata hai (form, URL <id>, session, JSON)?
    3) DB pe kya query/write?
    4) Output kya (render_template / redirect / jsonify)?

    Example

    @app.route('/book/<int:id>', methods=['POST']) — logged-in user session se, trek id URL se, Booking add, slots--, redirect history.

    Unknown line: imports (request, url_for, flash), decorators, if checks, commit — har keyword ka reason ready rakho.

  9. 9
    How do your APIs work?
    Times asked 1
    Official solution

    Definition style question: 1 line simple Hinglish + project example + mini code.

    Template'X ka kaam Y hai. Mere project mein Z jagah use hua.'

    Example'Session login state rakhta hai. session[user_id]=u.id login pe, logout pe session.clear().'

    Agar topic Vue/Celery/Redis ho aur project mein nahi hai to sach bolo, theory example do.

  10. 10
    Explain the logic used in your routes/code.
    Times asked 1
    Official solution

    SimpleRoutes/controllers URLs handle karte hain. app.py app banata hai, models.py data, templates/ views, static/ CSS-JS.

    Typical structure:
    app.py / __init__.py → Flask app, db.init, register blueprints
    models.py → tables
    routes.py / views → @app.route functions
    templates/ → Jinja HTML
    static/ → css, images
    instance/*.db → SQLite

    Ek route explain karne ka template:
    1) URL + methods 2) Auth/role check 3) Form/query se data 4) Business rule (duplicate, slots) 5) db.session 6) render ya redirect

    Example GET+POST same route: GET form, POST save.
    Data HTML se: form name= → request.form. Data HTML ko: render_template(..., items=query).
    Nayi .py file: import karke use karo, warna Flask ko pata nahi. Folder rename: imports/paths/templates check.

  11. 11
    Why did you implement the route logic in that way?
    Times asked 1
    Official solution

    Yeh live coding / notepad task hai. Chhota, correct Flask snippet likho.

    from flask import Flask, render_template, request, redirect, url_for
    @app.route('/do', methods=['GET','POST'])
    def do():
        if request.method == 'POST':
            # request.form.get('field') ya request.args.get('q')
            # db.session.add(...); commit
            return redirect(url_for('dashboard'))
        items = Model.query.all()
        return render_template('page.html', items=items)

    Jinja: {% for x in items %}<li>{{ x.name }}</li>{% endfor %}
    ID URL: @app.route('/item/<int:id>')

Maintaine By Lazy IITians Team + IITM BS students Regualr for More data you have