JavaRush /Blog Java /Random-ES /Nivel 36. Respuestas a preguntas de la entrevista sobre u...
lichMax
Nivel 40
Санкт-Петербург

Nivel 36. Respuestas a preguntas de la entrevista sobre un tema nivelado.

Publicado en el grupo Random-ES
Nuevamente busqué todo y no pude encontrar ninguna respuesta. Bien. Yo publicaré los míos, aunque los escribí exclusivamente para mí y, si es posible, brevemente. Pero cualquier cosa es mejor que nada. Entonces, surgieron las siguientes preguntas: Nivel 36.  Respuestas a preguntas para una entrevista de nivel - 1 temaPreguntas para la entrevista:
  1. ¿ Qué es MVC ?
  2. ¿Qué son DAO y DTO ?
  3. ¿ Qué es POJO ?
  4. ¿Qué es la entidad ?
  5. ¿ Qué colecciones de listas conoces?
  6. ¿ Qué conjuntos de colecciones conoces?
  7. ¿Qué es un mapa y en qué se diferencia de un “ diccionario ”?
  8. ¿Qué son las colas y las retiradas de colas ?
  9. ¿ Qué clases que implementan la interfaz Queeue conoces?
  10. ¿ Qué es un árbol ?
Y ahora mis respuestas:
  1. MVC es un patrón de diseño de aplicaciones en el que la aplicación se divide en tres partes separadas: modelo, vista y controlador. El modelo proporciona datos y responde a los comandos del controlador cambiando su estado. La vista es responsable de mostrar los datos del modelo al usuario, respondiendo a los cambios en el modelo. Y el controlador interpreta las acciones del usuario, notificando al modelo sobre la necesidad de realizar cambios. Por lo tanto, cada uno de los componentes de este circuito está débilmente acoplado con otros componentes, logrando así flexibilidad del programa. En la mayoría de los casos, toda la lógica empresarial está contenida en el modelo, aunque a veces también está contenida en el controlador. En el primer caso, el modelo se llama delgado, en el segundo, grueso.

  2. DAO (Objeto de acceso a datos) es un objeto cuya tarea principal es guardar datos en una base de datos, así como recuperarlos de ella. DTO (Objeto de transferencia de datos) es un objeto diseñado para transportar datos. Por tanto, su tarea principal es almacenar estos datos. No contiene ninguna lógica. Además, debe ser serializable, ya que el transporte de objetos suele realizarse mediante serialización-deserialización.

  3. POJO significa "Objeto Java de estilo antiguo". Se contrastan con los objetos EJB. Estos últimos siguen una convención especial y normalmente están estrictamente vinculados a un marco empresarial específico (por ejemplo, deben tener un constructor público sin parámetros, deben tener captadores y definidores de campos, deben ser serializables, etc.). POJO es, en consecuencia, una clase regular que no hereda de ninguna clase especial y no implementa ninguna biblioteca especial. Normalmente un POJO no hace nada especial y sólo contiene estado.

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

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

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

  8. Una cola es una estructura de datos que opera según el principio de primero en entrar, primero en salir. Es decir, los elementos se agregan a la cola por un extremo y se eliminan por el otro. Deque es una cola de dos vías. En esta cola se pueden agregar elementos tanto al principio como al final, y también se pueden tomar elementos tanto del principio como del final de la cola. En consecuencia, existen métodos que le permiten agregar un elemento (estos son los métodos agregar(e) y ofrecer(e)), y hay métodos que le permiten eliminar el elemento de la cola (estos son métodos como eliminar( ) y encuesta()). Además, existen métodos que le permiten simplemente obtener un elemento de la cola sin eliminarlo de allí (estos son los métodos element() y peek()). La interfaz Deque además tiene métodos para agregar elementos al principio y al final de una cola, recuperar elementos del principio o al final y obtener elementos del principio o al final de una cola (sin eliminarlos de la cola).

  9. Las implementaciones simples incluyen ArrayDeque , LinkedList y PriorityQueue . También hay muchas clases en Colecciones Concurrentes que implementan estas dos interfaces (ambas a la vez o solo una de ellas).

  10. Un árbol es un gráfico conectado sin bucles ni aristas múltiples. Normalmente, si hay N vértices en un árbol, entonces el número de aristas es al menos N-1. Además, se elige un vértice del árbol como raíz. Los vértices restantes son ramas declaradas. Las ramas que no tienen ramas propias se llaman hojas de árbol.
    Los árboles se utilizan bastante en la programación y ya se han inventado muchos tipos de este árbol. Uno de los árboles más utilizados es el árbol binario. En este árbol, cada elemento tiene como máximo dos hijos (es decir, puede haber de 0 a 2). Un tipo de árbol binario es BST (árbol de búsqueda binaria). En este árbol, se impone una regla a los elementos: el hijo izquierdo del elemento debe tener un valor menor que él y el hijo derecho debe tener un valor mayor o igual.
    También hay árboles rojo-negros. Este es un tipo de árbol de búsqueda binario. En los árboles rojo-negro, se introduce otra propiedad del elemento: el color. El color puede ser negro o rojo. Además, cada árbol rojo-negro debe cumplir los siguientes requisitos:

    1. la raíz del árbol es negra;
    2. el nodo es rojo o negro;
    3. todas las hojas del árbol son negras;
    4. ambos descendientes del nodo rojo son negros;
    5. Cada camino desde un nodo determinado hasta cualquier nodo hoja que sea su descendiente contiene la misma cantidad de nodos negros.
Estas reglas le permiten lograr un árbol equilibrado. Un árbol está equilibrado cuando la longitud del camino desde la raíz hasta cualquier nodo de la hoja difiere en no más de 1 (es decir, en términos simples, no hay distorsiones ni ramas largas en el árbol).
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION