JavaRush /مدونة جافا /Random-AR /المستوى 36. إجابات لأسئلة المقابلة حول موضوع المستوى
lichMax
مستوى
Санкт-Петербург

المستوى 36. إجابات لأسئلة المقابلة حول موضوع المستوى

نشرت في المجموعة
مرة أخرى، بحثت في كل شيء ولم أجد أي إجابات. حسنًا. سأقوم بنشر مشاركاتي، على الرغم من أنني كتبتها لنفسي فقط، وباختصار إذا أمكن. ولكن أي شيء أفضل من لا شيء. لذلك كانت هناك الأسئلة التالية: المستوى 36.  إجابات على أسئلة المقابلة على المستوى - موضوع واحدأسئلة للمقابلة:
  1. ما هو MVC ؟
  2. ما هي DAO و DTO ؟
  3. ما هو بوجو ؟
  4. ما هو الكيان ؟
  5. ما هي مجموعات القائمة هل تعرف؟
  6. ما مجموعات مجموعات هل تعرف؟
  7. ما هي الخريطة ، وكيف تختلف عن " القاموس
  8. ما هي قائمة الانتظار و Dequeue ؟
  9. ما هي الفئات التي تطبق واجهة قائمة الانتظار التي تعرفها؟
  10. ما هي الشجرة ؟
والآن إجاباتي:
  1. MVC هو نمط تصميم تطبيق ينقسم فيه التطبيق إلى ثلاثة أجزاء منفصلة: النموذج والعرض ووحدة التحكم. يوفر النموذج البيانات ويستجيب لأوامر وحدة التحكم عن طريق تغيير حالته. يكون العرض مسؤولاً عن عرض بيانات النموذج للمستخدم والاستجابة للتغيرات في النموذج. وتقوم وحدة التحكم بتفسير تصرفات المستخدم، وإخطار النموذج بالحاجة إلى التغييرات. وبالتالي، فإن كل مكون من مكونات هذه الدائرة يقترن بشكل غير محكم مع المكونات الأخرى، وبالتالي تحقيق مرونة البرنامج. في أغلب الأحيان، يتم تضمين كل منطق الأعمال في النموذج، على الرغم من أنه في بعض الأحيان يتم تضمينه أيضًا في وحدة التحكم. في الحالة الأولى، يسمى النموذج رقيقًا، وفي الأخير - سميكًا.

  2. DAO (كائن الوصول إلى البيانات) هو كائن مهمته الرئيسية هي حفظ البيانات في قاعدة البيانات، وكذلك استرجاعها منها. DTO (كائن نقل البيانات) هو كائن مصمم لنقل البيانات. ولذلك، فإن مهمتها الرئيسية هي تخزين هذه البيانات. لا يحتوي على أي منطق. بالإضافة إلى ذلك، يجب أن يكون قابلاً للتسلسل، نظرًا لأن نقل الكائنات يحدث عادةً باستخدام التسلسل وإلغاء التسلسل.

  3. يرمز POJO إلى "Old Style Java Object". وهي تتناقض مع كائنات EJB. تتبع الأخيرة اتفاقية خاصة وعادة ما تكون مرتبطة بشكل صارم بإطار عمل مؤسسي محدد (على سبيل المثال، يجب أن يكون لديهم منشئ عام بدون معلمات، ويجب أن يكون لديهم حروف ومحددات للحقول، ويجب أن تكون قابلة للتسلسل، وما إلى ذلك). وبالتالي فإن POJO هي فئة عادية لا ترث من أي فئات خاصة ولا تنفذ أي مكتبات خاصة. عادةً لا يقوم POJO بأي شيء خاص ويحتوي فقط على الحالة.

  4. Entity Bean — это бин, цель которого хранить некоторые данные. В логику такого бина встроен механизм сохранения себя и своих полей в базу данных. Такой an object может быть уничтожен, а потом воссоздан из базы заново. Но кроме хранения данных у него нет ниHowой логики. А бин в свою очередь — это особый класс, которые должен выполнять следующие правила:

    • Класс должен иметь конструктор без параметров, с модификатором доступа public. Такой конструктор позволяет инструментам создать an object без дополнительных сложностей с параметрами.
    • Свойства класса должны быть доступны через get, set и другие методы (так называемые методы доступа), которые должны подчиняться стандартному соглашению об именах. Это легко позволяет инструментам автоматически определять и обновлять содержание bean’ов. Многие инструменты даже имеют специализированные редакторы для различных типов свойств.
    • Класс должен быть сериализуем. Это даёт возможность надёжно сохранять, хранить и восстанавливать состояние bean независимым от платформы и виртуальной машины способом.
    • Класс должен иметь переопределенные методы equals(), hashCode() и toString().
  5. Все коллекции-списки реализуют интерфейс List<E> и наследуются от абстрактного класса AbstractList<E>. Среди них можно выделить ArrayList<E> и LinkedList<E7gt;. ArrayList7lt;E> — это список, основаный на массиве, а LinkedList<E> — это классический двусвязный список.

  6. Коллекции-множества в Java реализуют интерфейс Set<E> и наследуются от AbstractSet<E>. Множества — это такие наборы данных, в которых все элементы уникальны. Среди них в Java есть HashSet, LinkedHashSet и TreeSet. Первая коллекция хранит свои an objectы на основе хеш-codeов. Вторая — это модифицированная первая, в ней элементы ещё к тому же располагаются в связном списке, поэтому они все расположены в порядке добавления. Третья коллекция обеспечивает сортировку своих элементов.

  7. Map — это вид коллекций, хранящих свои элементы в виде пар "ключ-значения". Причём все ключи должны быть уникальными. Среди реализаций есть HashMap и TreeMap. Первая реализация хранит элементы с использованием хэш-codeов. Вторая - хранит элементы в отсортированном по ключу порядке.

  8. قائمة الانتظار هي بنية بيانات تعمل على أساس الوارد أولاً يخرج أولاً. أي أنه تتم إضافة العناصر إلى قائمة الانتظار من أحد الطرفين وإزالتها من الطرف الآخر. Deque عبارة عن قائمة انتظار ذات اتجاهين. في قائمة الانتظار هذه، يمكن إضافة عناصر إلى البداية والنهاية، ويمكنك أيضًا أخذ عناصر من بداية قائمة الانتظار ونهايتها. وبناءً على ذلك، هناك طرق تسمح لك بإضافة عنصر (هذه هي طرق add(e) وoffer(e))، وهناك طرق تسمح لك بإزالة العنصر من قائمة الانتظار (هذه طرق مثل Remove( ) والاستطلاع (). بالإضافة إلى ذلك، هناك طرق تسمح لك ببساطة بالحصول على عنصر من قائمة الانتظار دون إزالته من هناك (هذه هي أساليب element() و peek()). تحتوي واجهة Deque أيضًا على طرق لإضافة عناصر إلى بداية ونهاية قائمة الانتظار، واسترجاع العناصر من البداية أو النهاية، والحصول على العناصر من بداية أو نهاية قائمة الانتظار (دون إزالتها من قائمة الانتظار).

  9. تتضمن التطبيقات البسيطة ArrayDeque و LinkedList و PriorityQueue . هناك أيضًا العديد من الفئات في المجموعات المتزامنة التي تنفذ هاتين الواجهتين (كلاهما في وقت واحد أو إحداهما فقط).

  10. الشجرة عبارة عن رسم بياني متصل بدون حلقات أو حواف متعددة. عادةً، إذا كانت هناك رؤوس N في الشجرة، فإن عدد الحواف يكون N-1 على الأقل. أيضًا، يتم اختيار قمة واحدة في الشجرة لتكون الجذر. يتم إعلان القمم المتبقية الفروع. تسمى الفروع التي ليس لها فروع خاصة بها أوراق الشجرة.
    تُستخدم الأشجار على نطاق واسع في البرمجة، وقد تم بالفعل اختراع العديد من أنواع هذه الشجرة. واحدة من الأشجار الأكثر استخداما على نطاق واسع هي الشجرة الثنائية. في هذه الشجرة، يحتوي كل عنصر على طفلين على الأكثر (أي يمكن أن يكون هناك من 0 إلى 2). أحد أنواع الأشجار الثنائية هو BST - شجرة البحث الثنائية. في هذه الشجرة، يتم فرض قاعدة على العناصر: الابن الأيسر للعنصر يجب أن يكون أقل منه في القيمة، والطفل الأيمن يجب أن يكون أكبر منه أو يساويه في القيمة.
    هناك أيضًا أشجار حمراء سوداء. هذا هو نوع من شجرة البحث الثنائية. في الأشجار ذات اللون الأحمر والأسود، يتم تقديم خاصية أخرى للعنصر - اللون. يمكن أن يكون اللون أسود أو أحمر. كما يجب أن تستوفي كل شجرة ذات لون أحمر وأسود المتطلبات التالية:

    1. جذر الشجرة أسود.
    2. العقدة إما حمراء أو سوداء.
    3. كل أوراق الشجرة سوداء.
    4. كلا من نسل العقدة الحمراء أسودان؛
    5. يحتوي كل مسار من عقدة معينة إلى أي عقدة طرفية تنحدر منها على نفس عدد العقد السوداء.
تتيح لك هذه القواعد تحقيق شجرة متوازنة. تكون الشجرة متوازنة عندما لا يختلف طول المسار من الجذر إلى أي عقدة ورقية بما لا يزيد عن 1. (أي، بعبارات بسيطة، لا توجد تشوهات أو فروع طويلة في الشجرة.)
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION