top 50 swift interview questions
शीर्ष स्विफ्ट (iOS) साक्षात्कार प्रश्न और उत्तर उदाहरण के साथ:
स्विफ्ट आईओएस, मैकओएस, टीवीओएस और वॉचओएस और ऐप्पल इंक द्वारा लिनक्स विकास के लिए बनाई गई एक शक्तिशाली और इंटरैक्टिव प्रोग्रामिंग भाषा है।
स्विफ्ट सॉफ्टवेयर विकसित करने का एक शानदार तरीका है, यह एक इंटरैक्टिव प्रोग्रामिंग भाषा है जो नए कार्यक्रमों के लिए तेज, सुरक्षित और अनुकूल है। ऐप्पल के उपकरणों के लिए ऐप विकसित करने के लिए स्विफ्ट सबसे लोकप्रिय भाषा है, यह ऑब्जेक्ट-सी भाषा के लिए कुछ अतिरिक्त ऑब्जेक्ट-ओरिएंटेड सुविधाओं का विकल्प है।
स्विफ्ट सामान्य प्रोग्रामिंग त्रुटियों के प्रमुख वर्गों को परिभाषित करता है, जैसा कि हाल ही में प्रोग्रामिंग पैटर्न को दिखाया गया है:
- खुला स्त्रोत।
- स्विफ्ट सीखना आसान है।
- यह स्वीकार्य है।
- अंतर्निहित त्रुटि हैंडलिंग।
- मेमोरी अपने आप मैनेज हो जाती है।
- चर हमेशा उपयोग करने से पहले आरंभीकृत होते हैं।
- ओवरफ्लो के लिए इंटीग्रर्स की जांच की जाती है।
- आधुनिक प्रोग्रामिंग सुविधाएँ प्रदान करता है।
- स्विच फ़ंक्शन का उपयोग 'if' स्टेटमेंट के बजाय किया जा सकता है।
- उच्च गति और सुरक्षित प्रदर्शन, कोड जटिलता।
- गतिशील पुस्तकालयों का समर्थन।
सर्वाधिक लोकप्रिय स्विफ्ट (iOS) साक्षात्कार प्रश्न
यहाँ शीर्ष iOS स्विफ्ट साक्षात्कार सुझावों की एक सूची है और जवाबों के साथ प्रश्न हैं।
आइए ढूंढते हैं!!
Q # 1) iOS स्विफ्ट क्या है?
उत्तर: स्विफ्ट मोबाइल और डेस्कटॉप के लिए ऐप विकसित करने के लिए जून 2014 में Apple इंक द्वारा संकलित और संकलित एक नई प्रोग्रामिंग भाषा है। यह भाषा वॉचओएस, मैकओएस, आईओएस और टीवीओएस के लिए काम करती है।
Apple ने कोको टच और कोको दोनों के साथ काम करने के लिए स्विफ्ट भाषा बनाई। स्विफ्ट कई ऑपरेटिंग सिस्टम जैसे फ्री बीएसडी, लिनक्स, डार्विन आदि का समर्थन करता है। यह भाषा ऐप्पल उत्पादों में ऑब्जेक्टिव-सी लाइब्रेरी और कोको फ्रेमवर्क के साथ काम करने के लिए डिज़ाइन की गई थी।
Q # 2) स्विफ्ट का उपयोग करने के क्या फायदे हैं?
उत्तर: स्विफ्ट प्रोग्रामिंग भाषा तेजी से संस्मरण में तेजी से बढ़ती भाषाओं में से एक बन गई है। स्विफ्ट हमें ऐसे सॉफ्टवेयर का विकास करती है जो अविश्वसनीय रूप से तेज, मजबूत और सुरक्षित है।
यह भाषा सबसे उपयोगी प्रोग्रामिंग भाषा है जिसका उपयोग macOS और iOS (iPad और iPhone) के लिए एप्लिकेशन विकसित करने के लिए किया जाता है।
मैकओएस और आईओएस के लिए स्विफ्ट का उपयोग करके ऐप विकसित करने से कुछ महत्वपूर्ण फायदे मिलते हैं।
- ओपन-सोर्स भाषा: स्विफ्ट प्रोग्रामिंग भाषा एक ओपन-सोर्स के रूप में बनाई गई है और सभी के लिए खुली है, इससे प्रोग्राम को सभी सोर्स कोड, ईमेल लिस्ट और बग ट्रैकर को नियमित अंतराल पर अपग्रेड करना सरल हो जाता है।
- सीखने और बनाए रखने में आसान: C / C ++ की तुलना में स्विफ्ट प्रोग्रामिंग भाषा अधिक सरल और सटीक है। Apple ने अपनी प्रोग्रामिंग भाषा को विकसित करना आसान बना दिया और सिंटैक्स को प्रोग्रामिंग भाषाओं जैसे C # से लिया गया, अजगर , और रूबी। इस प्रोग्रामिंग भाषा के ये सरल वाक्यविन्यास इसे और अधिक सार्थक बनाते हैं। स्विफ्ट में, कार्यान्वयन की सभी सामग्री (.m) और हेडर (.h) फाइलें एकल फ़ाइल (.swift) में संयुक्त हैं।
- कई उपकरणों द्वारा समर्थित: स्विफ्ट प्रोग्रामिंग भाषा केवल एप्पल उपकरणों का समर्थन करने के लिए सीमित नहीं है, यह लिनक्स और विंडोज उपकरणों जैसे प्रौद्योगिकी दुनिया के कई उपकरणों का भी समर्थन करेगी।
- गतिशील पुस्तकालयों का समर्थन करता है: डायनामिक लाइब्रेरी कोड के निष्पादन योग्य हिस्सा हैं जो एक ऐप से जुड़े हो सकते हैं। यह सुविधा नवीनतम स्विफ्ट प्रोग्रामिंग भाषा की अनुमति देती है। स्विफ्ट में, डायनेमिक लाइब्रेरीज़ को सीधे मेमोरी में अपलोड किया जाता है, जिसके परिणामस्वरूप ऐप के शुरुआती आकार में कटौती होती है और अंत में ऐप का प्रदर्शन बढ़ जाता है।
- वैकल्पिक प्रकार: स्विफ्ट में एक वैकल्पिक एक प्रकार है जिसे मूल्य के रूप में या तो आयोजित किया जा सकता है या नहीं। वैकल्पिक घोषित करने के लिए, हम एक प्रश्न का उपयोग कर सकते हैं '?' निशान।
- क्लोजर: क्लोज़र कार्यक्षमता के स्व-निहित ब्लॉक हैं जिन्हें हमारे कोड में पास किया जा सकता है और उपयोग किया जा सकता है।
Q # 3) स्विफ्ट बनाम ऑब्जेक्टिव-सी की व्याख्या करें।
उत्तर: स्विफ्ट बनाम ऑब्जेक्टिव-सी के बीच विभिन्न अंतर नीचे सूचीबद्ध हैं।
- स्विफ्ट एक वस्तु-उन्मुख और कार्यात्मक प्रोग्रामिंग भाषा है, जबकि ऑब्जेक्टिव-सी एक क्लास-आधारित ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है।
- स्विफ्ट डायनेमिक लाइब्रेरी का समर्थन करता है, जबकि ऑब्जेक्टिव-सी डायनेमिक लाइब्रेरी का समर्थन नहीं करता है।
- स्विफ्ट ट्यूपल्स का समर्थन करती है, जबकि ऑब्जेक्टिव-सी ट्यूपल्स का समर्थन नहीं करता है।
- स्विफ्ट में अर्धविराम की आवश्यकता नहीं होती है, जबकि उद्देश्य-सी में अर्धविराम की आवश्यकता होती है।
- स्विफ्ट एक ओपन-सोर्स प्रोग्रामिंग भाषा है, जबकि ऑब्जेक्टिव-सी ऐप्पल तक सीमित है, और यह एक ओपन-सोर्स भाषा नहीं है।
- हमें चर के लिए घोषित करने के लिए निरंतर और 'var' कीवर्ड घोषित करने के लिए 'लेट' कीवर्ड का उपयोग करना होगा, जबकि उद्देश्य सी में, हमें वेरिएबल को 'एनएसएसटीरिंग' और निरंतर को 'इंट' के रूप में घोषित करना होगा।
- स्विफ्ट हमें संरचना, कक्षाओं या गणना में तरीकों को परिभाषित करने में सक्षम बनाता है, जबकि उद्देश्य सी इसे अनुमति नहीं देता है।
- स्विफ्ट में, हम कक्षाओं को एकल फ़ाइल (.swift) में परिभाषित कर सकते हैं, जबकि ऑब्जेक्टिव C में हम कक्षाओं के लिए अलग-अलग इंटरफ़ेस (-h) फाइलें और कक्षाओं के लिए कार्यान्वयन (.m) फाइलें बनाते हैं।
Q # 4) अगर हमारे पास iOS डिवाइस नहीं है, तो हम Apple iPhone ऐप्स का परीक्षण कहां कर सकते हैं?
उत्तर: अगर हमारे पास iOS डिवाइस नहीं है, तो हम मैक सिस्टम पर Apple द्वारा उपलब्ध कराए गए सिमुलेटर पर अपने आवेदन का परीक्षण कर सकते हैं।
Q # 5) आईओएस एप्लिकेशन विकसित करने के लिए कौन से उपकरण आवश्यक हैं?
उत्तर: ये कुछ आवश्यक उपकरण हैं जो हमारे पास होने चाहिए:
- मैक / मैकमिनी: मैक ओएस पर चलने वाले इंटेल आधारित प्रोसेसर के साथ मैक प्राप्त करना हमारे लिए आवश्यक है। चिंता करने की ज़रूरत नहीं है, अगर हमारे पास अपना पीसी है, तो हम अभी भी मैक मिनी के माध्यम से iOS ऐप विकसित कर सकते हैं।
- Xcode: Xcode Apple IDE (इंटीग्रेटेड डेवलपमेंट एनवायरनमेंट) है जो कि iOS ऐप और मैक ओएस दोनों के लिए उपयोग किया जाता है। यह हमें एक दृश्य लेआउट संपादक और एक कोड संपादक प्रदान करता है जो दृश्य के पीछे तर्क, उपयोगकर्ता इंटरफ़ेस और प्रतिक्रिया से निपट सकता है।
- स्विफ्ट प्रोग्रामिंग भाषा: कोड संपादक में, तर्क एक प्रोग्रामिंग भाषा में लिखा जाएगा जो कि ऐप्पल द्वारा आविष्कार किया गया है, जिसे स्विफ्ट कहा जाता है।
- Apple डेवलपर कार्यक्रम: यह कार्यक्रम डेवलपर को हमारे ऐप को ऐप स्टोर पर लाइव करने की अनुमति देता है ताकि दुनिया भर के ग्राहक और डाउनलोडर हमारे ऐप को डाउनलोड कर सकें और इसका उपयोग कर सकें।
Q # 6) स्विफ्ट की सबसे महत्वपूर्ण विशेषताएं क्या हैं?
उत्तर: स्विफ्ट की कुछ महत्वपूर्ण विशेषताएं नीचे दी गई हैं:
- अधिक प्रभावशाली संरचनाएं और एनम
- प्रोटोकॉल उन्मुख
- वैकल्पिक प्रकार
- सुरक्षा और प्रकार की अनुमान भाषा टाइप करें
- अर्धविराम का उपयोग करने की आवश्यकता नहीं है
- लागू किया गया initializers
- डिफ़ॉल्ट रूप से सुरक्षित
- कम कोड, कम फाइलें
- मजबूरन अनपरा
- टुपल्स
- बंद
- अन्य भाषाओं की तुलना में बहुत तेज है।
Q # 7) एक तेज़ iOS ऐप (iOS एप्लिकेशन लाइफ़साइकल) के लिए सामान्य निष्पादन स्टेट्स को समझाइए।
उत्तर: 5 सामान्य निष्पादन राज्य निम्नानुसार हैं:
- चल नहीं रहा: यह एक सरल स्थिति है जिसमें हमारा ऐप लॉन्च नहीं किया गया है और कोई भी कोड सिस्टम द्वारा निष्पादित और समाप्त नहीं किया जा रहा है और एप्लिकेशन पूरी तरह से बंद है।
- निष्क्रिय: यह राज्य सिर्फ एक संक्रमणकालीन राज्य है। निष्क्रिय अवस्था का अर्थ है कि हमारा एप्लिकेशन पृष्ठभूमि में चल रहा है, लेकिन घटनाओं को प्राप्त करने में सक्षम नहीं है।
- सक्रिय: सक्रिय राज्य मुख्य निष्पादन राज्य है, जहां हमारा ऐप पृष्ठभूमि में चल रहा है और घटनाओं को प्राप्त करने में सक्षम है।
- पृष्ठभूमि: यह वह राज्य है जहां हमारा ऐप पृष्ठभूमि में चल रहा है और अभी भी पृष्ठभूमि में कोड को निष्पादित करने में सक्षम है।
- बर्खास्त कर दिया: इस स्थिति का अर्थ है कि हमारा ऐप चल रहा है जो बैकग्राउंड स्थिति में है और सिस्टम इस ऐप को निलंबित कर देता है और एप्लिकेशन किसी भी कोड को निष्पादित नहीं कर सकता है।
Q # 8) स्विफ्ट एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है?
उत्तर: हां, स्विफ्ट एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग लैंग्वेज है।
Q # 9) किस प्रकार की वस्तुएं मूल डेटा प्रकार स्विफ्ट में हैं?
वेबसाइटों को यूट्यूब वीडियो एमपी 3 में बदलने के लिए
उत्तर: स्विफ्ट विभिन्न उद्देश्यों जैसे कि बूलियन मान, संख्या और स्ट्रिंग्स के लिए बुनियादी डेटा प्रकारों के एक मानक सेट का उपयोग करता है।
- इंट: int का उपयोग पूर्णांक मान को संग्रहीत करने के लिए किया जाता है।
- डबल और फ्लोट: दशमलव संख्या के साथ काम करते समय स्विफ्ट में डबल और फ्लोट को माना जाता है।
- बूल: बूलियन प्रकार का उपयोग बूलियन मूल्य को संग्रहीत करने के लिए किया जाता है। स्विफ्ट में, यह सही और गलत स्थितियों का उपयोग करता है।
- स्ट्रिंग: स्ट्रिंग शाब्दिकों में, उपयोगकर्ता स्विफ्ट में दोहरे उद्धरण चिह्नों से संलग्न पाठ को परिभाषित करता है।
- सरणी: Arrays सूची मदों का संग्रह है।
- शब्दकोश: एक शब्दकोश एक विशेष प्रकार की वस्तुओं का एक अनियंत्रित संग्रह है जो एक अद्वितीय कुंजी के साथ जुड़ा हुआ है।
Q # 10) स्विफ्ट में init () क्या है?
उत्तर: प्रारंभिक उपयोग के लिए एक गणना, संरचना या वर्ग का एक उदाहरण तैयार करने की एक प्रक्रिया है।
किसी विशेष प्रकार का नया उदाहरण बनाने के लिए शुरुआती को भी कहा जाता है। एक इनिशलाइज़र एक पैरामीटर है जिसमें कोई पैरामीटर नहीं है। इनिशलाइज़र का उपयोग करके, हम init कीवर्ड लिख सकते हैं।
init() { // perform some New Instance initialization here }
Q # 11) आईओएस स्विफ्ट में उपयोग किए जाने वाले कंट्रोल ट्रांसफर स्टेटमेंट क्या हैं?
उत्तर: IOS स्विफ्ट में उपयोग किए जाने वाले कंट्रोल ट्रांसफर स्टेटमेंट में शामिल हैं:
- वापसी
- टूटना
- जारी रखें
- असफल
Q # 12) स्विफ्ट में Let और Var के बीच क्या अंतर है?
उत्तर: तेज भाषा में, हम Let और Var कीवर्ड का उपयोग करके एक स्थिर और परिवर्तनशील घोषित कर सकते हैं।
(मैं जाने: कीवर्ड को अपरिवर्तनीय है, इसका उपयोग एक स्थिर चर घोषित करने के लिए किया जाता है, और एक बार शुरू होने के बाद स्थिर चर को बदला नहीं जा सकता है।
उदाहरण के लिए: चलो myAge = 25
हम आयु के मान को नहीं बदल सकते, आप केवल कीवर्ड का उपयोग करके केवल एक बार ही इसके निरंतर मूल्य की घोषणा कर सकते हैं।
(ii) वहाँ है: Var कीवर्ड परिवर्तनशील है, और इसका उपयोग एक वैरिएबल चर घोषित करने के लिए किया जाता है। ये वेरिएंट वेरिएबल रन टाइम बदल सकते हैं।
उदाहरण के लिए:
var myName = 'डेल'
हम नाम = 'Apple' का मान बदल सकते हैं।
Q # 13) एरियर में एक एलिमेंट कैसे जोड़ें?
उत्तर: Arrays एक एप्लिकेशन (ऐप) में सबसे अधिक उपयोग किए जाने वाले डेटा प्रकारों में से एक है। हम अपने एप्लिकेशन (ऐप) डेटा को व्यवस्थित करने के लिए सरणियों का उपयोग करते हैं।
स्विफ्ट एक सरणी शाब्दिक का उपयोग करके हमारे कोड में एक सरणी बनाना आसान बनाता है। एरे तत्व केवल एक अल्पविराम से घिरे होते हैं और मानों की सूची को चौकोर कोष्ठक से अलग किया जाता है।
उदाहरण के लिए,
// Add ‘Int’ elements in an Array let natural number = (1, 2, 3, 4, 5, 6, 7) // Add ‘String’ elements in an array let countryName = (“India”, “Japan”, “Malaysia”, “Peru”, “Russia”)
Q # 14) किस JSON फ्रेमवर्क को iOS द्वारा सपोर्ट किया गया है?
उत्तर: SBJson फ्रेमवर्क iOS द्वारा समर्थित है। SBJson फ्रेमवर्क अतिरिक्त नियंत्रण और एक लचीला एपीआई प्रदान करता है जो JSON को आसान बनाता है। यह एक अच्छा और अत्यधिक लचीला ढांचा है जो एपीआई के लचीले कामकाज का समर्थन करता है।
Q # 15) iOS में PLIST क्या है?
उत्तर: संपत्ति सूची के लिए खड़ा है। PLIST मूल रूप से मूल्य और कुंजियों का एक शब्दकोश है जो एक .plist फ़ाइल एक्सटेंशन के साथ हमारी फाइल सिस्टम में संग्रहीत किया जा सकता है। प्रॉपर्टी लिस्ट का इस्तेमाल कम मात्रा में डेटा स्टोर करने के लिए पोर्टेबल और हल्के साधनों के रूप में किया जाता है। वे सामान्य रूप से XML में लिखे जाते हैं।
विभिन्न प्रकार की संपत्ति सूचियाँ नीचे उल्लिखित हैं:
- बाइनरी प्रॉपर्टी लिस्ट
- XML संपत्ति सूची
- ASCII विरासत संपत्ति सूची
Q # 16) एक शब्दकोश क्या है?
उत्तर: शब्दकोश कुंजी-मूल्य जोड़े के अनियोजित संग्रह का एक संघ हैं। प्रत्येक मान एक अद्वितीय कुंजी के साथ जुड़ा हुआ है, जो कि संख्या या स्ट्रिंग जैसे एक धोने योग्य प्रकार है। जब भी हम एक महत्वपूर्ण मूल्य के आधार पर मूल्यों को प्राप्त करना चाहते हैं, तो हम तेज प्रोग्रामिंग भाषा में शब्दकोश अवधारणा का उपयोग कर सकते हैं।
स्विफ्ट शब्दकोशों के सिंटैक्स:
निम्नलिखित स्विफ्ट प्रोग्रामिंग भाषा में एक शब्दकोश को परिभाषित करने का वाक्य विन्यास है।
Dictionary ()
या
(Key: Value) ()
स्विफ्ट में शब्दकोश बनाना:
घोषणा में कुंजी-मूल्य जोड़े के साथ एक शब्दकोश बनाने के विभिन्न तरीके निम्नलिखित हैं।
// using Dictionary Var names = Dictonary () Names = (“Ajay”: 1, “Mohit”: 2) print(names) // it prints (Ajay: 1, Mohit: 2)
Q # 17) स्विफ्ट में प्रोटोकॉल क्या है?
उत्तर: प्रोटोकॉल स्विफ्ट प्रोग्रामिंग भाषा की एक बहुत ही सामान्य विशेषता है और प्रोटोकॉल एक अवधारणा है जो जावा से एक इंटरफेस के समान है। एक प्रोटोकॉल गुणों, विधियों और अन्य आवश्यकताओं के एक खाका को परिभाषित करता है जो किसी विशेष कार्य के लिए उपयुक्त हैं।
अपने सरलतम रूप में, प्रोटोकॉल एक इंटरफ़ेस है जो कुछ विधियों और गुणों का वर्णन करता है। प्रोटोकॉल को केवल कार्यान्वयन के बजाय गुण या विधियों के कंकाल के रूप में वर्णित किया गया है। गुण और विधियों का कार्यान्वयन गणना, कार्यों और वर्गों को परिभाषित करके किया जा सकता है।
प्रोटोकॉल संरचना, गणना या वर्ग प्रकार के नामों के बाद घोषित किए जाते हैं। एक एकल और कई प्रोटोकॉल घोषणा संभव हो सकती है। एकाधिक प्रोटोकॉल अल्पविराम द्वारा अलग किए जाते हैं।
हम एक प्रोटोकॉल को इस तरह से परिभाषित कर सकते हैं जो संरचनाओं, गणनाओं और कक्षाओं के समान है:
Protocol Someprotocol { // protocol definition goes here }
हम कई प्रोटोकॉल को परिभाषित कर सकते हैं, जिन्हें अल्पविराम द्वारा अलग किया जाता है:
Class SomeClass: SomeSuperclass, Firstprotocol, Secondprotocol { // Structure definition goes here }
Q # 18) एक प्रतिनिधि क्या स्विफ्ट में है?
उत्तर: डेलिगेट एक डिज़ाइन पैटर्न है, जिसका उपयोग डेटा या संचार को संरचना या कक्षाओं के बीच पारित करने के लिए किया जाता है। प्रतिनिधि एक वस्तु से दूसरी वस्तु पर एक संदेश भेजने की अनुमति देता है जब एक विशिष्ट घटना होती है और तालिका दृश्य और संग्रह दृश्य घटनाओं को संभालने के लिए उपयोग किया जाता है।
प्रतिनिधि के पास एक से एक संबंध और एक से एक संचार होता है।
Q # 19) दोहरे प्रश्न चिह्न का उपयोग क्या है '??' स्विफ्ट में?
उत्तर: दोहरा प्रश्न चिह्न ' ?? “एक नील-कोलेसिंग ऑपरेटर है, यह मुख्य रूप से टेरानरी सशर्त ऑपरेटर के लिए एक आशुलिपि है जहाँ हम नील परीक्षण करते थे। एक चर के लिए एक डिफ़ॉल्ट मान प्रदान करने के लिए एक डबल प्रश्न चिह्न का भी उपयोग किया जाता है।
तारवाला ?? 'डिफ़ॉल्ट स्ट्रिंग'
यह बिल्कुल सामान्य बात है, अगर stringVar शून्य नहीं है, तो इसे वापस कर दिया जाता है, अन्यथा 'डिफ़ॉल्ट स्ट्रिंग' वापस आ जाती है।
Q # 20) GUARD स्टेटमेंट क्या है? स्विफ्ट में GUARD स्टेटमेंट का उपयोग करने का क्या लाभ है?
उत्तर: एक या अधिक शर्तें पूरी नहीं होने पर प्रोग्राम कंट्रोल को दायरे से बाहर स्थानांतरित करने के लिए GUARD स्टेटमेंट का उपयोग किया जाता है। इस कथन का उपयोग कयामत के पिरामिड से बचने में मदद करता है।
एक GUARD स्टेटमेंट निम्न रूप में होगा:
guard condition else { Statements }
Q # 21) संग्रह प्रकार क्या हैं जो स्विफ्ट में उपलब्ध हैं?
उत्तर: तीन प्राथमिक संग्रह प्रकार हैं जो मूल्यों के संग्रह को संग्रहीत करने के लिए स्विफ्ट में उपलब्ध हैं। वे शब्दकोश, सेट और सरणियाँ हैं
- सरणी: Arrays मूल्यों का एक ऑर्डर किया गया संग्रह है, जो एक ऑर्डर की गई सूची में उसी प्रकार के मानों में संग्रहीत होता है।
- सेट: सेट अनूठे मूल्यों का एक अनियंत्रित संग्रह है, जो बिना किसी परिभाषित क्रम के एक संग्रह में एक ही प्रकार के एक अलग मूल्य में संग्रहीत किए जाते हैं।
- शब्दकोश: शब्दकोश अनियंत्रित तरीके से कुंजी और मूल्य जोड़ी संघों का एक अनियोजित संग्रह है।
Q # 22) 'डिफर' क्या है?
उत्तर: 'डिफर' एक कीवर्ड है जो कोड का एक ब्लॉक प्रदान करता है जिसे निष्पादित किया जा सकता है जबकि निष्पादन वर्तमान गुंजाइश छोड़ रहा है।
Q # 23) ट्यूपल क्या है? स्विफ्ट में ट्यूपल कैसे बनाएं?
उत्तर: ट्यूपल एक एकल यौगिक मूल्य में विभिन्न मूल्यों का एक समूह है। यह तत्वों की एक क्रमबद्ध सूची है। टुपल में ऑब्जेक्ट डेटा तक पहुंचने के दो तरीके हैं, जैसे नाम या स्थिति द्वारा।
स्विफ्ट में, एक ट्यूपल में कई अलग-अलग प्रकार हो सकते हैं। यह दो मानों का समर्थन कर सकता है यानी एक पूर्णांक प्रकार का, और दूसरा एक स्ट्रिंग प्रकार का। यह एक कानूनी आदेश है।
उदाहरण के लिए: आज्ञा देना कार्यान्वयन = (501, 'लागू नहीं')।
हम इस तरह से एक बुनियादी tuple बना सकते हैं:
let person = (name: “Ajay” , age: 34)
Q # 24) ऐरे और NSArray में क्या अंतर है?
उत्तर: Array और NSArray के बीच का अंतर नीचे दिया गया है:
कैसे Android पर बिन फ़ाइलों को खोलने के लिए
- एक सरणी केवल एक प्रकार का डेटा रख सकती है, जबकि NSArray विभिन्न प्रकार के डेटा को धारण कर सकता है।
- एक सरणी एक मान प्रकार है, जबकि NSArray एक अपरिवर्तनीय संदर्भ प्रकार है।
Q # 25) वर्ग और संरचना में क्या अंतर है?
उत्तर: वर्ग और संरचना के बीच अंतर नीचे दिया गया है:
- कक्षाएं संदर्भ प्रकार हैं, जबकि संरचना मूल्य प्रकार हैं।
- कक्षाएं अन्य वर्गों पर बनाई जा सकती हैं, जबकि संरचना किसी अन्य संरचना से विरासत में नहीं मिल सकती है।
- कक्षाओं में एक वंशानुक्रम होता है, जबकि संरचनाओं में एक वंशानुक्रम नहीं हो सकता है।
- कक्षा में, हम 'लेट' कीवर्ड के साथ एक उदाहरण बना सकते हैं और इसकी संपत्ति को म्यूट करने का प्रयास कर सकते हैं, जबकि स्ट्रक्चर्स में कोई म्यूटेबिलिटी नहीं है।
- वर्गों में टाइप कास्टिंग होती है, जबकि संरचना में टाइप कास्टिंग नहीं होती है।
Q # 26) iOS में कंसीडर को प्राप्त करने के सबसे अच्छे तरीके क्या हैं?
उत्तर: IOS में संगामिति प्राप्त करने के तीन सबसे अच्छे तरीके नीचे दिए गए हैं:
- डिस्पैच कतारों
- धागे
- ऑपरेशन की कतार
Q # 27) स्विफ्ट प्रोग्रामिंग में एक स्थिर बनाने के लिए कैसे?
उत्तर: हमें स्विफ्ट प्रोग्रामिंग में एक स्थिर घोषित करने के लिए 'लेट' कीवर्ड का उपयोग करना होगा।
Q # 28) व्यू कंट्रोलर्स के बीच डेटा कैसे पास करें?
उत्तर: नीचे दिए गए अनुसार व्यू कंट्रोलर्स के बीच डेटा पास करने के तीन तरीके हैं।
- सेग का उपयोग करते हुए, तैयारफोरगेज विधि (फॉरवर्ड) में।
- चर को सीधे सेट करना (बैकवर्ड)।
- डेलिगेट (बैकवर्ड) का उपयोग करना।
Q # 29) हम स्विफ्ट में बेस क्लास को कैसे परिभाषित कर सकते हैं?
उत्तर: एक तेज प्रोग्रामिंग भाषा में, कक्षाएं बेस क्लास से विरासत में नहीं मिली हैं। सुपरक्लास को निर्दिष्ट किए बिना डेवलपर द्वारा कक्षाएं परिभाषित की जाती हैं और यह स्वचालित रूप से आधार वर्ग बन जाएगा।
क्यू # 30) हम कैसे एक संपत्ति वैकल्पिक कर सकते हैं?
उत्तर: एक प्रश्न चिह्न की घोषणा ? “स्विफ्ट कोड में एक संपत्ति वैकल्पिक बना सकते हैं। यह प्रश्न चिह्न “ ? जब कोई संपत्ति मान नहीं रखती है, तो रनटाइम त्रुटि से बचने में मदद करता है।
Q # 31) ऐप लॉन्च के दौरान हमारे ऐप का मुख्य कार्य कौन कहता है?
उत्तर: मुख्य धागा हमारे ऐप का मुख्य कार्य कहता है। ऐप लॉन्चिंग चक्र के दौरान, सिस्टम ऐप के लिए एक मुख्य थ्रेड बनाएगा और उस मुख्य थ्रेड पर ऐप मुख्य फ़ंक्शन को कॉल करेगा।
Q # 32) UI तत्व क्या हैं?
उत्तर: छवियाँ, बटन, लेबल, पाठ फ़ील्ड, और अनुप्रयोग के भीतर उपयोगकर्ता को दिखाई देने वाले किसी भी अन्य तत्वों को UI तत्व कहा जाता है।
Q # 33) सभी दृश्य नियंत्रक वस्तुओं का सुपरक्लास कौन सा है?
उत्तर: UIViewController क्लास सभी व्यू कंट्रोलर ऑब्जेक्ट्स का सुपरक्लास है। उन्हें प्रस्तुत करने, विचारों को लोड करने, उन्हें घुमाने के लिए कार्यक्षमता डिवाइस के घुमाव की प्रतिक्रिया है। सभी मानक प्रणाली व्यवहार UIViewController वर्ग द्वारा प्रदान किया गया है।
Q # 34) स्विफ्ट 4.0 में नई सुविधा क्या हैं?
उत्तर: स्विफ्ट 4.0 में नए फीचर्स नीचे दिए गए हैं:
- यूनिकोड शुद्धता रखने वाले तारों का उपयोग करने के लिए तेज़ और आसान।
- ट्यूपल और कई रिटर्न मान।
- फेंक / कोशिश / पकड़ का उपयोग कर मूल त्रुटि से निपटने।
- एक संरचना को क्रमबद्धता का समर्थन करने का विस्तार करता है।
Q # 35) स्विफ्ट में एक से अधिक लाइन कमेंट कैसे लिखें?
उत्तर: एक के बीच एक बहु पंक्ति टिप्पणी लिखी गई है ( / * ) प्रारंभिक बिंदु पर और ( * / ) समापन बिंदु पर।
Q # 36) Xcode द्वारा उपयोग किए जाने वाले स्रोत आइटम क्या हैं?
उत्तर: नीचे दिए गए अनुसार Xcode चार विभिन्न प्रकार के स्रोत आइटम का उपयोग करता है:
- ढांचा
- स्रोत समूह
- मूल फाइल
- सोर्स फोल्डर
Q # 37) स्विफ्ट में डेटा पास करने के विभिन्न तरीके क्या हैं?
उत्तर: स्विफ्ट में डेटा पास करने के कई तरीके हैं जैसे KVO, डेलिगेट, NSNotification & Callbacks, Target-Action, आदि।
Q # 38) वर्ग के उपयोग और विरासत के लाभों के बारे में बताएं।
उत्तर: वे:
- कार्यान्वयन को पुन: उपयोग करें
- उपवर्ग गतिशील प्रेषण प्रदान करता है।
- उपवर्ग पुन: उपयोग इंटरफ़ेस प्रदान करता है।
- प्रतिरूपकता
- ओवरराइडिंग अनुकूलन के लिए तंत्र प्रदान करता है।
Q # 39) प्रोटोकॉल और सुपरक्लास की कुछ सामान्य विशेषताएं बताइए।
उत्तर: प्रोटोकॉल और सुपरक्लास की कुछ सामान्य विशेषताएं नीचे दी गई हैं:
- इंटरफ़ेस पुन: उपयोग।
- कार्यान्वयन का पुन: उपयोग।
- मॉड्यूलर डिजाइन का समर्थन।
- अनुकूलन के लिए अंक प्रदान करता है।
Q # 40) UserNotifications में कुछ सबसे बड़े परिवर्तनों की व्याख्या करें।
उत्तर: UserNotifications में कुछ बड़े बदलाव नीचे दिए गए हैं:
एक खुला स्रोत dbms है:
- चित्र, ऑडियो और वीडियो जोड़ने की अनुमति देता है।
- सूचनाओं के लिए कस्टम इंटरफेस बनाने की अनुमति देता है।
- अधिसूचना केंद्र में इंटरफ़ेस के साथ सूचनाओं के प्रबंधन की अनुमति देता है।
Q # 41) ऑप्शनल चेनिंग क्या है?
उत्तर: वैकल्पिक चेनिंग एक उपयोगी प्रक्रिया है जिसका उपयोग हम वैकल्पिक के साथ संयोजन में विधियों, गुणों, और सब्सक्राइबरों को कॉल करने के लिए कर सकते हैं और ये मान शून्य हो सकते हैं या नहीं भी हो सकते हैं। इस प्रक्रिया में, हम वैकल्पिक मानों की श्रृंखला से एक मान प्राप्त करने का प्रयास कर सकते हैं।
- यदि वैकल्पिक में कोई मान है, तो किसी वैकल्पिक के सबस्क्रिप्ट, विधि या गुण को कॉल करने से मान वापस आ जाएगा।
- यदि वैकल्पिक शून्य है, तो सबस्क्रिप्ट, विधि और संपत्ति को कॉल करने से शून्य वापस आ जाएगा।
Q # 42) वैकल्पिक बंधन क्या है?
उत्तर: वैकल्पिक बाध्यकारी अवधारणा का उपयोग यह पता लगाने के लिए किया जाता है कि क्या वैकल्पिक में कोई मान है, और यह उस मान को एक चर या अस्थायी स्थिरांक के रूप में उपलब्ध कराता है। हम वैकल्पिक बाध्यकारी अवधारणा का उपयोग यह जांचने के लिए करते हैं कि वैकल्पिक में कोई मान है या नहीं।
वैकल्पिक बाध्यकारी का उपयोग हालत के साथ (यदि और जबकि) बयानों के लिए वैकल्पिक के अंदर एक मूल्य के लिए किया जा सकता है।
Q # 43) उच्च-क्रम के कार्य स्विफ्ट में क्या हैं?
उत्तर: उच्च-क्रम के कार्य नीचे दिए गए हैं:
- नक्शा: सरणी सामग्री परिवर्तित करें।
- कम करना: संग्रह में मानों को एक मान पर कम करें।
- क्रमबद्ध करें: सरणियों को छांटना।
- फ़िल्टर: सरणी सामग्री परिवर्तित करें।
Q # 44) कुछ डिज़ाइन पैटर्न की व्याख्या करें, जो हम आमतौर पर ऐप डेवलपमेंट के दौरान उपयोग करते हैं।
उत्तर: एप्लिकेशन विकास के दौरान उपयोग किए जाने वाले डिज़ाइन पैटर्न नीचे दिए गए हैं:
- व्यवहार: मेमेंटो, और ऑब्जर्वर।
- रचनात्मक: बिल्डर, फैक्टरी, और सिंगलटन।
- संरचनात्मक: फ़ाकडे, एडाप्टर और डेकोरेटर।
Q # 45) स्विफ्ट में एक वैकल्पिक खोलना के विभिन्न तरीके क्या हैं?
उत्तर: स्विफ्ट में एक वैकल्पिक खोलना के सात तरीके हैं। वे:
- गार्ड का बयान: सुरक्षित है।
- जबरन गिरवी रखना: 'का उपयोग कर!' ऑपरेटर, असुरक्षित।
- वैकल्पिक बाध्यकारी: सुरक्षित है।
- वैकल्पिक पैटर्न: सुरक्षित है।
- निल coalescing संचालक: सुरक्षित है।
- अस्पष्ट रूप से अपरिवर्तित चर घोषणा: कई मामलों में असुरक्षित।
- वैकल्पिक श्रृंखलन: सुरक्षित है।
Q # 46) बहु-थ्रेडिंग के लिए iOS किस तंत्र का समर्थन करता है?
उत्तर: वे हैं:
- NSThread: यह एक निम्न-स्तरीय धागा बना सकता है जिसे 'प्रारंभ' विधि का उपयोग करके शुरू किया जा सकता है।
- NSOperationQueue: यह थ्रेड के एक पूल को बनाने की अनुमति देता है और समानांतर में 'NSOperations' को निष्पादित करने के लिए उपयोग किया जाता है।
Q # 47) स्विफ्ट मॉड्यूल क्या है?
उत्तर:
- एक मॉड्यूल कोड वितरण की एक इकाई है।
- एक फ्रेमवर्क या एप्लिकेशन को सिंगल यूनिट के रूप में बनाया और शिप किया जाता है और जिसे स्विफ्ट आयात कीवर्ड का उपयोग करके किसी अन्य मॉड्यूल द्वारा आयात किया जा सकता है।
- Xcode टूल में प्रत्येक बिल्ड लक्ष्य को स्विफ्ट में एक अलग मॉड्यूल के रूप में माना जाता है।
Q # 48) कोर डेटा की व्याख्या करें।
उत्तर: मुख्य डेटा Apple द्वारा macOS और iOS ऐप के लिए प्रदान किए जाने वाले सबसे शक्तिशाली फ्रेमवर्क में से एक है। कोर डेटा का उपयोग हमारे अनुप्रयोगों में मॉडल लेयर ऑब्जेक्ट को संभालने के लिए किया जाता है। हम कोर डेटा को iOS ऐप के भीतर डेटा को फ़िल्टर करने, संशोधित करने, सहेजने, ट्रैक करने के लिए एक फ्रेमवर्क के रूप में मान सकते हैं। कोर डेटा एक रिलेशनल डेटाबेस नहीं है।
कोर डेटा का उपयोग करके, हम आसानी से डेटाबेस में टेबल रिकॉर्ड में किसी भी SQL को जाने बिना अपने ऐप में ऑब्जेक्ट्स को मैप कर सकते हैं। कोर डेटा MVC संरचना में M है।
कोर डेटा की कुछ विशेषताएं आपके संदर्भ के लिए नीचे दी गई हैं:
- IOS और macOS टूलचिन के साथ प्रभावी एकीकरण।
- मेमोरी में और UI (उपयोगकर्ता इंटरफ़ेस) में डेटा को व्यवस्थित करना, फ़िल्टर करना और समूहीकृत करना।
- वस्तुओं के भंडारण के लिए स्वचालित समर्थन।
- संपत्ति मूल्यों का स्वत: सत्यापन।
- ऑब्जेक्ट ग्राफ के प्रबंधन के लिए पहला ढांचा।
- ऑब्जेक्ट ग्राफ में ऑब्जेक्ट के जीवन चक्र के प्रबंधन के लिए कोर डेटा फ्रेमवर्क।
Q # 49) ग्रैंड सेंट्रल डिस्पैच (GDC) की व्याख्या करें।
उत्तर: जीसीडी (ग्रैंड सेंट्रल डिस्पैच) समवर्ती संचालन के प्रबंधन के लिए एक निम्न-स्तरीय एपीआई है। इस अवधारणा का उपयोग अनुप्रयोग प्रदर्शन को बेहतर बनाने में मदद करने के लिए किया जाता है। इस प्रक्रिया का उपयोग एक ही समय में कई कार्यों को प्रबंधित करने के लिए किया जाता है। ग्रैंड सेंट्रल डिस्पैच (GCD) आईओएस में Async और सिंक प्रोग्रामिंग के साथ मल्टीटास्किंग के लिए सबसे उपयोगी एपीआई है।
- डिस्पैच कतार: डिस्पैच कतार FIFO (फर्स्ट इन फर्स्ट आउट) क्रम में कार्य का प्रबंधन करती है। डिस्पैच कतारें थ्रेड-सुरक्षित हैं क्योंकि हम उन्हें एक साथ कई थ्रेड्स से एक्सेस कर सकते हैं।
- समवर्ती: इस प्रक्रिया ने एक ही समय में कई कार्य शुरू किए हैं लेकिन एक ही समय में समाप्ति के बारे में सुनिश्चित नहीं है। इसे किसी भी क्रम में समाप्त किया जा सकता है। वे समवर्ती रूप से एक ही समय में एक या अधिक कार्य निष्पादित करते हैं। कार्य जटिलता के अनुसार पूरा किया जाता है, न कि कतार में आदेश द्वारा।
- धारावाहिक: एक समय में केवल एक ही कार्य निष्पादित होगा। इसका उपयोग किसी विशिष्ट संसाधन तक पहुंच को सिंक्रनाइज़ करने के लिए किया जा सकता है।
- सिंक: टास्क पूरा होने के बाद एक सिंक्रोनस फंक्शन का कॉलर पर नियंत्रण होता है।
- Async: एक एसिंक्रोनस फ़ंक्शन तुरंत काम शुरू करने का आदेश देकर वापस लौटता है, लेकिन इसके पूरा होने का इंतजार नहीं करेगा।
Q # 50) MVC संरचना की व्याख्या करें।
उत्तर: MVC मॉडल दृश्य नियंत्रक के लिए खड़ा है। एमवीसी विकासशील एप्लिकेशन का उपयोग करने के लिए एक शक्तिशाली सॉफ्टवेयर आर्किटेक्चर पैटर्न है।
MVC ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग अवधारणाओं के शीर्ष पर बनाता है। यह हमारे ऐप में डेटा और इंटरैक्शन के प्रवाह को स्ट्रक्चर करता है। आईओएस विकास में समझा जाने वाला मॉडल-व्यू-कंट्रोलर एक महत्वपूर्ण मौलिक अवधारणा है। कई iOS फ्रेमवर्क, जैसे UIKit, कोको टच, मैसेजिंग और संरचित डेटा प्रवाह के लिए MVC पैटर्न का उपयोग करते हैं।
मॉडल-व्यू-कंट्रोलर का उपयोग हमारे ऐप के एक हिस्से से दूसरे डेटा को पास करने के लिए किया जाता है।
इसका एक डिज़ाइन पैटर्न तीनों में से किसी एक भूमिका में वस्तुओं को असाइन करने के लिए उपयोग किया जाता है:
- नमूना: मॉडल डेटा का एक आवरण है। मॉडल हमारे ऐप डेटा का एक प्रतिनिधित्व है और यह एक विशिष्ट उपयोगकर्ता जैसे जन्मतिथि, उपयोगकर्ता नाम आदि की जानकारी रखता है। मॉडल एप्लिकेशन स्थिति का प्रबंधन करता है। इसमें डेटा लिखना और पढ़ना भी शामिल है। मॉडल डेटा के एक व्यक्तिगत सेट को इनकैप्सुलेट करता है और उस डेटा में हेरफेर करने के लिए कुछ तर्क लागू करता है।
- राय: दृश्य UI (उपयोगकर्ता इंटरफ़ेस) का प्रतिनिधित्व है। एक दृश्य एक ऐसी वस्तु है जो उपयोगकर्ता को दिखाई देती है और यह उपयोगकर्ता इंटरफ़ेस (UI) के साथ सहभागिता करती है।
- नियंत्रक: नियंत्रक दृश्य और मॉडल के बीच एक मध्यस्थ है। नियंत्रक मॉडल और दृश्य के बीच जाने वाले सभी तर्क को नियंत्रित करता है। इसका अंतर-मॉडल और दृश्य के बीच संदेशों को संप्रेषित करता है, और इसके विपरीत।
निष्कर्ष
हमने इस लेख में उनके उत्तर और उदाहरणों के साथ-साथ सभी संभावित और महत्वपूर्ण स्विफ्ट साक्षात्कार प्रश्नों की खोज की है।
हमें उम्मीद है कि यहां दिए गए उत्तर iOS स्विफ्ट मूल बातें और उन्नत विषयों को समझने में वास्तव में बहुत सहायक होंगे। इन स्विफ्ट और आईओएस डेवलपर साक्षात्कार के सवालों का स्पष्ट ज्ञान किसी भी शुरुआती या अनुभवी पेशेवर को पहले प्रयास में साक्षात्कार को सफलतापूर्वक पूरा करने में मदद करेगा।
आपके साक्षात्कार के लिए शुभकामनाएँ !!
अनुशंसित पाठ
- साक्षात्कार प्रश्न और उत्तर
- कुछ दिलचस्प सॉफ्टवेयर परीक्षण साक्षात्कार प्रश्न
- शीर्ष 51 बूटस्ट्रैप साक्षात्कार प्रश्न और उत्तर
- शीर्ष 50 पायथन साक्षात्कार प्रश्न (सर्वाधिक लोकप्रिय)
- ईटीएल परीक्षण साक्षात्कार प्रश्न और उत्तर
- शीर्ष 50 सबसे लोकप्रिय CCNA साक्षात्कार प्रश्न और उत्तर
- 50 टॉप PHP साक्षात्कार प्रश्न और उत्तर (सभी के लिए)
- शीर्ष 50+ डेटाबेस साक्षात्कार प्रश्न और उत्तर