Bienvenido, les saluda Miguel y en esta ocasión le traigo una serie de preguntas que le pueden interesar.
Índice
Conceptos básicos de Java + Vaya
- ¿Qué es programación orientada a objetos? : Está un modelo de programación de computadoras que organiza el diseño de software alrededor de datos u objetos, en lugar de funciones y lógica. Los conceptos de OOP en Java son las ideas principales detrás del oop de Java. Son una abstracción, encapsulación, herencia y polimorfismo.
- Principios SÓLIDO.
- ¿Cuál es el propósito del constructor predeterminado?: Para inicializar un objeto, el compilador agrega implícitamente un constructor predeterminado en el programa si no lo hemos declarado o definido.
- Restricciones sobre los métodos estáticos, ¿podemos anular los métodos estáticos? enlace
- Bloque estático vs bloque init (orden de llamadas estáticas, de inicio y de constructor): El bloque estático solo se carga cuando el objeto de clase es creado por la JVM por primera vez, mientras que el bloque init se carga cada vez que se crea el objeto de clase. Además, primero se carga el bloque estático y luego el bloque de inicio.
- Clase de objeto Java (Métodos de clase de objeto): Cada clase en Java se deriva directa o indirectamente de la clase Object. Si una clase no extiende ninguna otra clase, entonces es una clase secundaria directa de Object y si extiende otra clase, entonces se deriva indirectamente.
- Esta palabra clave en Java, Usos de esta palabra clave, el encadenamiento del constructor se realiza con esta palabra clave: Es una variable de referencia que hace referencia al objeto actual.
- ¿Qué es la herencia y por qué no se admite la herencia múltiple en java? : Java admite herencia múltiple solo a través de interfaces. Una clase puede implementar cualquier cantidad de interfaces, pero solo puede extender una clase. La herencia múltiple no es compatible porque conduce a lo mortal problema de diamantes
- Polimorfismo en tiempo de ejecución y tiempo de compilación, sobrecarga de método frente a anulación de método
- Enlace estático vs dinámico en java
- Variable de clase vs varia de objetobendiciones
- Asociación, agregación y composición
- Explicar super en java y el encadenamiento de constructores usando super palabra clave
- this Vs super: súper hace referencia a la instancia de clase padre inmediata, this () – se refiere a la instancia de clase actual.
- Podemos use this () y super () ambos en un constructor
- Palabra clave final y sus restricciones (la variable final no se puede anular, la clase final no se puede heredar): variable final: para crear una variable constante, método final: para evitar la anulación, clase final para evitar la herencia.
- Clase abstracta vs interfaz en Java.
- Escribir clase inmutable en Java: hacer que la clase sea final y todas sus variables miembro finales
- *Escriba la clase Singleton en Java (seguro para subprocesos, a prueba de reflejos, a prueba de clones, a prueba de serialización)*diablillo*
- ¿Qué es la clonación de objetos?: La clonación de objetos es una forma de crear una copia exacta de un objeto. Para este propósito, el método clone () de una clase de objeto se usa para clonar un objeto.
- Copia superficial vs copia profunda en Java.
- Interfaz de marcador en java: Es una interfaz que no tiene un método abstracto, por ejemplo, serializable, clonable)
- Interfaz funcional en Java: Es una interfaz que contiene solo un método abstracto. Solo pueden tener una funcionalidad para exhibir (p. Ej., Ejecutable, comparable).
- Explicar el grupo de cadenas de Java (equivale a y == operaciones en cadenas)
- Generador de cadenas frente a búfer de cadenas
- Explica algunos patrones de diseño comunes. – Patrón de fábrica, Patrón singleton, Patrón de constructor, Patrón de observador etc.
- ¿Qué es el manejo de excepciones, excepción vs error, una excepción marcada y no marcada?
- ¿Cuál es la clase base para error y excepción?
- Explique final, finalmente y finalizar en Java: Desechable.
- ¿Cuál es el propósito del método de finalización? : Es un método al que el recolector de basura siempre llama justo antes de eliminar / destruir el objeto que es elegible para la recolección de basura.
- Cuál es la diferencia entre tirar y lanzar
- ¿Qué es el recolector de basura (GC)? ¿Cómo invocar GC?
System.gc();
Solicitar a JVM que llame al método Garbage Collector. - ¿Qué es la serialización en java?? : estado de escritura de un objeto en flujo de bytes, Debemos tener que implementar la interfaz serializable para serializar el objeto.
- ¿Cuál es la palabra clave transitoria en la serialización? : Si define algún miembro de datos como transitorio, no se serializará.
- Cuál es el reflexión API? : Reflection es una API que se utiliza para examinar o modificar el comportamiento de métodos, clases e interfaces en tiempo de ejecución.
Multi-hilo
- ¿Qué es un hilo? ¿Hilo vs proceso? Ciclo de vida del hilo
- esperar () vs dormir () ¿método? ¿Diferenciar entre la clase Thread y la interfaz Runnable para crear un hilo?
- ¿Qué hace el método join ()? : Pondrá el hilo actual en espera hasta que el hilo en el que se llama esté muerto.
- Hilos ejecutar () vs inicio () método
- Hilos de demonio? Es un subproceso de baja prioridad que se ejecuta en segundo plano para realizar tareas como la recolección de basura.
- Que es un bloque de sincronización y concurrencia en java? : La sincronización es una buena forma de lograr la exclusión mutua en recursos compartidos.
- Cuál es la diferencia entre notificar () y notificar a todos ()?: Los métodos notificar () y notificar a todos () con el método esperar () se utilizan para la comunicación entre los hilos. Podemos usar el método notify () para dar la notificación solo para un hilo que está esperando un objeto en particular, mientras que con la ayuda de los métodos notifyAll () podemos dar la notificación a todos los hilos en espera de un objeto en particular.
- Grupo de subprocesos, palabra clave volátil y Seguridad de subprocesos en java: Un grupo de subprocesos reutiliza subprocesos creados previamente para ejecutar tareas actuales, volátil es otra forma (como contenedor atómico sincronizado) de hacer que la clase sea segura para subprocesos, volátil se usa para marcar una variable Java como «almacenada en la memoria principal».
- Cuales son los Interfaz de ejecutor y Cola de bloqueo
- Implementar problema productor-consumidor en Java
- Invocable y futuro en Java, tarea futura en java, invocable vs ejecutable: para un Callable, se debe implementar el método call (), que devuelve un resultado al completar FutureTask implementa Runnable y Future, combinando ambas funcionalidades convenientemente.
Colecciones en Java
- Array vs ArrayList en Java
- Cuál es la diferencia entre Comparable y comparador
- HashMap vs HashSet, HashMap vs HashTree, HashMap vs HashTable
- claves nulas y valores nulos en HashMap, LinkedHashMap, TreeMapags
- Iterando un mapa en java : usando keyset () y entryset ()
- Trabajo interno de un HashMap
Kotlin
- Por qué usar kotlin: Conciso, nulo seguro, interoperable.
- ¿Cómo funciona Kotlin en Android? : El código Kotlin también se compila en el código de bytes de Java y se ejecuta en tiempo de ejecución por la máquina virtual de Java.
- Var vs Val: var son variables mutables y val son inmutables.
- Val vs const: Ambos son inmutables pero el valor constante debe conocerse en el momento de la compilación.
- ¿Cómo garantizar una seguridad nula en Kotlin? y que es operador de llamada segura (?)
- Diferencia entre llamada segura (?) Y verificación nula (!!)
- Operador de Elvis en Kotlin (? :): Cuando tenemos una referencia anulable
b
, podemos decir «sib
No es nulo (val l = b? .longitud?: -1) - ¿Cuál es el uso de @JvmStatic, @JvmOverloads y @JvmFiled en Kotlin? : El código de Kotlin se puede llamar fácilmente desde Java. Por ejemplo, las instancias de una clase Kotlin se pueden crear y operar sin problemas en métodos Java.Referir.
- ¿Qué es una clase de datos en Kotlin ?:Una clase de datos es una clase que solo contiene estado y no realiza ninguna operación.Cuando declaras una clase de datos, el compilador genera automáticamente varias funciones como
toString()
,equals()
,hashcode()
etc detrás de escena. - ¿Qué es la palabra clave lateinit en kotlin? Es una inicialización tardía, se puede verificar usando el método isInitialized.
- Lateinit vs Lazy
- ¿Qué son los objetos complementarios en kotlin? Un objeto complementario se inicializa cuando se carga la clase. Si necesita escribir una función que se pueda llamar sin tener una instancia de clase, pero necesita acceso a los componentes internos de una clase, puede escribirla como miembro de una declaración de objeto complementario dentro de esa clase. Al declarar un objeto complementario dentro de nuestra clase, podrá llamar a sus miembros con la misma sintaxis que al llamar a métodos estáticos en Java, utilizando solo el nombre de la clase como calificador.
- ¿Qué son los bloques de inicio en Kotlin ?: El constructor principal no puede contener ningún código, por lo tanto, los bloques de inicio permiten agregar código al constructor principal.
- ¿Para qué se utiliza la palabra clave abierta en Kotlin ?: las funciones y las variables son de naturaleza final por defecto, es decir, no pueden heredarse de ninguna otra clase. Entonces, para que sea heredable de otras clases, usamos la palabra clave open con el nombre de la clase, función y variable
- ¿Cuáles son las funciones de extensión en Kotlin ?: Kotlin brinda la capacidad de extender una clase con nueva funcionalidad sin tener que heredar de la clase o usar patrones de diseño como Decorator. Esto se hace a través de declaraciones especiales llamadas extensiones.
- Que es un función en línea en Kotlin ?: En Kotlin, las funciones de orden superior o expresiones lambda, todas almacenadas como un objeto, por lo que la asignación de memoria, tanto para los objetos de función como para las clases, y las llamadas virtuales pueden introducir una sobrecarga de tiempo de ejecución. Para reducir la sobrecarga de memoria de tales funciones de orden superior o expresión lambda, podemos usar la palabra clave en línea que finalmente solicita al compilador que no asigne memoria y simplemente copie el código en línea de esa función en el lugar de llamada.
- Explique Funciones con ámbito en Kotlin: dejar, ejecutar, con, también, aplicar
- Clase sellada: Las clases selladas se utilizan para representar jerarquías de clases restringidas, cuando un valor puede tener uno de los tipos de un conjunto limitado, pero no puede tener ningún otro tipo.
Referencias:
Geeks for Geeks, Tutorials Point y StackOverflow, Wikipedia, Edureka, MindOrks.
Espero que te haya servido. Gracias por leer.
Añadir comentario