2012-06-24 18 views
6

हाल ही में, मुझे पर्ल में एक स्ट्रिंग को रिवर्स करने के लिए एक साक्षात्कार प्रश्न में पूछा गया था। मैंने कोड लिखा और वे चाहते थे कि मैं इसका परीक्षण करने के लिए कुछ उदाहरण स्ट्रिंग देना चाहूंगा। मैंने उन्हें कुछ पात्रों, पात्रों, अमान्य वर्ण इत्यादि के साथ एक स्ट्रिंग जैसे उदाहरण दिए लेकिन उन्होंने यह भी पूछा कि मैं सबसे लंबी स्ट्रिंग का परीक्षण करूंगा। मुझे यकीन नहीं था कि क्या कहना है। इसलिए यह सवाल है। एक पर्ल कोड में परीक्षण करने वाली सबसे लंबी स्ट्रिंग क्या है? यह किस पर निर्भर करता है? मशीन पर मेमोरी? क्या पर्ल स्टैंड पॉइंट से कोई सीमा है?मेरे पास सबसे लंबी स्ट्रिंग क्या हो सकती है?

+0

क्या आपको नौकरी मिल गई? – simbabque

उत्तर

6

मैं यह देखने के लिए देख रहा था कि मुझे सबसे लंबी स्ट्रिंग पर कोई आधिकारिक दस्तावेज मिल सकता है या नहीं। मैंने http://perltutorial.org पर स्ट्रिंग्स के बारे में बात करते हुए पाया:

पर्ल स्ट्रिंग को अक्षरों के अनुक्रम के रूप में परिभाषित करता है। सबसे छोटी स्ट्रिंग में कोई वर्ण या शून्य स्ट्रिंग नहीं है। सबसे लंबी स्ट्रिंग में असीमित वर्ण हो सकते हैं जो केवल आपके कंप्यूटर की उपलब्ध स्मृति तक ही सीमित है।

अगर यह आधिकारिक आप के लिए पर्याप्त है मैं नहीं जानता। अक्सर पूछे जाने वाले प्रश्न या पर्ल्डोक में कुछ देखना अच्छा लगेगा।

वैसे, आधिकारिक तौर पर पर्ल में एक स्ट्रिंग को उल्टा करने के:

my $rev_string = reverse $string; 

इस में पर्ल पूछे जाने वाले प्रश्न # 4 जो स्ट्रिंग उस में सामान से निपटने का एक समूह है। एक स्ट्रिंग को पीछे हटाना प्रश्न यह देखने के लिए एक पुराना चाल साक्षात्कार प्रश्न है कि कोई व्यक्ति अपने आर्केन पर्ल सामान को जानता है या नहीं। निश्चित रूप से लगभग सभी जानते हैं कि reverse एक सरणी को उलट देगा, लेकिन क्या उन्हें यह भी पता है कि यह एक स्ट्रिंग को उलट देगा? नोबिज कुछ प्रकार के जटिल एल्गोरिदम का काम करेगा और साक्षात्कारकर्ता के पास स्मग महसूस करने का कारण होगा और उस व्यक्ति को किराए पर नहीं लेना होगा।

व्यक्तिगत रूप से, अगर मैं किसी से साक्षात्कार कर रहा था, तो मैंने इस सवाल से पूछा, और कोई एक सुरुचिपूर्ण एल्गोरिदम के साथ जगह पर आया और मुझे दिखाया कि यह कैसे छोटे, लंबे और अमान्य पात्रों के साथ काम करेगा, मैं उन्हें किराए पर लेगा। आप हमेशा नई बेवकूफ पर्ल चालें सीख सकते हैं, लेकिन त्वरित-पर-आपके-पैर के प्रकार की सोच कुछ ऐसी चीज है जो खोजना मुश्किल है।

मैंने बहुत समय पहले रिवर्स स्ट्रिंग ट्रिक सीखा जब किसी ने मुझे एक साक्षात्कार में एक ही प्रश्न पूछा। मैंने इसे देखा और इसे एफएक्यू में पाया और महसूस किया कि मैंने इसे गलत किया था। मैं लगभग 20 वर्षों तक पर्ल का उपयोग कर रहा हूं और मैं उस समय के बारे में नहीं सोच सकता जिसे मुझे कभी भी पर्ल स्ट्रिंग को उलटना पड़ा था।

+5

perltutorial.org [अनुशंसित नहीं है] (http://perl-tutorial.org/rejected/), सभी जानकारी संदिग्ध है [द्वारा संघ] (http://enwp.org/Association_fallacy)। SO उत्तरों को आधिकारिक, उच्च गुणवत्ता वाले संसाधनों का हवाला देना चाहिए। – daxim

+0

प्रक्रियाएं अक्सर कंप्यूटर की स्मृति के एक अंश तक पहुंच सकती हैं, इसलिए आप कंप्यूटर की स्मृति से बहुत कम तक सीमित हो सकते हैं। – ikegami

+0

@daxim - मुझे ऊंट बुक में कुछ ऐसा ही याद है, लेकिन इसे नहीं मिला। मुझे उपरोक्त पर पर्लोनक में एक समान बयान मिला, लेकिन वहां कोई संदर्भ नहीं है। हो सकता है कि सही उत्तर होना चाहिए _ शायद आपके पास कभी भी आवश्यकता होगी, इसलिए इसके बारे में चिंता न करें ._। –

5

मूल रूप से, यह आपके प्रोग्राम (यानी, पर्ल) तक पहुंचने वाली स्मृति की मात्रा पर निर्भर करता है। यदि आपके पास 32-बिट मशीन है, तो यह कहीं 4 जीबीबी के नीचे है। यदि आपके पास 64-बिट मशीन है, तो सीमा शायद बड़ी है, और उपलब्ध वर्चुअल मेमोरी पर निर्भर करती है। कोई निश्चित सीमा नहीं है।

+0

ठीक है। तो कोई एक लंबी स्ट्रिंग कैसे बना सकता है या दूसरे शब्दों में, परीक्षण करने के लिए सबसे लंबी स्ट्रिंग संभव बना सकता है? मुझे यकीन नहीं है कि परीक्षण मामलों में से एक के रूप में एक लंबी स्ट्रिंग रखने की भी आवश्यकता है। – user238021

+2

@ user238021: यह * आपके कंप्यूटर को लटका देगा। आपको चेतावनी दी गई है: perl -e 'प्रिंट स्केलर रिवर्स ए .. "z" x999' – jm666

संबंधित मुद्दे