एल्गोरिदम कोडिंग साक्षात्कार प्रकट करने का समय
परिचय: मैं यह क्यों लिख रहा हूँ?
एक व्यावहारिक मार्गदर्शिका जो उन लोगों के लिए लिखी गई है जो प्रतिस्पर्धी प्रोग्रामिंग प्लेटफॉर्म के माध्यम से कोडिंग साक्षात्कारों को नेविगेट करने की कोशिश कर रहे हैं!
विषयसूची:
- डेटा संरचना और एल्गोरिदम का दृष्टिकोण अलग है ।
- अलग होना व्यर्थ नहीं है ।
- मशीन लर्निंग एल्गोरिथम के रूप में कार्य करें ।
- क्या यह् तुम्हारे लिए है?
- रोडमैप
- संक्षिप्त
- अगली पोस्ट
जब मैं साक्षात्कार कोडिंग के लिए तैयारी करता हूं, तो मैं अक्सर एल्गोरिथम समस्याओं को हल करने का आनंद लेने के लिए संघर्ष करता हूं। यह चुनौती इन समस्याओं को समझने और समझने में नहीं है या एक सरल क्रूर-बल समाधान के साथ आने में नहीं है, बल्कि यह है कि मैं उन्हें अपने दैनिक कार्य दिनचर्या में कहाँ और कैसे उपयोग करता हूँ।
इसका एक कारण यह है कि जब मैं मनुष्यों को प्रभावित करने वाली वास्तविक दुनिया की समस्या का सामना करता हूं तो मेरी डोपामाइन प्रणाली सक्रिय हो जाती है। यह सिर्फ समस्या नहीं है, बल्कि इसके पीछे की कहानी है; इससे प्रभावित लोग कौन हैं? वे कैसे प्रभावित होते हैं? वे क्यों प्रभावित होते हैं? क्या समस्या "मुझे X करने की आवश्यकता है" या "मैं X करना चाहता हूँ" के परिप्रेक्ष्य से आती है ?
एक और कारण है, एक लागू मशीन सीखने वाले वैज्ञानिक के रूप में, डेटा समस्याओं के पास सोचने का एक व्यवस्थित तरीका है। उदाहरण के लिए, यदि आप डेटा में संभावित समस्याओं को समझने के लिए खोजपूर्ण डेटा विश्लेषण चरण (EDA) में नहीं आते हैं, तो आप मॉडलिंग चरण पर नहीं जा सकते। लेकिन एल्गोरिथ्म समस्याओं के मामले में ऐसा नहीं है क्योंकि प्रत्येक समस्या को एक अलग विचार प्रक्रिया के साथ हल किया जा सकता है, जिससे पहली बार उनसे संपर्क करना चुनौतीपूर्ण हो जाता है।
साथ ही, डेटा विज्ञान की समस्याओं की प्रकृति, डिफ़ॉल्ट रूप से, वे मनुष्यों के साथ युग्मित हैं। प्रत्यक्ष रूप से, जैसे क्रेडिट कार्ड धोखाधड़ी, या अप्रत्यक्ष रूप से, जैसे तेल पाइपलाइनों में वेल्ड दोष। लेकिन डेटा संरचना और एल्गोरिथम से संबंधित समस्याओं के संबंध में ऐसा नहीं है, या हम कहें, प्रतिस्पर्धी प्रोग्रामिंग चुनौतियों के बारे में ऐसा नहीं है। वे एक अमूर्त तरीके से आते हैं, प्रत्येक समस्या या उनसे प्रभावित होने वाले किसी भी इंसान के पीछे कोई कहानी नहीं होती है। यदि आप मेरे जैसे व्यक्ति हैं तो यह इस प्रकार की समस्याओं से निपटने की प्रक्रिया को थोड़ा उबाऊ बना सकता है!
अंत में , जब मैं एल्गोरिदम का अध्ययन करता हूं, तो मैं समस्याओं और उनके समाधानों को समझने के लिए दृश्य अंतर्ज्ञान की तलाश करता हूं। यह कभी-कभी कुछ समस्याओं पर लागू करने के लिए एक कठिन प्रक्रिया हो सकती है।
2. लेकिन... मैं अपना समय बर्बाद नहीं करना चाहता
आप अपने आप से पूछ सकते हैं ...
मुझे डेटा संरचना और एल्गोरिथम समस्याओं को हल करने की आवश्यकता क्यों है जब मुझे अपने दैनिक कार्य रूटीन में उनकी आवश्यकता नहीं है?
इस प्रश्न का उत्तर हो सकता है:
- तेज़ मूल्यांकन: भविष्य के उम्मीदवारों के कोडिंग कौशल का परीक्षण करने के लिए कंपनियों को एक तेज़ दृष्टिकोण की आवश्यकता होती है। (जूनियर भूमिकाओं में अधिक वजन और वरिष्ठ भूमिकाओं में थोड़ा आराम)।
- पैटर्न से परिचित: कंपनियां चाहती हैं कि आप सबसे महत्वपूर्ण डेटा संरचना और एल्गोरिदम पैटर्न से अवगत रहें ताकि जब वे हों तो आप उन्हें लागू कर सकें।
- मानक दृष्टिकोण: सभी उम्मीदवार कौशल का आकलन करने की कमी के बावजूद, एल्गोरिथम आधारित कोडिंग प्रश्न भविष्य के उम्मीदवारों के कोडिंग कौशल का मूल्यांकन करने के लिए एक मानक दृष्टिकोण बन गए हैं।
मैं साक्षात्कार की तैयारी के दौरान प्रभावी और कुशल होने के साथ-साथ एल्गोरिदम की समस्याओं का अभ्यास करने का आनंद कैसे ले सकता हूं?
व्यक्तिगत रूप से, मैंने तैयारी के समय को सुखद बनाने के लिए विभिन्न तरीकों की कोशिश की, लेकिन आगे-पीछे करने के बाद, मुझे निम्नलिखित कार्य नुस्खा मिला, जिसे मैंने FGCC विधि कहा:
- फोकस (एफ): एल्गोरिथम समस्याओं से निपटने के दौरान दोहराए जाने वाले पैटर्न को पहचानने पर ध्यान दें ।
- समूह (जी): उन समस्याओं को समान पैटर्न से समूहित करें ।
- कन्वर्ट (सी): प्रत्येक पैटर्न समूह को एक समाधान टेम्पलेट में कनवर्ट करें जिसका उपयोग आप अन्य समस्याओं में एक पैटर्न फिर से पॉप अप होने पर कर सकते हैं।
- संचार (सी): उन पैटर्नों को अन्य लोगों के साथ संवाद करें । (यह एक महत्वपूर्ण कदम है)।
- महत्वपूर्ण समस्याओं की ओर अपना ध्यान केंद्रित करें।
- आपको कुछ पैटर्न प्रदान करें।
- कुछ समस्याओं को इन पैटर्न के अनुसार समूहित करें।
FGCC का सहज विचार एक अनुप्रयुक्त मशीन लर्निंग वैज्ञानिक के रूप में मेरी कार्य प्रकृति से आता है। ऐसा इसलिए है क्योंकि कुछ उदाहरणों के साथ प्रशिक्षण मशीन लर्निंग (एमएल) एल्गोरिथम उन चीजों में से एक है जिनसे मुझे अपने काम के दौरान निपटना है। (यानी, प्राकृतिक भाषा प्रसंस्करण (एनएलपी) और बीईआरटी )।
⚑ नोट 1
एक मशीन लर्निंग एल्गोरिथम (उनमें से सभी नहीं) वजन का एक गुच्छा है जो एक या अधिक डेटासेट का उपयोग करके प्रशिक्षण प्रक्रिया के दौरान अपडेट किया जाता है।
एक मॉडल एक प्रशिक्षित मशीन लर्निंग एल्गोरिथम है।
मूल विचार यह है कि आपको अपने मशीन लर्निंग एल्गोरिदम को स्क्रैच से प्रशिक्षित करने की आवश्यकता नहीं है। आपको केवल कुछ सार्वजनिक डेटासेट (यानी, विकिपीडिया से आलेख) पर प्रशिक्षित आधारभूत मॉडल की आवश्यकता है और प्रशिक्षण शुरू करें ( गर्म शुरुआत )। ऐसे बेसलाइन मॉडल का एक उदाहरण GPT-3 है, और GPT-3 बेसलाइन पर निर्मित मॉडल ChatGPT है।
ठीक है वलीद, तुम क्या कहना चाहते हो? ठीक है, मैं यहां जो लाना चाहता हूं वह यह है कि हम उसी सादृश्य का उपयोग साक्षात्कार की कोडिंग के लिए अपनी तैयारी में कर सकते हैं।
सबसे पहले , हमें गर्मजोशी से शुरुआत करने के लिए एक मानसिक आधार रेखा की आवश्यकता है। यह आधार रेखा अन्य लोगों के समाधानों की समीक्षा करके बनाई गई है लेकिन कुछ एल्गोरिथम समस्याओं के लिए। दूसरा , हमें किसी भी एल्गोरिथम समस्या को हल करने के लिए अपने अनुरूप मॉडल विकसित करने की आवश्यकता है जो हमारे द्वारा किए जाने वाले किसी भी साक्षात्कार के दौरान सामने आ सकती है।
फोकस (एफ) और समूह (जी) इस मानसिक आधार रेखा के निर्माण के लिए जिम्मेदार हैं, जबकि कन्वर्ट (सी), और संवाद (सी) अनुरूप आधार रेखा का उत्पादन करते हैं। रोडमैप अनुभाग में, मैं आपको बताऊँगा कि हम इसे व्यावहारिक रूप से कैसे करते हैं!
4. यह सीरीज किसके लिए है?
यह श्रृंखला बरसात के दिनों के लिए है, और यह आपके लिए अच्छी तरह से तैयार है यदि आप:
- एक कोडिंग साक्षात्कार लें, और आप जितनी संभव हो उतनी समस्याओं को कवर करने के लिए दौड़ पड़े।
- एक चीटशीट चाहते हैं जो आवश्यक पैटर्न प्रदान करती है जो साक्षात्कारकर्ता आपकी मेज पर ला सकते हैं।
- एक गहन संदर्भ चाहते हैं जो डेटा संरचनाओं और एल्गोरिदम को कवर करता हो। (अच्छे विकल्प खोजने के लिए संसाधन अनुभाग देखें)
- इन एल्गोरिदम के लिए समय और स्थान की जटिलताओं के गणितीय प्रमाण खोज रहे हैं। (विकल्पों के लिए संसाधन अनुभाग देखें)।
5. रोडमैप
1. सामान्य संरचना
यह श्रृंखला एक समस्या-आधारित संरचना में लिखी गई है । हम सबसे महत्वपूर्ण एल्गोरिथम समस्याओं पर चर्चा करेंगे जो साक्षात्कारकर्ताओं के बीच प्रसिद्ध हैं। प्रत्येक समस्या के लिए, हम:
- ब्रूट-फोर्स सॉल्यूशन के इंट्यूशन को समझाइए।
- एक अनुकूलित समाधान की व्याख्या करें जिसके साथ आना आसान है।
- इन समाधानों की समय और स्थान की जटिलताओं पर चर्चा करें।
- इन समस्याओं और समाधानों में से कुछ प्रतिमानों पर प्रकाश डालिए।
मैंने प्रत्येक समस्या के लिए इस तरह से संक्षिप्त लेकिन व्यावहारिक स्पष्टीकरण प्रदान किया है जो किसी ऐसे व्यक्ति को लक्षित करता है जिसका अगले सप्ताह साक्षात्कार है। कृपया करके अपना सुझाव मुझे बताए!
⚑ नोट 3
इस श्रृंखला की किसी भी समस्या का समाधान कई तरीकों से किया जा सकता है। मैंने उन समाधानों का केवल एक छोटा सा हिस्सा शामिल किया है, इसलिए अपने रचनात्मक लोगों के साथ आने में संकोच न करें!
2. विषय
हम समस्याओं की इन महत्वपूर्ण श्रेणियों और उनसे जुड़े एल्गोरिदम को कवर करेंगे:
- ऐरे।
- लिंक्ड सूची।
- डोरी।
- बाइनरी ट्री।
- परिचितता: आप बुनियादी डेटा संरचनाओं और एल्गोरिदम से परिचित हैं। जब मैं परिचित कहता हूं, तो मेरा मतलब है कि आपके पास निम्नलिखित प्रश्नों के उत्तर होने चाहिए:
- हमारे द्वारा कवर की जाने वाली विषयों की सूची में प्रत्येक डेटा संरचना का क्या अर्थ है?
- प्रत्येक डेटा संरचना को लागू करने का लोकप्रिय तरीका क्या है?
- बिग ओ नोटेशन क्या है?
- समय जटिलता और अंतरिक्ष जटिलता के बीच क्या अंतर है?
- विषय सूची में प्रत्येक डेटा संरचना के सम्मिलन, विलोपन और खोज कार्यों की समय जटिलता क्या है?
- फोकस (एफ) और समूह (जी):
- प्रत्येक समस्या के उदाहरणों का उपयोग करके समस्याओं और समाधानों से चलने के लिए कागज़ और एक कलम लाएँ । इससे आपको इन समाधानों को समझने और पैटर्न की समझ बनाने में मदद मिलेगी।
- इन समाधानों को LeetCode पर वापस कोड करें: इससे आपको इन पैटर्नों को पचाने में मदद मिलेगी।
- अपनी विचार प्रक्रिया को संप्रेषित करने का एक शानदार तरीका Leetcode वेबसाइट पर एक समाधान टेम्पलेट बनाकर है।
- इंतजार नहीं करते। अब साझा करें!
3. LeetCode खाता: आपका LeetCode में एक खाता है ।
4. मैं चाहता हूं कि आप क्या करें - अभ्यास में एफजीसीसी
एल्गोरिदम समस्याओं का अभ्यास करने के लिए समर्पण, धैर्य और प्रक्रिया को सुखद और प्रभावी बनाने के तरीके की आवश्यकता होती है। और यह श्रृंखला आनंद और प्रभावशीलता दोनों लक्ष्यों को पूरा करने के लिए आती है।
मुझे आशा है कि यह मार्गदर्शिका गुप्त हथियार होगी जो आपको हर बार आपके पास एक कोडिंग साक्षात्कार या एल्गोरिदम का अध्ययन करने के लिए वापस मिल जाएगी, इसलिए शुभकामनाएँ, और चलिए शुरू करते हैं!
7. अगली पोस्ट
कल्पना कीजिए कि आप अपने दोस्तों के साथ "चखें और अनुमान लगाएं" खेल खेल रहे हैं। इसलिए, जिस भोजन को आप आंख बंद करके खाते हैं, उसके नाम का अनुमान लगाने के बजाय, आपको इस रहस्य भोजन की एक या एक से अधिक सामग्री अवश्य देनी चाहिए। अब प्रश्न यह होगा:
अपने सिर पर बर्फ के ठंडे पानी की बाल्टी डालने से पहले आप इन सामग्रियों के नामों का जल्दी से अनुमान कैसे लगा सकते हैं?
बाद में, हम कोडिंग साक्षात्कारों में सर्वाधिक पूछे जाने वाले एल्गोरिथम प्रश्नों में से एक, KSum पारिवारिक समस्याओं पर चर्चा करेंगे । बने रहें!
आपके पढ़ने के लिए धन्यवाद!
आप मेरे न्यूज़लेटर के माध्यम से इस श्रृंखला की भविष्य की पोस्टों की तारीख के बारे में अधिक जान सकते हैं, जहाँ मैं एल्गोरिदम, मशीन लर्निंग और डेटा साइंस पर कुछ सुझाव साझा करता हूँ।
यदि आपके कोई अन्य प्रश्न या टिप्पणियां हैं, तो कृपया उन्हें मेरे साथ माध्यम के माध्यम से साझा करने में संकोच न करें लिंक्डइन | चहचहाना | या ईमेल । जल्द ही फिर मिलेंगे!

![क्या एक लिंक्ड सूची है, वैसे भी? [भाग 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































