लाभ:
- यह पहचानने और सत्यापित करने की क्षमता कि एआई फर्जी एपीआई, असुरक्षित कोड और कॉपीराइट सामग्री का उत्पादन कर सकता है
- स्रोत कोड गोपनीयता, व्यक्तिगत डेटा और कॉर्पोरेट नीति की सीमा के भीतर एआई उपयोग को प्रबंधित करने की क्षमता
- यह समझना कि लाइसेंस अनुपालन, सुरक्षा और नैतिकता की अंतिम जिम्मेदारी इंजीनियर की है।
मॉड्यूल परीक्षा
1. एक कंप्यूटर इंजीनियर के रूप में, एआई कोड जनरेशन टूल के साथ काम करते समय, निम्नलिखित में से किसकी अंतिम जिम्मेदारी हमेशा मानव की ही रहनी चाहिए?
- ए) उत्पादन में डाले गए कोड की शुद्धता, सुरक्षा और समीक्षा और परीक्षण की अंतिम मंजूरी
- बी) किसी फ़ंक्शन के लिए पहला कोड स्केलेटन बनाना
- सी) परिवर्तनीय नामों के लिए सुझावों की एक सूची तैयार करना
- डी) कोड टिप्पणियों के लिए एक मसौदा पाठ तैयार करना
विवरण: एआई; यह कोड स्केलेटन, टेस्ट ड्राफ्ट और दस्तावेज़ीकरण जैसे कार्यों को गति दे सकता है। हालाँकि, यह सुनिश्चित करने के लिए कि यह सही, सुरक्षित और आवश्यकताओं के अनुरूप है, उत्पन्न कोड की समीक्षा, परीक्षण और अनुमोदन करना और इसे उत्पादन में डालना इंजीनियर की ज़िम्मेदारी है; स्वतंत्र सत्यापन के बिना इसे एआई को नहीं सौंपा जा सकता।
2. एआई ने आपके लिए एक फ़ंक्शन तैयार किया है और यह खुशहाल रास्ते पर काम करता दिख रहा है। इसे उत्पादन में लगाने से पहले सबसे अच्छा कदम क्या है?
- ए) चूंकि फ़ंक्शन काम करता प्रतीत होता है, इसलिए इसे सीधे उत्पादन में डालें
- बी) छोटी इकाई परीक्षण लिखकर और चलाकर व्यवहार को सत्यापित करें जिसमें किनारे के मामले शामिल हैं ✔
- सी) केवल फ़ंक्शन की पंक्तियों की संख्या को देखना
- डी) फ़ंक्शन के नाम को अधिक वर्णनात्मक बनाना
स्पष्टीकरण: काम पर दिखने का मतलब सही होना नहीं है। खाली इनपुट, शून्य, नकारात्मक, बहुत बड़े मूल्य और बेमेल जैसे किनारे के मामलों को कवर करने वाले छोटे यूनिट परीक्षणों को लिखना और चलाना फ़ंक्शन के वास्तविक व्यवहार को लाइव वातावरण में ले जाए बिना सत्यापित करता है।
3. AI ने 'array.sortStable()' नामक एक विधि का सुझाव दिया जो आपकी भाषा में मौजूद नहीं है और इसे स्पष्ट तरीके से समझाया। करने योग्य पहली सही कार्रवाई क्या है?
- ए) विधि का सीधे उपयोग करना क्योंकि एआई आश्वस्त लगता है
- बी) विधि को स्वयं परिभाषित करें और उसका सटीक नाम उपयोग करें
- सी) भाषा/पुस्तकालय के आधिकारिक दस्तावेज़ीकरण से विधि के अस्तित्व की पुष्टि करना ✔
- डी) कंपाइलर चेतावनी बंद करें और जारी रखें
स्पष्टीकरण: भाषा मॉडल संभावित रूप से लाइब्रेरी, पैकेज या विधि नाम बना सकते हैं जो वास्तव में मौजूद नहीं हैं (मतिभ्रम)। प्रत्येक प्रस्तावित एपीआई को भाषा या पुस्तकालय के आधिकारिक और वर्तमान दस्तावेज़ीकरण के विरुद्ध शब्दशः सत्यापित किया जाना चाहिए; यदि यह दस्तावेज़ में शामिल नहीं है, तो इसका उपयोग नहीं किया जाना चाहिए।
4. आप अपनी कंपनी के गोपनीय स्रोत कोड और एक एम्बेडेड एपीआई कुंजी को सार्वजनिक एआई टूल में पेस्ट करना चाहते हैं और मदद मांगना चाहते हैं। सबसे सही तरीका कौन सा है?
- ए) गति के लिए एपीआई कुंजी के साथ कोड को चिपकाना
- बी) बस कंपनी का नाम हटाना और बाकी सब कुछ साझा करना पर्याप्त है
- सी) कोड साझा करना और फिर एआई से इसे हटाने के लिए कहना
- डी) रहस्यों और छिपे हुए तर्क को हटाना और समस्या को एक प्रतिनिधि उदाहरण में कम करना या एक संस्थागत उपकरण का उपयोग करना ✔
विवरण: गुप्त स्रोत कोड और क्रेडेंशियल (एपीआई कुंजी, पासवर्ड, कनेक्शन स्ट्रिंग); कंपनी की गोपनीयता और सुरक्षा के लिहाज से यह जोखिम भरा है। रहस्यों और छिपे हुए व्यावसायिक तर्क को बाहर निकालना और समस्या को एक गुमनाम/प्रतिनिधि उदाहरण तक कम करना या एंटरप्राइज़/गैर-डेटा साझाकरण टूल का उपयोग करना आवश्यक है।
5. एआई ने कहा कि उसके द्वारा लिखे गए खोज फ़ंक्शन की जटिलता O(n) थी; लेकिन कोड में दो नेस्टेड लूप हैं। सही इंजीनियरिंग व्यवहार क्या है?
- ए) कोड का मैन्युअल रूप से विश्लेषण करें और जटिलता स्वयं निकालें और यदि आवश्यक हो तो इसे मापें ✔
- बी) ओ(एन) स्वीकार करें और जारी रखें क्योंकि एआई ने कहा था
- सी) यह मानते हुए कि चक्रों की संख्या का प्रदर्शन से कोई लेना-देना नहीं है
- डी) बस फ़ंक्शन का नाम बदलें
स्पष्टीकरण: समय जटिलता (बिग-ओ) दर्शाती है कि जैसे-जैसे इनपुट बढ़ता है संचालन की संख्या कैसे बढ़ती है। दो नेस्टेड लूप का मतलब आमतौर पर O(n^2) होता है। एआई की जटिलता के दावे को मैन्युअल रूप से कोड का विश्लेषण करके और यदि आवश्यक हो तो बढ़ते इनपुट के साथ मापकर सत्यापित किया जाना चाहिए; दावे पर भरोसा करने से प्रदर्शन की गलत धारणा उत्पन्न होती है।
6. एआई जनरेट किया गया कोड जो सीधे टेक्स्ट को जोड़कर उपयोगकर्ता इनपुट को SQL क्वेरी में सम्मिलित करता है। यहां की मुख्य समस्या और सही समाधान क्या है?
- ए) कोई समस्या नहीं; टेक्स्ट मर्जिंग सबसे तेज़ तरीका है
- बी) एसक्यूएल इंजेक्शन का खतरा है; एक पैरामीटरयुक्त क्वेरी (तैयार कथन) जो इनपुट को अलग करती है, का उपयोग किया जाना चाहिए ✔
- सी) क्वेरी को केवल अपरकेस में परिवर्तित करना ही पर्याप्त है
- डी) क्वेरी को छोटा लिखने से समस्या हल हो जाएगी
विवरण: उपयोगकर्ता इनपुट को सीधे क्वेरी टेक्स्ट में जोड़ने से SQL इंजेक्शन भेद्यता पैदा होती है; हमलावर इनपुट के साथ क्वेरी को संशोधित कर सकता है। सही समाधान एक पैरामीटरयुक्त क्वेरी (तैयार कथन) का उपयोग करना है जो इनपुट को क्वेरी टेक्स्ट से अलग करता है। यह एआई कोड में सबसे अधिक छूटी जाने वाली सुरक्षा गलतियों में से एक है।
7. एआई द्वारा निर्मित कोड के एक टुकड़े की समीक्षा करते समय आपके पास सीमित समय होता है। किन मुद्दों को प्राथमिकता देना सर्वोत्तम है?
- ए) केवल इंडेंटेशन और रिक्ति जैसे विवरण प्रारूपित करें
- बी) केवल परिवर्तनीय नामों की लंबाई
- सी) तार्किक शुद्धता, कमजोरियां और एज केस व्यवहार ✔
- डी) केवल फ़ाइल की पंक्तियों की कुल संख्या
विवरण: कोड समीक्षा में उच्चतम जोखिम; ये ऐसे मुद्दे हैं जो गंभीर नुकसान पहुंचाते हैं, जैसे तार्किक त्रुटियां, सुरक्षा कमजोरियां और गोपनीय जानकारी लीक। प्रारूप और शैली की समस्याओं को स्वचालित उपकरणों से ठीक किया जाता है; मुख्य मानव ध्यान सटीकता, सुरक्षा और एज केस व्यवहार पर केंद्रित होना चाहिए।
8. आप चाहते हैं कि AI किसी बग का समाधान करे। कौन सा इनपुट एआई को मूल कारण खोजने में सबसे अच्छी मदद करेगा?
- ए) बस यह कहना कि 'कोड काम नहीं करता, इसे ठीक करें'
- बी) बस फ़ाइल का नाम दें
- सी) त्रुटि पाठ के बिना, केवल अपेक्षित परिणाम बता रहा हूँ
- डी) पूर्ण त्रुटि संदेश, स्टैक ट्रेस, प्रासंगिक कोड और न्यूनतम पुनरुत्पादन उदाहरण प्रदान करें ✔
स्पष्टीकरण: प्रभावी डिबगिंग के लिए, एआई को पूर्ण त्रुटि संदेश, स्टैक ट्रेस, प्रासंगिक कोड स्निपेट और त्रुटि उत्पन्न करने वाला सबसे छोटा प्रतिलिपि प्रस्तुत करने योग्य नमूना देना आवश्यक है। अस्पष्ट कथन 'काम नहीं करता' एआई को अनुमान लगाने और व्यापक सिफारिशें करने के लिए मजबूर करता है।
9. एआई द्वारा निर्मित सभी यूनिट परीक्षण पहली बार में ही पास हो जाते हैं। इस स्थिति में किस जोखिम को नज़रअंदाज़ नहीं किया जाना चाहिए?
- ए) परीक्षण कोड की वर्तमान स्थिति की पुष्टि कर सकते हैं लेकिन वास्तविक/अपेक्षित व्यवहार की नहीं
- बी) कोड बिल्कुल त्रुटि रहित है क्योंकि सभी परीक्षण पास हो गए हैं
- सी) यदि परीक्षणों की संख्या बड़ी है तो गुणवत्ता की गारंटी है
- डी) परीक्षा उत्तीर्ण करना यह साबित करता है कि कवरेज पूरा हो गया है
स्पष्टीकरण: परीक्षण कोड के वर्तमान (शायद ख़राब) व्यवहार को मान्य कर सकते हैं, न कि उसके इच्छित व्यवहार को; या इसमें कोई सार्थक दावा नहीं हो सकता है और इसे हमेशा पारित कर दिया जाता है। यह देखने के लिए कि परीक्षण वास्तविक अपेक्षा की जाँच कर रहे हैं, सचेत रूप से कोड को तोड़ना और पुष्टि करना आवश्यक है कि परीक्षण लाल हो गया है।
10. AI ने आपके लिए किसी समस्या के लिए कोड का एक तैयार ब्लॉक तैयार किया है। आपको संदेह है कि कोड किसी ओपन सोर्स प्रोजेक्ट से शब्दशः कॉपी किया गया होगा। सही दृष्टिकोण कौन सा है?
- ए) बिना सोचे समझे लाइसेंस का उपयोग करना क्योंकि कोड काम करता है
- बी) कोड के स्रोत/लाइसेंस की जांच करना, यदि आवश्यक हो तो फिर से लिखना और कॉर्पोरेट नीति का अनुपालन करना ✔
- सी) बस परिवर्तनीय नाम बदलें और समस्या हल होने पर विचार करें
- डी) यह मानते हुए कि लाइसेंसिंग केवल बड़ी कंपनियों से संबंधित है
विवरण: एआई प्रशिक्षण डेटा में कॉपीराइट/लाइसेंस प्राप्त कोड को शब्दशः पुन: पेश कर सकता है। किसी व्यावसायिक उत्पाद में लाइसेंस का उल्लंघन गंभीर कानूनी जोखिम पैदा करता है। कोड के स्रोत और लाइसेंस की जांच करना, यदि आवश्यक हो तो इसे अपने शब्दों में फिर से लिखना और संस्थान की लाइसेंसिंग नीति का अनुपालन करना आवश्यक है।
11. एआई ने सुझाव दिया कि आप तुरंत अपने प्रोजेक्ट के लिए माइक्रोसर्विसेज आर्किटेक्चर पर स्विच करें। इस प्रस्ताव का मूल्यांकन करते समय सबसे उपयुक्त इंजीनियरिंग दृष्टिकोण क्या है?
- ए) पूरे सिस्टम को तुरंत माइक्रोसर्विसेज में विभाजित करें क्योंकि एआई सुझाव देता है
- बी) यह मानते हुए कि माइक्रोसर्विस हमेशा सबसे अच्छा विकल्प है
- सी) वास्तविक आवश्यकता, भार, टीम संरचना और प्लस-माइनस बैलेंस के अनुसार प्रस्ताव का मूल्यांकन करें ✔
- डी) केवल वास्तुकला की लोकप्रियता के आधार पर निर्णय लेना
स्पष्टीकरण: वास्तु संबंधी निर्णय संदर्भ पर निर्भर करते हैं; माइक्रोसर्विसेज पैमाने और टीम पृथक्करण जैसी जरूरतों में मूल्य जोड़ते हैं, लेकिन परिचालन जटिलता, वितरित डिबगिंग और लागत जैसी लागतों के साथ आते हैं। वास्तविक आवश्यकता, भार, टीम संरचना और पक्ष-विपक्ष संतुलन के अनुसार प्रस्ताव का मूल्यांकन करें; सामान्य सलाह का आंख मूंदकर पालन नहीं करना चाहिए।
12. AI ने आपके कोड के लिए एक सुव्यवस्थित README और API दस्तावेज़ तैयार किया; लेकिन कुछ समापन बिंदु और पैरामीटर कोड में मेल नहीं खाते हैं। सही व्यवहार क्या है?
- ए) दस्तावेज़ को वैसे ही प्रकाशित करना क्योंकि पाठ धाराप्रवाह है
- बी) बस शीर्षक ठीक करें और बाकी को वैसे ही छोड़ दें
- सी) दस्तावेज़ को बिना पढ़े गोदाम में जोड़ना
- डी) प्रत्येक समापन बिंदु और पैरामीटर की वास्तविक कोड से तुलना करें और जो मेल नहीं खाता है उसे ठीक करें
विवरण: दस्तावेज़ीकरण वास्तविक कोड का सटीक प्रतिबिंब होना चाहिए; गलत दस्तावेज़ इसे पढ़ने वाले डेवलपर्स को इसका गलत उपयोग करने के लिए प्रेरित करता है। प्रत्येक समापन बिंदु, पैरामीटर और रिटर्न मान को वास्तविक कोड के विरुद्ध सत्यापित किया जाना चाहिए, और किसी भी बेमेल को ठीक किया जाना चाहिए।
13. एआई से कोड का अनुरोध करते समय उच्चतम गुणवत्ता वाले आउटपुट के लिए कौन सा इनपुट दृष्टिकोण सही है?
- ए) स्पष्ट रूप से भाषा/संस्करण, इनपुट-आउटपुट अनुबंध, बाधाएं और त्रुटि स्थितियां प्रदान करना ✔
- बी) बस यह कह रहा हूं 'मुझे कुछ कामकाजी कोड लिखें'
- सी) बिना कोई संदर्भ दिए सबसे छोटा अनुरोध लिखें
- डी) केवल यह निर्दिष्ट करना कि कोड की कितनी पंक्तियाँ होंगी
विवरण: शक्तिशाली संकेत; इसमें प्रयुक्त भाषा और संस्करण, इनपुट-आउटपुट अनुबंध, प्रदर्शन और शैली की बाधाएं, त्रुटि की स्थिति और 'केवल अनुरोधित दायरे के भीतर ही रहें' निर्देश शामिल हैं। एक संदर्भहीन 'मुझे एक फ़ंक्शन लिखें' अनुरोध सामान्य है और अक्सर अनुचित कोड उत्पन्न करता है।
14. AI ने आपके CI/CD (निरंतर एकीकरण/परिनियोजन) पाइपलाइन के लिए एक कॉन्फ़िगरेशन तैयार किया और इसमें सादे पाठ में डेटाबेस पासवर्ड एम्बेड किया। सही समाधान कौन सा है?
- ए) पासवर्ड को सादे टेक्स्ट के रूप में छोड़ दें क्योंकि यह काम करता है
- बी) पर्यावरण चर या गुप्त प्रबंधन उपकरण के माध्यम से रहस्यों को बाहर ले जाना, रिपॉजिटरी में प्लेनटेक्स्ट नहीं डालना ✔
- सी) पासवर्ड को केवल कमेंट लाइन पर ले जाएं
- डी) फ़ाइल का नाम बदलने से समस्या हल हो जाती है
स्पष्टीकरण: कॉन्फ़िगरेशन फ़ाइल में सादे पाठ में पासवर्ड और कुंजी जैसे रहस्य लिखने से संस्करण नियंत्रण और अनधिकृत पहुंच के लीक होने का खतरा होता है। रहस्य; इसे पर्यावरण चर या एक विशेष रहस्य प्रबंधक द्वारा बाहर रखा जाना चाहिए, और कभी भी सादे पाठ में भंडार में प्रवेश नहीं करना चाहिए।