JavaRush /Java-Blog /Random-DE /Stufe 36. Antworten auf Interviewfragen zu einem gleichwe...
lichMax
Level 40
Санкт-Петербург

Stufe 36. Antworten auf Interviewfragen zu einem gleichwertigen Thema

Veröffentlicht in der Gruppe Random-DE
Wieder habe ich alles durchsucht und konnte keine Antworten finden. Also. Ich werde meine posten, obwohl ich sie nur für mich selbst geschrieben habe, und wenn möglich kurz. Aber alles ist besser als nichts. Es gab also folgende Fragen: Stufe 36.  Antworten auf Fragen für ein Interview zu einem Level-1-ThemaFragen für das Interview:
  1. Was ist MVC ?
  2. Was sind DAO und DTO ?
  3. Was ist POJO ?
  4. Was ist Entität ?
  5. Welche Listensammlungen kennen Sie?
  6. Welche Sammelsets kennen Sie?
  7. Was ist eine Karte , wie unterscheidet sie sich von einem „ Wörterbuch “?
  8. Was sind Queue und Dequeue ?
  9. Welche Klassen, die die Queeue-Schnittstelle implementieren , kennen Sie?
  10. Was ist ein Baum ?
Und jetzt meine Antworten:
  1. MVC ist ein Anwendungsentwurfsmuster, bei dem die Anwendung in drei separate Teile unterteilt ist: Modell, Ansicht und Controller. Das Modell stellt Daten bereit und reagiert auf Controller-Befehle, indem es seinen Zustand ändert. Die Ansicht ist dafür verantwortlich, dem Benutzer Modelldaten anzuzeigen und auf Änderungen im Modell zu reagieren. Und der Controller interpretiert die Aktionen des Benutzers und benachrichtigt das Modell über die Notwendigkeit von Änderungen. Somit ist jede der Komponenten dieser Schaltung lose mit anderen Komponenten gekoppelt, wodurch Programmflexibilität erreicht wird. Meistens ist die gesamte Geschäftslogik im Modell enthalten, manchmal ist sie jedoch auch im Controller enthalten. Im ersten Fall wird das Modell als dünn bezeichnet, im letzteren als dick.

  2. DAO (Data Access Object) ist ein Objekt, dessen Hauptaufgabe darin besteht, Daten in einer Datenbank zu speichern und aus dieser abzurufen. DTO (Data Transfer Object) ist ein Objekt zum Transport von Daten. Daher besteht seine Hauptaufgabe darin, diese Daten zu speichern. Es enthält keine Logik. Darüber hinaus muss es serialisierbar sein, da der Transport von Objekten normalerweise durch Serialisierung-Deserialisierung erfolgt.

  3. POJO steht für „Old Style Java Object“. Sie stehen im Gegensatz zu EJB-Objekten. Letztere folgen einer besonderen Konvention und sind in der Regel streng an ein bestimmtes Unternehmens-Framework gebunden (sie müssen beispielsweise einen öffentlichen Konstruktor ohne Parameter haben, sie müssen Getter und Setter für Felder haben, sie müssen serialisierbar sein usw.). POJO ist dementsprechend eine reguläre Klasse, die nicht von speziellen Klassen erbt und keine speziellen Bibliotheken implementiert. Normalerweise macht ein POJO nichts Besonderes und enthält nur den Status.

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

    • Класс должен иметь конструктор без параметров, с модификатором доступа public. Такой конструктор позволяет инструментам создать ein Objekt без дополнительных сложностей с параметрами.
    • Свойства класса должны быть доступны через 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. Первая коллекция хранит свои ein Objektы на основе хеш-Codeов. Вторая — это модифицированная первая, в ней элементы ещё к тому же располагаются в связном списке, поэтому они все расположены в порядке добавления. Третья коллекция обеспечивает сортировку своих элементов.

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

  8. Eine Warteschlange ist eine Datenstruktur, die nach dem First-In-First-Out-Prinzip arbeitet. Das heißt, Elemente werden der Warteschlange an einem Ende hinzugefügt und am anderen Ende entfernt. Deque ist eine Zwei-Wege-Warteschlange. In dieser Warteschlange können Elemente sowohl am Anfang als auch am Ende hinzugefügt werden, und Sie können auch Elemente sowohl vom Anfang als auch vom Ende der Warteschlange übernehmen. Dementsprechend gibt es Methoden, mit denen Sie ein Element hinzufügen können (dies sind die Methoden „add(e)“ und „offer(e)“), und es gibt Methoden, mit denen Sie das Element aus der Warteschlange entfernen können (dies sind Methoden wie „remove( ) und poll()). Darüber hinaus gibt es Methoden, mit denen Sie einfach ein Element aus der Warteschlange holen können, ohne es von dort zu entfernen (dies sind die Methoden element() und peek()). Die Deque-Schnittstelle verfügt außerdem über Methoden zum Hinzufügen von Elementen am Anfang und Ende einer Warteschlange, zum Abrufen von Elementen vom Anfang oder Ende und zum Abrufen von Elementen vom Anfang oder Ende einer Warteschlange (ohne sie aus der Warteschlange zu entfernen).

  9. Zu den einfachen Implementierungen gehören ArrayDeque , LinkedList und PriorityQueue . Es gibt auch viele Klassen in Concurrent Collections, die diese beiden Schnittstellen implementieren (beide gleichzeitig oder nur eine davon).

  10. Ein Baum ist ein zusammenhängender Graph ohne Schleifen oder mehrere Kanten. Wenn es in einem Baum N Scheitelpunkte gibt, beträgt die Anzahl der Kanten normalerweise mindestens N-1. Außerdem wird ein Scheitelpunkt im Baum als Wurzel gewählt. Die verbleibenden Eckpunkte sind deklarierte Zweige. Zweige, die keine eigenen Äste haben, nennt man Blätter eines Baumes.
    Bäume werden in der Programmierung recht häufig verwendet und viele Arten dieser Bäume wurden bereits erfunden. Einer der am häufigsten verwendeten Bäume ist der Binärbaum. In diesem Baum hat jedes Element höchstens zwei Kinder (d. h. es können 0 bis 2 sein). Eine Art von Binärbaum ist BST – binärer Suchbaum. In diesem Baum wird den Elementen eine Regel auferlegt: Das linke untergeordnete Element des Elements muss einen kleineren Wert als das Element haben und das rechte untergeordnete Element muss einen größeren oder gleichen Wert haben.
    Es gibt auch rotschwarze Bäume. Dies ist eine Art binärer Suchbaum. In rot-schwarzen Bäumen wird eine weitere Eigenschaft des Elements eingeführt – die Farbe. Die Farbe kann schwarz oder rot sein. Außerdem muss jeder rot-schwarze Baum die folgenden Anforderungen erfüllen:

    1. die Wurzel des Baumes ist schwarz;
    2. der Knoten ist entweder rot oder schwarz;
    3. alle Blätter des Baumes sind schwarz;
    4. beide Nachkommen des roten Knotens sind schwarz;
    5. Jeder Pfad von einem bestimmten Knoten zu einem beliebigen Blattknoten, der sein Nachkomme ist, enthält die gleiche Anzahl schwarzer Knoten.
Mit diesen Regeln können Sie einen ausgeglichenen Baum erreichen. Ein Baum ist ausgeglichen, wenn sich die Länge des Pfads von der Wurzel zu einem beliebigen Blattknoten um nicht mehr als 1 unterscheidet. (Das heißt, vereinfacht ausgedrückt gibt es im Baum keine Verzerrungen oder langen Zweige.)
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION