# Interview प्रश्न और सुझाव — Fastify: High-Performance Node.js APIs बनाना

Source: https://www.skillbyai.com/hi/fastify/ff-interview-questions

> Performance, plugins और async handling पर आम Fastify interview प्रश्नों का अभ्यास करें।

त्वरित जाँच

**Quiz:** Fastify Express से तेज़ क्यों है?

- [ ] यह एक अलग प्रोग्रामिंग भाषा का उपयोग करता है
- [x] यह object pooling, efficient routing, और built-in validation के माध्यम से कम overhead रखता है
- [ ] यह middleware को support नहीं करता
- [ ] यह केवल browser में चलता है

*Answer:* यह object pooling, efficient routing, और built-in validation के माध्यम से कम overhead रखता है. Fastify request/reply objects को reuse करता है, trie-based router के साथ routing को optimize करता है, और JSON Schema के साथ input को validate करता है—सभी प्रदर्शन के लिए डिज़ाइन किए गए हैं।

त्वरित जाँच

**Quiz:** Fastify plugins का उद्देश्य क्या है?

- [ ] Routes में CSS styling जोड़ने के लिए
- [ ] Express middleware को replace करने के लिए
- [x] Functionality (auth, DB, logging) को encapsulate और routes में reuse करने के लिए
- [ ] केवल HTML templates बनाने के लिए

*Answer:* Functionality (auth, DB, logging) को encapsulate और routes में reuse करने के लिए. Plugins modular, maintainable code को enable करते हैं concerns को separate करके और reusable components को app में register करने की अनुमति देते हैं।

त्वरित जाँच

**Quiz:** Fastify route handlers में async/await को कैसे handle करता है?

- [ ] यह उन्हें automatically try/catch में लपेटता है
- [ ] Async handlers समर्थित नहीं हैं
- [ ] इसके लिए manual promise chains चाहिए
- [x] यह rejected promises को पकड़ता है और errors को error handler में pass करता है

*Answer:* यह rejected promises को पकड़ता है और errors को error handler में pass करता है. Fastify async/await पर बना है और automatically rejected promises को पकड़ता है, उन्हें setErrorHandler में भेजता है।

## अंतिम क्विज़ 1/8

अंतिम क्विज़

**Quiz:** कौन-सा Fastify method बिना असली server के request भेजता है?

- [ ] fastify.listen()
- [ ] fastify.close()
- [x] fastify.inject()
- [ ] fastify.log()

*Answer:* fastify.inject(). inject तेज़ tests के लिए HTTP requests का अनुकरण करता है।

## अंतिम क्विज़ 2/8

अंतिम क्विज़

**Quiz:** Fastify का built-in logger कौन-सा है?

- [ ] Winston
- [ ] Bunyan
- [ ] Morgan
- [x] Pino

*Answer:* Pino. Pino तेज़ structured JSON logging है।

## अंतिम क्विज़ 3/8

अंतिम क्विज़

**Quiz:** Response schema क्या सुधारता है?

- [x] Serialization speed and data safety
- [ ] CSS size
- [ ] Git history
- [ ] DNS lookups

*Answer:* Serialization speed and data safety. केवल सूचीबद्ध fields serialize होते हैं।

## अंतिम क्विज़ 4/8

अंतिम क्विज़

**Quiz:** कौन-सा lifecycle क्रम सही है?

- [ ] preHandler, onRequest, onSend
- [x] onRequest, preValidation, preHandler, onSend
- [ ] onSend, onRequest
- [ ] preValidation, onRequest

*Answer:* onRequest, preValidation, preHandler, onSend. हर request के लिए hooks निर्धारित क्रम में चलते हैं।

## अंतिम क्विज़ 5/8

अंतिम क्विज़

**Quiz:** Plugin encapsulation क्या देता है?

- [ ] Global variables
- [ ] Faster CPU
- [x] Scoped decorators, hooks and routes
- [ ] Automatic HTTPS

*Answer:* Scoped decorators, hooks and routes. Child plugin के बदलाव sibling plugins तक नहीं पहुँचते।

## अंतिम क्विज़ 6/8

अंतिम क्विज़

**Quiz:** कौन-सा plugin multipart file uploads संभालता है?

- [ ] @fastify/cors
- [ ] @fastify/jwt
- [ ] @fastify/helmet
- [x] @fastify/multipart

*Answer:* @fastify/multipart. यह multipart/form-data parse करता है।

## अंतिम क्विज़ 7/8

अंतिम क्विज़

**Quiz:** Scale करते समय Fastify app को stateless क्यों रखें?

- [x] Any instance can serve any request
- [ ] It uses less RAM
- [ ] It disables logging
- [ ] It avoids HTTPS

*Answer:* Any instance can serve any request. साझा state Redis या database में रहनी चाहिए।

## अंतिम क्विज़ 8/8

अंतिम क्विज़

**Quiz:** कौन-सा plugin सुरक्षात्मक HTTP headers जोड़ता है?

- [ ] @fastify/static
- [x] @fastify/helmet
- [ ] @fastify/multipart
- [ ] @fastify/jwt

*Answer:* @fastify/helmet. Helmet आम security headers सेट करता है।
