
सामान्य विवरण
यह पुस्तक टेस्ट टास्क्स और इंटरव्यू प्रश्नों पर केंद्रित है, जो प्रोग्रामिंग के सामान्य विषयों (जैसे डेटा टाइप्स, अल्गोरिदम, पैटर्न्स आदि) को कवर करते हुए ज्ञान के अंतराल को भरकर इंटरव्यू की तैयारी में मदद करती है (हालांकि सुरक्षा विषय पर लगभग कुछ नहीं है)। पुस्तक में 17 अध्याय हैं और 350 से अधिक पृष्ठ हैं। इसमें लगभग कोई चित्र नहीं हैं, हालांकि ग्राफ्स जैसे विषयों के लिए दृश्य प्रस्तुति उपयोगी होती।
अवलोकन
पहले लगभग 50 पृष्ठ (2 अध्याय) पूरी तरह सैद्धांतिक हैं, जिनमें इस तरह का बहुत सारा टेक्स्ट है: अपना क्षेत्र तय करें, नौकरी बाजार का विश्लेषण करें, अपने कौशल निर्धारित करें, ऑनलाइन उपस्थिति और पोर्टफोलियो पर काम करें। दूसरा अध्याय पूरी तरह से आवेदन प्रक्रिया और नौकरी खोज पर समर्पित है।
तीसरे अध्याय से प्रोग्रामिंग टास्क्स शुरू होते हैं, मुख्य रूप से अध्याय के अंत में। इस अध्याय में अल्गोरिदम और अल्गोरिदमिक कॉम्प्लेक्सिटी (बिग-ओ नोटेशन) विशेष रूप से उल्लेखनीय है - जिसे मैंने अपने पिछले एक विश्लेषण में विस्तार से समझाया था।
इसके बाद तीन अध्याय डेटा स्ट्रक्चर्स पर हैं: लिंक्ड लिस्ट्स (4वां अध्याय), ट्रीज़ और ग्राफ्स (5वां अध्याय), ऐरे और स्ट्रिंग्स (6वां अध्याय)। शायद ये पुस्तक के सबसे उपयोगी अध्याय हैं। बहुत सारे उदाहरण हैं (मुख्य रूप से C++ में, हालांकि स्ट्रिंग्स और ऐरे अध्याय में Java, JavaScript, C# भी हैं)। मूल अवधारणाएं अच्छी तरह समझाई गई हैं। उदाहरण के लिए, लिस्ट्स के प्रकार (सिंगली/डबली लिंक्ड, सर्कुलर), ऑपरेशन्स (ट्रैवर्सल, इंसर्शन, डिलीशन) और प्रैक्टिकल टास्क्स। यही बात ट्रीज़, ग्राफ्स, ऐरे और स्ट्रिंग्स पर लागू होती है।
इसके बाद रिकर्सन और रिकर्सन टास्क्स हैं। यहाँ विशेष जोड़ने को नहीं है।
रिकर्सन के बाद सॉर्टिंग सेक्शन है। यह सेक्शन दो कारणों से उपयोगी है: सॉर्टिंग प्रोग्रामिंग में हर जगह उपयोग होती है, और यह इंटरव्यू में अक्सर पूछा जाने वाला टॉपिक है। सिलेक्शन सॉर्ट, इंसर्शन सॉर्ट, क्विकसॉर्ट, मर्ज सॉर्ट - सभी को कवर किया गया है।
इसके बाद पैरेलल प्रोग्रामिंग सेक्शन है। यह सभी संभावित तरीकों को कवर नहीं करता, न ही Go या Kotlin जैसी भाषाओं के विशिष्ट इम्प्लीमेंटेशन्स को। लेकिन बेसिक कॉन्सेप्ट्स जैसे थ्रेड्स, सेमाफोर्स, डेडलॉक्स अच्छी तरह समझाए गए हैं।
OOP सेक्शन सिर्फ 10 पेज का है। इतने कम पेजों में OOP को कॉन्सेप्चुअली भी ठीक से नहीं समझाया जा सकता। कंस्ट्रक्टर्स, डिस्ट्रक्टर्स, इनहेरिटेंस, पॉलीमॉर्फिज्म, वर्चुअल मेथड्स, क्लासेस और ऑब्जेक्ट्स - बस इतना ही कवर हुआ है।
पैटर्न्स सेक्शन भी बहुत छोटा है। कुछ बेसिक पैटर्न्स और उनके ग्रुप्स (क्रिएशनल, बिहेवियरल, स्ट्रक्चरल) को ही लिस्ट किया गया है।
डेटाबेस चैप्टर भी बहुत छोटा है। मेरी राय में यह सबसे कमजोर सेक्शन्स में से एक है।
ग्राफिक्स और बिट मैनिपुलेशन सेक्शन दिलचस्प है, हालांकि मैंने इसमें कुछ नया नहीं सीखा।
इसके बाद दो पज़ल सेक्शन्स हैं: पहला लॉजिक पज़ल्स ("कौन सा बल्ब किस स्विच से जुड़ा है"), दूसरा ग्राफिकल पज़ल्स (ग्राफिक्स सेक्शन से अलग)।
अंतिम से पहला अध्याय जनरल टास्क्स पर है - टेक्निकल और लॉजिकल प्रश्न, आर्किटेक्चर, एन्क्रिप्शन, सुरक्षा (हालांकि सुरक्षा पर बहुत कम)।
पुस्तक का अंत सॉफ्ट स्किल्स, सैलरी नेगोशिएशन और काउंटर-क्वेश्चन्स जैसे विषयों से होता है।
मेरी राय
यह पुस्तक मुख्य रूप से IT में नए लोगों के लिए उपयोगी है। इसमें नौकरी खोजने के तरीके और इंटरव्यू तैयारी (अल्गोरिदम कॉम्प्लेक्सिटी, डेटा स्ट्रक्चर्स, OOP, पैटर्न्स, डेटाबेस, बिट ऑपरेशन्स आदि) के विषय शामिल हैं।