यह Google साक्षात्कार प्रश्नों में से एक था।Google साक्षात्कार प्रश्न
क्या संभावित समस्या है अगर हैश तालिका 30 GB से अधिक (बुरा हैश फंक्शन जैसी समस्याओं पर ध्यान न दें)
मैं इसे नहीं पता था कि बढ़ता है। संतोषजनक उत्तर क्या हो सकता है?
धन्यवाद
यह Google साक्षात्कार प्रश्नों में से एक था।Google साक्षात्कार प्रश्न
क्या संभावित समस्या है अगर हैश तालिका 30 GB से अधिक (बुरा हैश फंक्शन जैसी समस्याओं पर ध्यान न दें)
मैं इसे नहीं पता था कि बढ़ता है। संतोषजनक उत्तर क्या हो सकता है?
धन्यवाद
कुछ समस्याओं:
हैश टक्कर क्यों अतिरिक्त मेमोरी का कारण बनती है? –
और मुझे दूसरा भी नहीं मिला है। अतिरिक्त मेमोरी की लागत कैसे हो सकती है? –
हैश टकराव क्यों समस्या होगी? आम तौर पर, अक्सर हैश टकराव एक खराब हैश फ़ंक्शन का परिणाम होता है, जो समस्या स्पष्ट रूप से अनदेखा करने के लिए कहती है। कल्पना करें कि 30 जीबी हैश टेबल में वस्तुओं के इस विशेष सेट के लिए हैश फ़ंक्शन प्रत्येक को एक अलग मूल्य पर रखा गया था। 30 जीबीबी 35-बिट पूर्णांक द्वारा एड्रेसेबल है, इसलिए लगाई गई आवश्यकता केवल प्रत्येक वस्तु के 5 बाइट अद्वितीय हैं। यह उचित लगता है। –
मुझे लगता है कि साक्षात्कारकर्ता Distributed Hash table की तर्ज पर कुछ उम्मीद कर रहा था, (कम से कम वर्तमान 64-बिट दुनिया में) के बाद से एक 30GB हैश तालिका एक मशीन पर संग्रहीत नहीं किया जा सकता है; मेरे व्यक्तिगत अनुभव से, कुछ Google क्यू वितरित कंप्यूटिंग, मानचित्र-कमी इत्यादि के आसपास घूमते हैं,
30 जीबीबी 64-बिट मशीन पर निश्चित रूप से संबोधित करने योग्य है। सिद्धांत रूप में, यह 32-बिट मशीन पर भी संबोधित करने योग्य है यदि ऑपरेटिंग सिस्टम विंडोज '[पता विंडिंग एक्सटेंशंस एपीआई] (https://secure.wikimedia.org/wikipedia/en/wiki/Address_Windowing_Extensions) जैसे कुछ का समर्थन करता है। वितरित एचटी के लिए –
+1 – Jack
उत्तर आंशिक रूप से इस बात पर निर्भर करता है कि वे क्लासिक हैशटेबल कार्यान्वयन (जैसे जावा में हैशटेबल/हैश मैप) के बारे में बात कर रहे हैं या कुछ और परिष्कृत। अंत में, आज के मानकों से एक ही मशीन/वीएम के लिए 30 जीबी मेमोरी अभी भी काफी बड़ी है।
तो क्या नीचे हो रहा है के बारे में सोचना:
निम्नलिखित में से कौन समस्याओं को जन्म देता द्वारा निरीक्षण किया जाना करने की जरूरत है यहां तक कि आज के ऑपरेटिंग सिस्टम जीबी के
मैं अन्य पोस्टर्स से सहमत हूं कि Google समाधान के रूप में वितरित की तलाश में है। लेकिन मुझे लगता है कि दिल में, एक साधारण हैशटेबल एक बिंदु से परे स्केलिंग बंद कर देता है। इसके बाद के संस्करण में,
यह निर्भर करता है। क्या आपके पास 30 जीबी रैम है? यह पहला प्रश्न होगा जो मैंने पूछा * उन्हें * –
फिर से खोलने के लिए वोटिंग: जबकि प्रश्न शीर्षक गैर-विशिष्ट है, इस बारे में चर्चा कि हैशटेबल स्केल और उपयुक्त विकल्प प्रोग्रामिंग के लिए बहुत प्रासंगिक हैं। शायद पोस्टर बड़े पैमाने पर हैशटेबल्स के साथ क्या होता है इस पर ध्यान केंद्रित करने के लिए प्रश्न को पुन: स्थापित कर सकता है? –
रिकॉर्ड के लिए, मैंने इसे प्रोग्रामर.स्टैकएक्सchange.com पर ले जाने के लिए वोट दिया, लेकिन मैं इसे बंद नहीं करना चाहता था। फिर से खोलने के लिए वोट दिया। –