JavaRush /مدونة جافا /Random-AR /أسئلة جافا الصعبة التي يتم طرحها غالبًا في المقابلات

أسئلة جافا الصعبة التي يتم طرحها غالبًا في المقابلات

نشرت في المجموعة
إذا كنت قد استعدت من قبل لمقابلة منصب مبرمج Java أو أجريت أي اختبار (ليس بالضرورة في البرمجة) للحصول على شهادة، فمن المرجح أنك لاحظت بالفعل أن الأسئلة التي يطرحونها محددة للغاية. الكثير منها يجعلك تفكر في بنية اللغة، وبعضها مصمم للمعرفة العميقة. هناك أيضًا تلك التي تشبه الألغاز أو الفروق الدقيقة التي يصعب الشعور بها دون ممارسة. في هذه المقالة، يقدم المطور Saraans Singh العديد من أسئلة Java. مع الإجابات بالطبع. أسئلة جافا الصعبة التي يتم طرحها غالبًا في المقابلات - 11. ماذا يحدث إذا قمت بوضع عبارة return أو System.exit() في كتلة حاول/قبض؟ يعد هذا سؤال "اللحاق بالركب" شائعًا جدًا في Java. الحيلة هي أن العديد من المبرمجين يعتقدون أنه finallyسيتم تنفيذ الكتلة في أي حال. يتحدى هذا السؤال هذا المفهوم عن طريق وضع عبارة returnفي كتلة try/catchأو الاتصال من كتلة try/catchعبارة System.exit (). الإجابة على هذا السؤال الصعب: سيتم تنفيذ الكتلة finallyعندما يتم وضع عبارة returnفي كتلة try/catch، ولن يتم تنفيذها عند استدعائها من كتلة try/catchبيان System.exit (). 2. هل تدعم Java الميراث المتعدد؟ هذا سؤال صعب جدا. كثيرًا ما يقول القائمون على المقابلات: إذا كان بإمكان لغة C++ دعم الميراث المتعدد المباشر، فلماذا لا تستطيع Java ذلك؟ الإجابة أكثر تعقيدًا مما قد تبدو عليه، نظرًا لأن Java تدعم وراثة الأنواع المتعددة، لأن الواجهة الموجودة فيها يمكنها توسيع واجهات أخرى. لكن لغة Java لا تدعم الوراثة المتعددة للتطبيقات. 3. في حالة قيام إحدى الطرق بطرح استثناء NullPointerExceptionفي الفئة الأصل، هل يمكن تجاوزه بالطريقة التي تطرح استثناءً RuntimeException؟ سؤال صعب آخر يتعلق بمفاهيم الحمولة الزائدة والتجاوز. الإجابة: يمكنك طرح استثناء فئة أصل بأمان في طريقة تم تجاوزها NullPointerException – RuntimeException، لكن لا يمكنك فعل الشيء نفسه مع استثناء محدد من النوع Exception. 4. كيف يمكن ضمان وصول Nسلاسل الرسائل إلى Nالموارد دون توقف تام؟ إذا لم تكن جيدًا في كتابة التعليمات البرمجية متعددة الخيوط، فسيكون هذا السؤال صعبًا للغاية بالنسبة لك. قد يكون الأمر صعبًا حتى بالنسبة للمبرمج ذي الخبرة الذي لم يتعامل مع حالات الجمود وظروف السباق. تكمن الحيلة هنا في الترتيب: يمكن منع حالة الجمود عن طريق تحرير الموارد بالترتيب العكسي الذي تم الحصول عليها به. 5. ما الفرق بين الفئات StringBufferوفي StringBuilderلغة جافا؟ سؤال كلاسيكي حول لغة جافا، يعتبره بعض المطورين صعبًا وبسيطًا جدًا بالنسبة للآخرين. تم تقديم الفصل StringBuilderفي JDK 1.5 والفرق الوحيد بينهما هو أن طرق الفصل StringBuffer، على سبيل المثال، length()أو capacity()، append()متزامنة، في حين أن الطرق المقابلة للفئة StringBuilderليست كذلك. وبسبب هذا الاختلاف الأساسي، StringBuilderيكون تسلسل السلسلة أسرع مع StringBuffer. في الواقع، StringBufferلا يُنصح باستخدامه، لأنه في 99٪ من حالات الاستخدام، يتم إجراء تسلسل السلسلة على نفس الموضوع. 6. ما الذي يعود به التعبير 1.0/0.0؟ هل سيطرح استثناءً أم سيتسبب في خطأ في الترجمة؟ سؤال صعب آخر حول الفصل Double. على الرغم من أن مطوري Java على دراية بنوع البيانات البسيط double والفئة Double، إلا أنهم عند إجراء عمليات الفاصلة العائمة، لا يعيرون اهتمامًا كافيًا Double.INFINITYللقواعد التي تحكم العمليات الحسابية المرتبطة بها. الإجابة على هذا السؤال بسيطة: لن يتم طرح أي استثناء ، وسيتم إرجاع القيمة . 7. ماذا يحدث إذا حاولت إدراج كائن رئيسي في كائن رئيسي موجود فيه بالفعل؟ هذا السؤال الصعب هو جزء من سؤال آخر متكرر: كيف يعملون في جافا؟ يعد موضوعًا شائعًا للأسئلة المربكة والصعبة حول لغة جافا. الجواب هو أنه إذا حاولت إعادة إدخال مفتاح في ، فسوف يحل محل المفتاح القديم لأن الفصل لا يسمح بالمفاتيح المكررة. والمفتاح نفسه يعني نفس رمز التجزئة، لذلك سينتهي به الأمر في نفس المكان في مقطع التجزئة. بناءً على مواد من موقع QuoraNaN-0.0ArithmeticExceptionDouble.INFINITYHashMapHashMapHashMapHashMapHashMap
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION