“हैलो दोस्त! इस पोस्ट में हम Core Java और Advanced Java के महत्वपूर्ण इंटरव्यू प्रश्नों और उनके उत्तरों पर चर्चा करेंगे। यह पोस्ट विशेष रूप से उन Computer Science Student के लिए बनाई गई है जो IT या Software कंपनियों में SQL और Database Management System में अपनी समझ को मजबूत बनाना चाहते हैं। यहाँ दिए गए प्रश्न और उत्तर न केवल आपके ज्ञान को बढ़ाएंगे, बल्कि आपको इंटरव्यू में आत्मविश्वास के साथ प्रस्तुत करने में भी मदद करेंगे। तो चलिए, शुरुआत करते हैं और उन सवालों का सामना करने की तैयारी करते हैं जो आपकी Interview सफलता में सहायक बन सकते हैं।”
Java Interview Questions and Answers in Hindi
1. Java क्या है?
- उत्तर: Java एक object-oriented, platform-independent प्रोग्रामिंग भाषा है। इसकी मुख्य विशेषताएँ हैं:
- Simple और Easy to learn
- Platform-independent (Write Once, Run Anywhere)
- Object-oriented
- Secure
- Multi-threaded और Dynamic
2. Java Language में JDK, JVM और JRE क्या हैं?
- उत्तर:
- JDK (Java Development Kit): यह Software Developers के लिए tools का Set है जिसमें JRE और development tools होते हैं।
- JRE (Java Runtime Environment): यह Java application को रन करने के लिए आवश्यक environment है।
- JVM (Java Virtual Machine): यह JRE का हिस्सा है, जो bytecode को machine code में बदलता है और Java application को execute करता है।
3. OOPs (Object-Oriented Programming) की 4 मुख्य विशेषताएँ क्या हैं?
- उत्तर: OOPs की मुख्य विशेषताएँ हैं:
- Abstraction: सिर्फ महत्वपूर्ण details दिखाना और complexity छिपाना।
- Encapsulation: डेटा को एक साथ wrapping करना।
- Inheritance: Parent Class की Properties (Data Type) को Child class में inherit (Call) करना।
- Polymorphism: एक ही नाम के method का अलग-अलग रूप में होना।
4. Constructor क्या है?
- उत्तर: Constructor एक विशेष method है जो object बनाने के समय call होता है। इसका नाम class के नाम के समान होता है और return type नहीं होती। यह object की initial value set करने के लिए use होता है।
5. Overloading और Overriding में क्या अंतर है?
- उत्तर:
- Method Overloading: एक ही नाम के method को अलग-अलग parameters के साथ define करना।
- Method Overriding: Parent class के method को Child class में redefine करना।
6. final कीवर्ड का क्या उपयोग है?
- उत्तर:
final
keyword का उपयोग:- किसी variable को constant बनाने के लिए।
- किसी class को inherit से रोकने के लिए।
8. Java में Exception Handling क्या है?
- उत्तर: Java में errors को handle करने का technique है. जिससे program crash न हो। Exception Handling Keywords हैं: throw,
try
,catch
, औरfinally
.
9. Java में Static keyword क्या है?
- उत्तर:
- Static Variable: यह class variable है और इसका हर instance के लिए एक ही copy होती है।
- Static Method: इस method को class से सीधे, बिना किसी object या instance के, call किया जा सकता है।
- Static Block: यह code block है जो class के load होते ही execute हो जाता है।
10. this और Super keyword क्या है?
- उत्तर:
- this: यह current class के object को refer करता है। इसका उपयोग current Variable Instance या method को refer (like pointer in c) करने के लिए किया जाता है।
- super: यह parent class के object को संदर्भित (refer) करता है। इसका उपयोग parent class के constructor, methods या variables को access करने के लिए किया जाता है।
11. Serialization क्या है?
- उत्तर: Serialization वह process है जिससे object की state को byte stream में convert किया जाता है ताकि उसे save या transfer किया जा सके।
Serializable
interface implement करने पर object को serialize किया जा सकता है।
12. Java में Runtime Polymorphism क्या है?
- उत्तर: Runtime Polymorphism का अर्थ होता है method overriding, जिसमें parent class का method child class में override किया जाता है। यह runtime पर dynamic method dispatch के द्वारा achieve किया जाता है।
13. Wrapper Classes क्या होती हैं?
- उत्तर: Wrapper classes primitive data types को objects में wrap करती हैं। जैसे
int
के लिएInteger
,float
के लिएFloat
, आदि। यह boxing और unboxing के माध्यम से object और primitive types के बीच conversion को आसान बनाती हैं।
14. Java में Keyword (final, finally, finalize) में अंतर है?
- उत्तर:
- final: इसका उपयोग variable, method (pre-define, User define) या class को final बनाने के लिए किया जाता है।
- finally: यह block exception handling में प्रयोग होता है और यह हमेशा execute होता है, चाहे exception हो या न हो।
- finalize: यह method garbage collection के समय JVM द्वारा call किया जाता है।
15. Java में Multithreading क्या है?
- उत्तर: Multithreading एक technique है जिससे एक program में multiple threads (lightweight processes) run कर सकते हैं। इससे resources का efficient उपयोग होता है और program responsiveness बढ़ जाती है।
16. Java में Synchronized keyword क्या है?
- उत्तर:
synchronized
keyword का उपयोग threads को resources को एक समय में access करने से रोकने के लिए किया जाता है। यह race condition से बचने के लिए उपयोग किया जाता है। इसे किसी भी method या block के साथ Use किया जा सकता है।
17. Java में Collection Framework क्या है?
- उत्तर: Collection Framework एक library है जो data structure और algorithms को manage करने के लिए classes और interfaces का set है। इसमें
List
,Set
,Map
, आदि जैसी interfaces होती हैं
18. ArrayList और LinkedList में क्या अंतर है?
- उत्तर:
- ArrayList: यह random data access में fast होती है लेकिन data insertion और data deletion में slow होती है।
- LinkedList: ये ArrayList से उल्टा हैं, यह sequential / linear access के लिए अच्छा है और इसमें insertion और deletion fast होती है लेकिन random access में very slow होती है।
19. Java में Lambda Expression क्या है?
- उत्तर: Lambda expression एक short syntax है functional interface को implement करने के लिए। यह Java में functional programming की सुविधा देता है और code को concise बनाता है।
20. Functional Interface क्या है?
- उत्तर: Functional Interface वह interface है जिसमें सिर्फ एक abstract method होता है। इसका उपयोग lambda expressions के साथ किया जाता है। उदाहरण के लिए,
Runnable
औरCallable
functional interfaces हैं।
21. HashMap और Hashtable में क्या अंतर है?
- उत्तर:
- HashMap: यह unsynchronized है और NULL values (‘\0’) को accept करता है।
- Hashtable: यह synchronized है और NULL values (‘\0’) को accept नहीं करता।
22. Java में Enum क्या है?
- उत्तर: Enum एक special class है जो constants का set represent करता है। इसे enum keyword से define किया जाता है और इसमें predefined constants होते हैं।
23. Java में Volatile keyword क्या है?
- उत्तर:
volatile
keyword का उपयोग variable को CPU cache की बजाय main memory से directly access करने के लिए किया जाता है। इसका उपयोग concurrency programming में होता है।
24. Java में Stream API क्या है?
- उत्तर: Stream API एक sequence of objects को functional-style operations जैसे filter, map, reduce आदि पर लागू करने का तरीका है। यह Java 8 में introduce किया गया था।
25. Java में WeakHashMap क्या है?
- उत्तर: WeakHashMap एक special type का Map है, जिसमें keys पर weak references होते हैं। Garbage collection के दौरान जब कोई key-reference नहीं होता, तो वह automatically garbage collector द्वारा remove कर दिया जाता है।
26. Java में Reflection API क्या है?
- उत्तर: Reflection API का उपयोग classes, methods, और fields की जानकारी प्राप्त करने के लिए किया जाता है, भले ही वो runtime पर accessible न हो। इसका उपयोग framework development, testing, में किया जाता है।
27. Java में Stream के विभिन्न प्रकार क्या हैं?
- उत्तर:
- Byte Stream: ये byte data को input और output करने के लिए होती हैं। जैसे कि
FileInputStream
,FileOutputStream
। - Character Stream: ये character data को input और output करने के लिए होती हैं। जैसे कि
FileReader
,FileWriter
।
- Byte Stream: ये byte data को input और output करने के लिए होती हैं। जैसे कि
28. Java में Singleton Class क्या है?
- उत्तर: Singleton Class एक ऐसी class होती है जिसका केवल एक instance ही हो सकता है। इसे implement करने के लिए constructor को private declare किया जाता है.
29. Java में ClassLoader क्या है?
- उत्तर: ClassLoader एक subsystem है जो Java में classes को runtime में load करता है। Java में मुख्य तीन प्रकार के ClassLoaders होते हैं:
- Bootstrap ClassLoader
- Extension ClassLoader
- System/Application ClassLoader
30. Java में Volatile Variable क्या है?
- उत्तर:
- Volatile: यह keyword variable के value को main memory से fetch करने को सुनिश्चित करता है। परंतु यह atomic operations की guarantee नहीं देता।
31. Java में Deadlock क्या है?
- उत्तर: Deadlock वह स्थिति होती है जिसमें दो या अधिक threads resources के लिए एक-दूसरे पर dependent होते हैं और execution रुक जाती है। इसे रोकने के लिए:
- Lock ordering का ध्यान रखना चाहिए।
- Timeout का उपयोग करना चाहिए।
tryLock()
method का उपयोग कर सकते हैं।
32. Java में Annotations क्या हैं और इनके types क्या हैं?
- उत्तर: Annotations metadata प्रदान करने का एक तरीका है। Java में मुख्य रूप से तीन प्रकार के annotations होते हैं:
- Marker Annotations: जिनका कोई method नहीं होता, जैसे
@Override
- Single-Value Annotations: जिनमें एक method होता है, जैसे
@SuppressWarnings
- Full Annotations: जिनमें multiple methods होते हैं, जैसे
@RequestMapping
- Marker Annotations: जिनका कोई method नहीं होता, जैसे
33. Java में Functional Programming के क्या फायदे हैं?
- उत्तर: Functional programming code को concise और readable बनाती है, और इसके साथ immutability और thread-safety जैसे फायदे मिलते हैं। यह debugging और testing को आसान बनाती है और parallel processing को support करती है।
34. Java में finalize () method क्या है?
- उत्तर:
finalize()
method garbage collection से पहले object के cleanup के लिए call होता है। परंतु, इसे generally discourage किया जाता है क्योंकि यह unpredictable behavior दे सकता है और JVM इस method को ignore भी कर सकता है।
35. Java में Method Handles क्या होते हैं?
- उत्तर: Method Handles एक प्रकार के low-level construct हैं जो Java में methods, constructors और fields को dynamically access करने में सहायता करते हैं। ये
java.lang.invoke
package में पाए जाते हैं और Reflection की तुलना में अधिक performant होते हैं।
36. Java में Checked और Unchecked Exceptions में क्या अंतर है?
- उत्तर:
- Checked Exception: ये compile-time पर check की जाती हैं और इन्हें handle करना अनिवार्य होता है, जैसे
IOException
,SQLException
। - Unchecked Exception: ये runtime पर check होती हैं और इन्हें handle करना अनिवार्य नहीं है, जैसे
NullPointerException
,ArrayIndexOutOfBoundsException
।
- Checked Exception: ये compile-time पर check की जाती हैं और इन्हें handle करना अनिवार्य होता है, जैसे
37. Java में WeakReference और SoftReference क्या हैं?
- उत्तर:
- WeakReference: जब Garbage Collector को memory की ज़रूरत होती है, तो यह references को clear कर देता है।
- SoftReference: यह references memory के full होने पर ही clear होते हैं, यानी जब system को और memory की आवश्यकता हो।
38. Java में Stream Operations क्या होते हैं?
- उत्तर:
- Intermediate Operations: जैसे कि
filter
,map
, जो lazy होते हैं और pipeline में apply होते हैं। - Terminal Operations: जैसे कि
collect
,forEach
, जो result को generate करते हैं और stream को consume करते हैं।
- Intermediate Operations: जैसे कि
39. Java में Fluent Interface क्या है?
- उत्तर: Fluent Interface एक design pattern है जो method chaining की अनुमति देता है, जिससे code readable और expressive बनता है। उदाहरण के लिए StringBuilder class में method chaining को implement किया गया है।
40. Java में Enum का क्या है?
- उत्तर: Enum एक special class होती है जो constants का collection होता है। इसका उपयोग limited और fixed set of constants को define करने के लिए किया जाता है, जैसे days of the week, directions, आदि। यह type safety और readability को बढ़ाता है।
41. Java में Virtual Thread क्या है?
- उत्तर: Java Virtual Threads lightweight threads होते हैं जिन्हें Project Loom में introduce किया गया। ये traditional threads से अधिक lightweight होते हैं और high scalability प्रदान करते हैं। ये concurrent tasks को efficiently handle कर सकते हैं।
42. Java में Access Modifiers क्या होते हैं?
- उत्तर:
- private: केवल उसी class में accessible
- default: केवल उसी package में accessible
- protected: उसी package और subclasses में accessible
- public: सभी classes में accessible