منذ يوم
أهلا بك عزيزي المتابع لموقع (journey for learn) نقدم دورات بكوبونات متاحة لاول 1000 تسجيل مجاني فقط وكوبونات اخري لفترة محدودة فاذا كنت تريد ان تحصل علي كل الكورسات علي موقعنا وان تكون اول المسجلين في الكورسات المجانية قم بتسجيل الدخول أوقم بالدخول علي وسائل التواصل الاجتماعي وخصوصا التليجرام نوضح الوصف المختصر والطويل للدورات لكي تعرف الدروس التي سوف تتعلمها بسهولة ويسر :
تغطية تفصيلية لمجال الاختبار تم تنظيم مورد الاختبار التدريبي هذا بدقة حول المجالات الهندسية الأساسية التي تم اختبارها في المقابلات الهندسية لجافا على مستوى المؤسسة.- واجهة القائمة (20%): مقايضات الأداء، وآليات تغيير حجم المصفوفة الداخلية، واستراتيجيات ربط العقدة عبر ArrayList، وLinkedList، وVector، وStack، والأساليب الهيكلية للقائمة الأساسية.
- تعيين الواجهة (15%): فرض التفرد، وحل تصادم التجزئة، والترتيب المفرز. الميكانيكا في HashSet وTreeSet وLinkedHashSet، جنبًا إلى جنب مع عمليات Set الجبر الأساسية.
- واجهة الخريطة (20%): المجموعات الداخلية، وعتبات الشجرة، وصيغ التجزئة، وعوامل التحميل، والاختلافات المعمارية عبر HashMap، وTreeMap، وLinkedHashMap، وHashtable.
- قائمة الانتظار وDequeue (10%): بنيات FIFO، وهياكل الكومة ذات الأولوية، وتنفيذ عقود حظر الخيوط داخل متغيرات Queue وDequeue وPriorityQueue وBlockingQueue.
- Iterator وListIterator (5%): اجتياز العناصر التسلسلية، ومعلمات ثنائية الاتجاه، والتعديلات أثناء الحلقات، والحالات السلوكية البنيوية السريعة الفشل مقابل الحالات السلوكية الآمنة من الفشل.
- المجموعات المتزامنة (10%): قفل مستوى المقطع/الحاوية، ونسخ التكرار الآمنة للخيط، وتعديلات الخريطة الذرية، والاختناقات التشغيلية عبر ConcurrentHashMap وCopyOnWriteArrayList ومجموعات الغلاف المتزامنة.
- التسلسل الهرمي لإطار عمل المجموعة (10%): أنماط التصميم الهيكلي، وعقود واجهة المجموعة والواجهة القابلة للتكرار، وقواعد شجرة وراثة إطار العمل الشاملة.
- مفاهيم أساسية متنوعة (10%): آليات النسخ (النسخ الضحل مقابل النسخ العميق)، وسلوكيات المترجم مثل إخفاء الطريقة، ووضع علامات الكتابة باستخدام واجهة Marker (على سبيل المثال، قابلة للتسلسل وقابلة للاستنساخ).
- أ) تقوم المجموعة الفردية تلقائيًا بتحويل تنسيق التخزين الداخلي الخاص بها من بنية قائمة مرتبطة بشكل فردي إلى تخطيط شجرة متوازن باللونين الأحمر والأسود.
- ب) تؤدي الخريطة بأكملها إلى تشغيل تسلسل تغيير الحجم في حالات الطوارئ، مما يؤدي إلى مضاعفة تخطيط صفيف المجموعة دون تغيير بنية عقدة القائمة المرتبطة.
- ج) تطرح الخريطة ConcurrentModificationException بسبب حالة تحميل هيكلية غير مستقرة.
- د) يستبدل الإدخال المتصادم أقدم عنصر في تلك المجموعة المحددة لمنع تجاوز سعة التخزين الداخلي.
- هـ) تنتقل بنية خريطة التجزئة تلقائيًا إلى تخطيط Hashtable متزامن لضمان استمرارية البيانات.
- F) تظل بنية المجموعة قائمة مرتبطة بشكل فردي حتى يتجاوز حجم الخريطة الإجمالي الحد الأقصى للسعة الافتراضية وهو 16.
- الإجابة الصحيحة: ب
- لماذا هي صحيحة: في Java 8 والإصدارات الأحدث، تنتقل مجموعة HashMap من قائمة مرتبطة إلى شجرة حمراء-سوداء (شجرة) عندما يصل الدلو إلى حد 8 عناصر (TREEIFY_THRESHOLD). ومع ذلك، يتطلب هذا الانتقال أن تكون سعة الخريطة الإجمالية 64 على الأقل (MIN_TREEIFY_CAPACITY). نظرًا لأن سعة الخريطة في هذا السيناريو هي 32 فقط، ستختار الخريطة تغيير حجم نفسها عن طريق مضاعفة حجم مجموعة المجموعة الخاصة بها بدلاً من تحويل المجموعة إلى شجرة.
- لماذا تكون الخيارات البديلة غير صحيحة:
- الخيار أ غير صحيح: تم تخطي التشعب هنا لأن سعة الخريطة لم تصل بعد إلى الحد الأدنى المطلوب وهو 64 مجموعة.
- الخيار C غير صحيح: تغيير الحجم الهيكلي هو ميزة وقت تشغيل قياسية؛ ولا يطرح استثناءات هيكلية أو تعديلية.
- الخيار D غير صحيح: لا تقوم HashMaps بإسقاط العناصر القديمة أثناء العمليات القياسية؛ يعتبر هذا السلوك نموذجيًا لهياكل ذاكرة التخزين المؤقت المتخصصة مثل خرائط الإخلاء الأقل استخدامًا مؤخرًا (LRU).
- الخيار E غير صحيح: لا تقوم HashMap أبدًا بتبديل نوع فئتها أو بنيتها إلى جدول Hashtable القديم المتزامن في وقت التشغيل.
- الخيار F غير صحيح: يتم تغيير بنية المجموعة من خلال تغيير الحجم لأن 8 عناصر في مجموعة واحدة تشير إلى مستوى عالٍ من كثافة الاصطدام.
- أ) يقرأ مكرر التتبع العنصر المضاف حديثًا على الفور دون إلقاء خطأ.
- ب) تتحول المجموعة إلى وضع آمن من الفشل، واستنساخ المخزن المؤقت للصفيف الخاص به لمنع أخطاء قراءة البيانات.
- ج) يرمي المكرر ConcurrentModificationException عند الاستدعاء التالي للطريقة التالية ().
- د) تم حظر مؤشر الترابط A حتى يقوم مؤشر الترابط B بتحرير القفل التشغيلي الخاص به على مثيل قائمة الدعم.
- هـ) ينتهي الجهاز الظاهري لوقت التشغيل فورًا مع حدوث كتلة خطأ فادحة في الذاكرة.
- F) يتم الاحتفاظ بالإدخال المضاف بواسطة مؤشر الترابط B في مخزن مؤقت مؤقت لذاكرة التخزين المؤقت حتى تكتمل حلقة التكرار بشكل نظيف.
- الإجابة الصحيحة: C
- لماذا هو صحيح: المكرر القياسي لقائمة ArrayList هو صراحة فشل سريع. إنه يتتبع عداد التعديل الهيكلي المسمى modCount. إذا قام أي مؤشر ترابط بتغيير بنية القائمة (عن طريق إضافة عناصر أو إزالتها أو تحديثها) أثناء تكرار المكرر بشكل نشط، يكتشف المكرر تغييرًا في modCount المتوقع ويطرح على الفور ConcurrentModificationException.
- لماذا تكون الخيارات البديلة غير صحيحة:
- الخيار أ غير صحيح: لن يسمح المكرر سريع الفشل بإجراء التعديلات الهيكلية دون عقاب أثناء التكرار التكراري المباشر.
- الخيار ب غير صحيح: لا يمكن لـ ArrayList تحويل نفسه إلى نظام آمن من الفشل في وقت التشغيل؛ ستحتاج إلى أداة مساعدة متزامنة مثل CopyOnWriteArrayList لهذا السلوك.
- الخيار D غير صحيح: ArrayList غير متزامن؛ لا يحتوي على أقفال داخلية لمنع سلاسل المحادثات المنافسة، مما يؤدي إلى حالات السباق والاستثناءات.
- الخيار E غير صحيح: يؤدي عدم التطابق الهيكلي هذا إلى حدوث استثناء قياسي في وقت التشغيل، وليس تعطلًا فادحًا لذاكرة الجهاز الظاهري.
- الخيار F غير صحيح: لا تحتوي القوائم غير المتزامنة على ذاكرات تخزين مؤقت مرحلية أو مناطق تخزين مؤقتة لعمليات الكتابة المتزامنة.
- أ) java.util.HashSet
- ب) java.util.TreeSet
- ج) java.util.LinkedHashSet
- د) java.util.PriorityQueue
- E) java.util.Vector
- F) java.util.ConcurrentHashMap
- الإجابة الصحيحة: C
- لماذا هي صحيحة: تستخدم LinkedHashSet مزيجًا من جدول التجزئة وقائمة مرتبطة بشكل مزدوج تعمل من خلال عناصرها. تسمح هذه البنية المزدوجة بالحفاظ على مزايا أداء المجموعة (ضمان التفرد المطلق للعنصر) مع الحفاظ على ترتيب إدراج يمكن التنبؤ به للاجتياز.
- لماذا تكون الخيارات البديلة غير صحيحة:
- الخيار أ غير صحيح: لا توفر مجموعة HashSet القياسية أي ضمانات فيما يتعلق بترتيب عناصرها؛ يمكن أن يتغير تسلسل التتبع بمرور الوقت مع تغيير حجم المجموعات الجديدة.
- الخيار B غير صحيح: تقوم TreeSet بفرز العناصر باستخدام ترتيبها الطبيعي أو مقارنة مخصصة، بدلاً من الحفاظ على تسلسل الإدراج الأولي.
- الخيار D غير صحيح: PriorityQueue هي بنية قائمة انتظار تسمح بالتكرارات ومعالجة العناصر استنادًا إلى قواعد الأولوية المخصصة، بدلاً من تتبع ترتيب الإدراج.
- الخيار E غير صحيح: يحافظ Vector على ترتيب الإدراج ولكنه يسمح بالإدخالات المكررة، الفشل في متطلبات إلغاء البيانات المكررة.
- الخيار F غير صحيح: ConcurrentHashMap عبارة عن بنية خريطة غير مرتبة وليست تنفيذ مجموعة متميز.
- مرحبًا بك في اختبارات أسئلة المقابلة لمساعدتك في الاستعداد لأسئلة المقابلة الخاصة بمجموعات Java.
- يمكنك إعادة إجراء الاختبارات عدة مرات كما تريد
- هذا سؤال أصلي ضخم البنك
- تحصل على الدعم من المدربين إذا كانت لديك أسئلة
- يحتوي كل سؤال على شرح تفصيلي
- متوافق مع الهاتف المحمول مع تطبيق Udemy
ما هي المتطلبات الأساسية لدخول الدورة والتسجيل فيها على موقعنا؟ رحلة التعلم:
(احصل على الدورة للدخول إلى الموقع والتسجيل)
يجب أن يكون لديك بريد إلكتروني (حساب بريد) تتذكره لنفسك وأيضًا يجب أن تتذكر كلمة مرور البريد الإلكتروني الذي ستسجل به ، وإذا لم يكن لديك حساب بريد إلكتروني ، فمن الأفضل إنشاء حساب (Gmail)
الدورات المقترحة
0 تعليقات
تسجيل دخول