Indian Institute of Technology Madras
BS Degree Programme · Examination & Study Paper
Modern Application Development II
End Term · 31 Aug 2025 (Forenoon)
Examination Instructions & Guidelines
- Solve on notebook/paper first before checking solutions.
- MCQ: Exactly 1 option is correct. Negative marking applies.
- MSQ: One or more options correct. Select all to score.
- Scientific calculator allowed for all calculations.
- Official answer key is sealed at the end of this sheet.
- Q1MCQ2 Marks·Choose one option
In a message queue system, if the consumer is slower than the producer, what is likely to occur first?
- AMessages will be dropped
- BThe producer will block until the consumer is ready
- CMessages will accumulate in the queue
- DThe consumer will speed up automatically
- Q2MCQ2 Marks·Choose one option

- AThe component will reload when data changes
- BThe DOM updates automatically when the underlying reactive data changes
- CAll function calls become asynchronous
- DIt disables direct access to state
- Q3MCQ2 Marks·Choose one option
In Flask, what is the main benefit of using the @cache.cached() decorator?
- AIt stores output in session storage
- BIt skips route execution for repeated inputs
- CIt enables token authentication
- DIt sends compressed response headers
- Q4MCQ2 Marks·Choose one option
What is the primary purpose of CORS (Cross-Origin Resource Sharing)?
- ATo encrypt data between client and server
- BTo control which domains can access resources
- CTo compress HTTP responses
- DTo authenticate users across applications
- Q5MSQ2 Marks·Choose all correct options
Which of the following practices help protect against supply chain attacks?
- AVersion pinning
- BStoring keys only in environment variables
- CReduce Dependencies
- DUsing only packages with over 1000 stars on GitHub
- Q6MSQ2 Marks·Choose all correct options
Which of the following factors directly affect the speed and performance of a web page load?
- AThe number of CSS selectors in the stylesheet
- BNumber of HTTP requests made
- CFile size of resources (like images, JS)
- DUse of semantic HTML tags
- Q7MSQ2 Marks·Choose all correct options
Which of the following is/are the potential benefits of using a message broker?
- AA message broker allows two servers in a network to directly communicate with each other, without an intermediary.
- BA message broker makes the network scalable for adding more servers to the network.
- CA message broker can be used for batch processing of messages.
- DA message broker is not suited in case of traffic spikes, as messages are retained in the queue until processed.
- Q8MSQ2 Marks·Choose all correct options
Which statements about webhooks are correct?
- AThey enable real-time data delivery
- BThey require polling from the client
- CThey use HTTP POST requests typically
- DThey're designed for server-to-server communication
- Q9MCQ3 Marks·Choose one option
A popular e-commerce platform needs to notify multiple third-party services (inventory management, email marketing, analytics) whenever a customer places an order. The development team is considering different approaches to handle these notifications. Scenario: When an order is placed, the system needs to: ● Update inventory levels in an external warehouse system ● Send a welcome email through a third-party email service ● Log analytics data to an external tracking service ● Update customer loyalty points in a CRM system Which of the following statements about using webhooks for this scenario is MOST accurate?
- AWebhooks are not suitable for this use case because they require the e- commerce platform to continuously poll each third-party service to check if they're ready to receive data, which would create unnecessary network overhead.
- BWebhooks provide an ideal solution as they allow the e-commerce platform to push real-time notifications to all subscribed third-party services immediately when an order is placed, eliminating the need for these services to repeatedly poll for updates.
- CWebhooks should be avoided in this scenario because they operate synchronously, meaning the customer's order placement would be delayed until all third-party services have successfully processed their notifications.
- DWebhooks are primarily designed for read-only operations and cannot handle complex data payloads like order information, making them unsuitable for e-commerce transaction notifications.
- Q10MCQ3 Marks·Choose one option
What is the main advantage of using caching in a Flask-based web application?
- AIt eliminates the need for client-side rendering
- BIt encrypts data transmission between server and client
- CIt avoids the need for database interactions completely
- DIt reduces server load by reusing responses for repeated requests
- Q11MCQ3 Marks·Choose one option

- AR P Q S
- BP R S Q
- CR P S Q
- DR S P Q
- Q12MCQ3 Marks·Choose one option

- A

- B

- C

- D

- A
- Q13MCQ3 Marks·Choose one option

- A

- B

- C

- D

- A
- Q14MCQ3 Marks·Choose one option

- Aobject, undefined, true, false
- Bnull, undefined, false, false
- Cobject, undefined, false, false
- Dnull, undefined, true, true
- Q15MCQ3 Marks·Choose one option

- AAdmin component
- BUnauthorized component
- CBlank screen
- DVue throws a routing error
- Q16MCQ3 Marks·Choose one option

- A

- B

- C

- D

- A
Read the passage below, then answer Q17–Q19


Based on the above data, answer the given subquestions.
Q17MCQ3 Marks·Choose one optionAfter step 2 (selecting two tasks), what is the value of selectedTasks.length?
- A0
- B1
- C2
- D3
- Q18MCQ3 Marks·Choose one option
What happens when the user clicks "Select" on Design UI again (step 3)?
- AIt is added again, making the total 3
- BIt replaces the previous task
- CNothing changes, no duplicate is added
- DVue throws a warning about duplicate keys
- Q19MSQ3 Marks·Choose all correct options
Which of the following statements about this component setup are true?
- A

- B

- C

- D

- A
- Q20MSQ3 Marks·Choose all correct options
Which factors directly impact the Lighthouse "Performance" score?
- AFirst Contentful Paint (FCP)
- BHTTPS usage
- CTime to Interactive (TTI)
- DLayout Shift
- Q21MSQ3 Marks·Choose all correct options
Which statements are true about handling background tasks in Flask with Celery?
- ACelery allows long-running tasks to be executed asynchronously
- BPolling is a strategy to check task status periodically
- CUsing time.sleep() blocks the event loop and is recommended for async tasks
- DFlask + Celery + Redis is a common stack for async task management
- Q22MSQ3 Marks·Choose all correct options
Which of the following are true about mutations and actions in Vuex?
- AMutations can be asynchronous
- BActions can be asynchronous
- COnly actions can call APIs through fetch call
- DMutations should modify state directly
- Q23MSQ3 Marks·Choose all correct options

- AThe class "active" will only be applied to the div element if the variable "isActive" evaluates to true.
- BThe class "text-bold" will always be applied to the div element regardless of the "hasBoldText" variable value.
- CThe class "disabled" will be applied to the div element when the variable "isEnabled" evaluates to false.
- DAll three classes ("active", "text-bold", "disabled") will always be applied to the div element.
- EThe class "text-bold" will only be applied if the variable "hasBoldText" exists and evaluates to a truthy value.
- FIf "isEnabled" is undefined, the "disabled" class will not be applied to the div element.
- Q24MCQ4.5 Marks·Choose one option

- A

- B

- C

- D

- A
- Q25MCQ4.5 Marks·Choose one option

- A

- B

- C

- D

- A
- Q26MCQ4.5 Marks·Choose one option

- A

- B

- C

- D

- A
- Q27MCQ4.5 Marks·Choose one option
If requests for user IDs 1, 2, 1 are made within 5 minutes, what's the total response time?- A15 seconds
- B10 seconds
- C5 seconds
- D0 seconds
- Q28MCQ4.5 Marks·Choose one option

- A

- B

- C

- D

- A
- Q29MCQ4.5 Marks·Choose one option

- AResult: null
- BError: HTTP 404, Result: null
- CError: HTTP 404
- DUnhandled promise rejection
- Q30MCQ4.5 Marks·Choose one option
Consider the following JavaScript program that demonstrates web storage operations:

- A

- B

- C

- D

- A
Read the passage below, then answer Q31–Q32
Answer the given subquestions.
Q31MCQ3 Marks·Choose one option
- AThe password will be stored as plain text "mypassword123" in the database because WTF_CSRF_ENABLED = False
- BThe password will be hashed using bcrypt with the salt "this-is-a-salt-key" before being stored in the database
- CThe password will be hashed using SHA-256 algorithm since no specific hashing method is configured
- DThe password will be encrypted using the SECRET_KEY and stored in the session only
- Q32MCQ4.5 Marks·Choose one option

- A200, 200, 200
- B200, 401, 403
- C200, 401, 401
- D401, 401, 403
Official KeyMaster Answer Key & Explanations
Official answer keys from IIT Madras BS past papers. Click any question to review.
Reveal KeyCollapse Key
Master Answer Key & Explanations
Official answer keys from IIT Madras BS past papers. Click any question to review.