Red de conocimiento de abogados - Derecho de sociedades - ¿Cuáles son las entrevistas técnicas comunes para los programadores de programación Java?

¿Cuáles son las entrevistas técnicas comunes para los programadores de programación Java?

Con el desarrollo continuo de Internet, el desarrollo de Java se ha convertido en un lenguaje de desarrollo de programación convencional utilizado por muchos ingenieros de desarrollo. Hoy, la institución de capacitación de cursos de Java analizará las preguntas comunes de la entrevista técnica que necesitamos saber durante el proceso de entrevista del programador de Java.

1. ¿Qué es un subproceso?

Un subproceso es una pequeña unidad que el sistema operativo puede realizar y programar. Está incluida en el proceso y es la unidad operativa real en el proceso. proceso. Los programadores pueden usarlo para programación multiprocesador y usted puede usar subprocesos múltiples para acelerar tareas computacionales intensivas. Por ejemplo, si un subproceso tarda 100 milisegundos en completar una tarea, entonces solo se necesitan 10 milisegundos para utilizar diez subprocesos para completar la tarea.

2. ¿Cuál es la diferencia entre subprocesos y procesos?

Los subprocesos son un subconjunto de procesos. Un proceso puede tener muchos subprocesos y cada subproceso realiza diferentes tareas en paralelo. Diferentes procesos utilizan diferentes espacios de memoria y todos los subprocesos comparten el mismo espacio de memoria. Cada hilo tiene una memoria de pila separada para almacenar datos locales.

3. ¿Cómo implementar subprocesos en Java?

Dos formas: una instancia de la clase java.lang.Thread es un subproceso pero necesita llamar a java.lang.Runnable interfaz para ejecutar, dado que la clase de subproceso en sí es la interfaz Runnable llamada, puede heredar la clase java.lang.Thread o llamar directamente a la interfaz Runnable para anular el método run() para implementar subprocesos.

4. ¿Cuáles son los diferentes ciclos de vida de los subprocesos?

Cuando creamos un nuevo subproceso en un programa Java, su estado es Nuevo. Cuando llamamos al método start() del hilo, el estado cambia a Runnable. El programador de subprocesos asigna tiempo de CPU a los subprocesos en el grupo de subprocesos ejecutables y cambia su estado a En ejecución. Otros estados del hilo incluyen Esperando, Bloqueado y Muerto.

5. ¿Qué entiendes por prioridad de subprocesos?

Cada subproceso tiene una prioridad en términos generales, un subproceso de alta prioridad tendrá una prioridad cuando se ejecute, pero esto depende. sobre la implementación de la programación de subprocesos, que depende del sistema operativo. Podemos definir la prioridad de los subprocesos, pero esto no garantiza que los subprocesos de alta prioridad se ejecuten antes que los de baja prioridad. La prioridad del subproceso es una variable int (de 1 a 10), 1 representa baja prioridad y 10 representa alta prioridad.

6. ¿Qué es el punto muerto? ¿Cómo analizar y evitar el punto muerto?

El punto muerto se refiere a una situación en la que más de dos subprocesos están bloqueados para siempre. Esta situación produce al menos más de dos. hilos y más de dos recursos.

Para analizar el punto muerto, necesitamos mirar el volcado de subprocesos de la aplicación Java. Necesitamos averiguar qué subprocesos están en estado BLOQUEADO y los recursos que están esperando. Cada recurso tiene una identificación única; usando esta identificación podemos averiguar qué subprocesos ya poseen su bloqueo de objeto.