Preguntas frecuentes de la entrevista Java
Preguntas de la entrevista de Java
1. ¿Qué es la serialización y la deserialización?
La serialización es el proceso de escribir el estado de un objeto en una secuencia de bytes. La deserialización es el proceso de restauración de estos objetos.
2. ¿Qué controladores están disponibles?
Controlador puente JDBC-ODBC b) Controlador API nativo Java parcialmente c) Controlador JDBC-Net Pure Java d) Controlador Native-Protocol Pure Java
3. ¿Qué es el encadenamiento de Servlet?
El encadenamiento de servlets es una técnica en la que dos o más servlets pueden cooperar para atender una sola solicitud. En el encadenamiento de servlets, la salida de un servlet se canaliza a la entrada del siguiente servlet. Este proceso continúa hasta que se alcanza el último servlet. Su salida se envía de vuelta al cliente.
4. ¿Cómo manejan los servlets múltiples solicitudes simultáneas?
El servidor tiene múltiples hilos que están disponibles para manejar solicitudes. Cuando llega una solicitud, se asigna a un subproceso, que llama a un método de servicio (por ejemplo: doGet (), doPost () y service ()) del servlet. Por esta razón, un único objeto de servlet puede tener sus métodos de servicio llamados por muchos hilos a la vez.
5. ¿Cuál es la dirección de Inet?
Cada computadora conectada a una red tiene una dirección IP. Una dirección IP es un número que identifica de manera única cada computadora en la red. Una dirección IP es un número de 32 bits.
6. ¿Qué es el Servicio de nombres de dominio (DNS)?
Es muy difícil recordar un conjunto de números (dirección IP) para conectarse a Internet. El Servicio de nombres de dominio (DNS) se utiliza para superar este problema. Asigna una dirección IP particular a una cadena de caracteres. Por ejemplo, www. mascom. com implica com es el nombre de dominio reservado para los sitios comerciales de EE. UU., moscom es el nombre de la empresa y www es el nombre de la computadora específica, que es el servidor de mascom.
7. ¿Qué es la URL?
URL significa Localizador uniforme de recursos y apunta a archivos de recursos en Internet. La URL tiene cuatro componentes: http: // www . habla a. com: 80 / index.html, donde http – nombre del protocolo, dirección – dirección IP o nombre de host, 80 – número de puerto e index.html – ruta del archivo.
8. ¿Qué es RMI y los pasos involucrados en el desarrollo de un objeto RMI?
La Invocación de método remoto (RMI) permite que el objeto java que se ejecuta en una máquina invoque el método de un objeto Java para ejecutarlo en otra máquina. Los pasos necesarios para desarrollar un objeto RMI son: a) Definir las interfaces b) Implementar estas interfaces c) Compilar las interfaces y sus implementaciones con el compilador de Java d) Compilar la implementación del servidor con el compilador RMI e) Ejecutar el registro RMI f) Ejecutar la aplicación
9. ¿Cuál es la diferencia entre TCP / IP y UDP?
TCP / IP es una comunicación bidireccional entre el cliente y el servidor y es confiable y hay una confirmación sobre cómo llegar el mensaje al destino. Es como una llamada telefónica. UDP es una comunicación unidireccional solo entre el cliente y el servidor y no es confiable y no hay confirmación sobre cómo llegar el mensaje al destino. Es como un correo postal.
10. ¿Cuál es la diferencia entre JDBC y ODBC?
OBDC es para Microsoft y JDBC es para aplicaciones Java. b) ODBC no se puede usar directamente con Java porque usa una interfaz C. c) ODBC utiliza punteros que se han eliminado totalmente de Java. d) ODBC combina funciones simples y avanzadas juntas y tiene opciones complejas para consultas simples. Pero JDBC está diseñado para simplificar las cosas al tiempo que permite capacidades avanzadas cuando sea necesario. e) ODBC requiere la instalación manual del administrador de controladores ODBC y el controlador en todas las máquinas cliente. Los controladores JDBC están escritos en Java y el código JDBC es automáticamente instalable, seguro y portátil en todas las plataformas. f) La API JDBC es una interfaz Java natural y está construida sobre ODBC. JDBC conserva algunas de las características básicas de ODBC.
11. ¿Qué es JDBC?
JDBC es un conjunto de API de Java para ejecutar sentencias SQL. Esta API consta de un conjunto de clases e interfaces para permitir que los programas escriban aplicaciones de base de datos Java puras.
12. ¿Cuáles son los tipos de modelos de controladores JDBC y explicarlos?
Hay dos tipos de modelos de controlador JDBC y son: a) Modelo de dos niveles yb) Modelo de tres niveles Modelo de dos niveles: en este modelo, las aplicaciones Java interactúan directamente con la base de datos. Se requiere un controlador JDBC para comunicarse con el sistema de gestión de base de datos particular al que se está accediendo. Las declaraciones SQL se envían a la base de datos y los resultados se entregan al usuario. Este modelo se denomina configuración cliente / servidor donde el usuario es el cliente y la máquina que tiene la base de datos se llama servidor. Modelo de tres niveles: se introduce un nivel intermedio en este modelo. Las funciones de este modelo son: a) Recopilación de sentencias SQL del cliente y entregárselas a la base de datos, b) Recibir resultados de la base de datos al cliente yc) Mantener el control sobre el acceso y la actualización de lo anterior.
13. ¿Cuáles son los tipos de declaraciones en JDBC?
Sentencia: se utilizará el método createStatement () para ejecutar una sola instrucción SQL PreparedStatement – Se utilizará el método prepareStatement () para ejecutar una misma instrucción SQL una y otra vez. CallableStatement: para usar el método prepareCall () para varias instrucciones SQL una y otra vez.
14. ¿Qué es el procedimiento almacenado?
El procedimiento almacenado es un grupo de sentencias SQL que forma una unidad lógica y realiza una tarea particular. Los procedimientos almacenados se utilizan para encapsular un conjunto de operaciones o consultas para ejecutar en la base de datos. Los procedimientos almacenados se pueden compilar y ejecutar con diferentes parámetros y resultados y pueden tener cualquier combinación de parámetros de entrada / salida.
15. ¿Cuáles son los pasos necesarios para establecer una conexión con una base de datos o cómo se conecta a una base de datos?
Carga del controlador: Para cargar el controlador, Clase. Se utiliza el método forName (). Clase. forName (“sun. jdbc. odbc. JdbcOdbcDriver”); Cuando se carga el controlador, se registra con Java. sql. Clase DriverManager como un controlador de base de datos disponible. b) Hacer una conexión con la base de datos: para abrir una conexión a una base de datos determinada, DriverManager. Se utiliza el método getConnection (). Conexión con = DriverManager. getConnection (“jdbc: odbc: somedb”, “usuario”, “contraseña”); c) Ejecución de sentencias SQL: para ejecutar una consulta SQL, java. sql. Se utiliza la clase de declaraciones. Método createStatement () de Connection para obtener un nuevo objeto Statement. Declaración stmt = con. createStatement (); Una consulta que devuelve datos puede ejecutarse utilizando el método executeQuery () de Statement. Este método ejecuta la declaración y devuelve un java. sql. ResultSet que encapsula los datos recuperados: ResultSet rs = stmt. executeQuery (“SELECT * FROM some table”); d) Procesar los resultados: ResultSet devuelve una fila a la vez. Se puede llamar al método Next () del objeto ResultSet para pasar a la siguiente fila. Los métodos getString () y getObject () se utilizan para recuperar valores de columna: while (rs. Next ()) {String event = rs. getString (“evento”); Recuento de objetos = (entero) rs. getObject (“cuenta”);
16. ¿Qué tipo de controlador usaste en el proyecto?
Controlador JDBC-ODBC Bridge (es un controlador que utiliza bibliotecas nativas (lenguaje C) y realiza llamadas a un controlador ODBC existente para acceder a un motor de base de datos).
17. ¿Cuál es la diferencia entre un applet y un servlet?
a) Los servlets son para los servidores lo que los applets son para los navegadores. b) Los applets deben tener interfaces gráficas de usuario, mientras que los servlets no tienen interfaces gráficas de usuario.
18. ¿Cuál es la diferencia entre los métodos doPost y doGet?
a) El método doGet () se usa para obtener información, mientras que el método doPost () se usa para publicar información. b) las solicitudes doGet () no pueden enviar gran cantidad de información y están limitadas a 240-255 caracteres. Sin embargo, las solicitudes doPost () pasan todos sus datos, de longitud ilimitada. c) Se adjunta una solicitud doGet () a la URL de solicitud en una cadena de consulta y esto permite que el intercambio sea visible para el cliente, mientras que una solicitud doPost () pasa directamente sobre la conexión del socket como parte de su cuerpo de solicitud HTTP y el intercambio son invisibles para el cliente
19. ¿Cuál es el ciclo de vida de un servlet?
Cada Servlet tiene el mismo ciclo de vida: a) Un servidor carga e inicializa el servlet mediante el método init (). b) El servlet maneja cero o más solicitudes del cliente a través del método service (). c) El servidor elimina el servlet mediante el método destroy ().
20. ¿Quién está cargando el método init () del servlet?
Servidor web
21. ¿Cuáles son los diferentes servidores disponibles para desarrollar e implementar Servlets?
Servidor web Java b) JRun g) Servidor Apache h) Servidor de información Netscape i) Lógica web
22. ¿De cuántas maneras podemos rastrear al cliente y cuáles son?
La API de servlet proporciona dos formas de rastrear el estado del cliente y son: a) Usar el seguimiento de sesión yb) Usar cookies.
23. ¿Qué es el seguimiento de sesión y cómo se rastrea una sesión de usuario en servlets?
El seguimiento de sesión es un mecanismo que utilizan los servlets para mantener el estado de una serie de solicitudes del mismo usuario durante un período de tiempo. Los métodos utilizados para el seguimiento de la sesión son: a) Autenticación de usuario: se produce cuando un servidor web restringe el acceso a algunos de sus recursos solo a aquellos clientes que inician sesión con un nombre de usuario y contraseña reconocidos. b) Campos de formulario ocultos: los campos se agregan a un formulario HTML que no se muestran en el navegador del cliente. Cuando se envía el formulario que contiene los campos, los campos se envían de vuelta al servidor. c) Reescritura de URL: cada URL en la que el usuario hace clic se modifica dinámicamente o se reescribe para incluir información adicional. La información adicional puede estar en forma de información de ruta adicional, parámetros agregados o algún cambio de URL personalizado y específico del servidor. d) Cookies: un poco de información que un servidor web envía a un navegador y que luego se puede volver a leer desde ese navegador. e) HttpSession- coloca un li
mit sobre el número de sesiones que pueden existir en la memoria. Este límite se establece en la sesión. Propiedad maxresidents.
24. ¿Qué es el servidor incluye (SSI)?
Server-Side incluye permite incrustar servlets en páginas HTML utilizando una etiqueta de servlet especial. En muchos servlets que admiten servlets, el servidor puede procesar una página para incluir la salida de los servlets en ciertos puntos dentro de la página HTML. Esto se logra utilizando un SSINCLUDE interno especial, que procesa las etiquetas de servlet. El servlet SSINCLUDE se invocará siempre que un archivo con un. Se solicita la extensión shtml. Por lo tanto, los archivos HTML que incluyen inclusiones del lado del servidor deben almacenarse con un. extensión shtml
25. ¿Qué son las cookies y cómo las usará?
Las cookies son un mecanismo que utiliza un servlet para que un cliente tenga una pequeña cantidad de información de estado asociada con el usuario. a) Cree una cookie con el constructor de cookies: Cookie pública (nombre de cadena, valor de cadena) b) Un servlet puede enviar una cookie al cliente pasando un objeto Cookie al método addCookie () de HttpServletResponse: public void HttpServletResponse. addCookie (Cookie cookie) c) Un servlet recupera cookies llamando al método getCookies () de HttpServletRequest: public Cookie [] HttpServletRequest. getCookie ().
26. ¿es posible comunicarse de un applet a un servlet y de cuántas maneras y cómo?
Sí, hay tres formas de comunicarse de un applet a un servlet y son: a) Comunicación HTTP (basada en texto y en objeto) b) Comunicación de socket c) Comunicación RMI
27. ¿Cómo crear y llamar a procedimientos almacenados?
Para crear procedimientos almacenados: Cree el nombre del procedimiento del procedimiento (especifique los parámetros in, out y in out) BEGIN Cualquier instrucción SQL múltiple; FIN; Para llamar a procedimientos almacenados: CallableStatement csmt = con. prepareCall (“{nombre del procedimiento de llamada (?,?)}”); csmt. registerOutParameter (no de columna, tipo de datos); csmt. setInt (número de columna, nombre de columna) csmt. ejecutar();
28. ¿Qué es el servlet?
Los servlets son módulos que extienden servidores orientados a solicitudes / respuestas, como los servidores web habilitados para Java. Por ejemplo, un servlet podría ser responsable de tomar datos en un formulario de entrada de pedidos HTML y aplicar la lógica de negocios utilizada para actualizar la base de datos de pedidos de una empresa.
29. ¿Cuáles son las clases e interfaces para servlets?
Hay dos paquetes en servlets y son javax. servlet y
30. ¿Qué es la agrupación de conexiones?
Con los servlets, abrir una conexión a la base de datos es un gran cuello de botella porque estamos creando y eliminando una nueva conexión para cada solicitud de página y el tiempo necesario para crear la conexión será mayor. Crear un grupo de conexiones es un enfoque ideal para un servlet complicado. Con un grupo de conexiones, podemos duplicar solo los recursos que necesitamos duplicar en lugar de todo el servlet. Un grupo de conexiones también puede administrar de forma inteligente el tamaño del grupo y asegurarse de que cada conexión siga siendo válida. Actualmente hay disponibles varios paquetes de agrupación de conexiones. Algunos, como DbConnectionBroker, están disponibles gratuitamente en Java Exchange Works al crear un objeto que distribuye conexiones e identificadores de conexión a pedido. La clase ConnectionPool mantiene un Hastable, utilizando objetos Connection como claves y valores booleanos como valores almacenados. El valor booleano indica si una conexión está en uso o no. Un programa llama al método getConnection () del ConnectionPool para obtener el objeto Connection que puede usar; llama a returnConnection () para devolver la conexión al grupo.
31. ¿Por qué debemos optar por la comunicación entre servidores?
Los servlets que se ejecutan juntos en el mismo servidor se comunican entre sí de varias maneras. Las tres razones principales para usar la comunicación interservlet son: a) Manipulación directa de servlet: permite obtener acceso a los otros servlets cargados actualmente y realizar ciertas tareas (a través del objeto ServletContext) b) Reutilización de servlet: permite que el servlet reutilice los métodos públicos de otro servlet c) Colaboración de servlet: requiere comunicarse entre sí compartiendo información específica (mediante la invocación de métodos)
¿Es posible llamar a servlet con parámetros en la URL? – Sí. Puede llamar a un servlet con parámetros en la sintaxis como (? Param1 = xxx || m2 = aaa).
32. ¿Qué es la arquitectura RMI?
La arquitectura RMI consta de cuatro capas y cada capa realiza funciones específicas: a) Capa de aplicación: contiene la definición real del objeto. b) Capa de proxy: consta de trozo y esqueleto. c) Capa de referencia remota: obtiene la secuencia de bytes de la capa de transporte y la envía a la capa proxy. d) Capa de transporte: responsable de manejar la comunicación real de máquina a máquina.
33. ¿Cuál es la diferencia entre excepción y error?
La clase de excepción define condiciones de error leve que encuentra su programa. Se pueden producir excepciones al intentar abrir el archivo, que no existe, la conexión de red se interrumpe, los operandos que se manipulan están fuera de los rangos prescritos, falta el archivo de clase que le interesa cargar. La clase de error define condiciones de error graves de las que no debe intentar recuperarse. En la mayoría de los casos, es aconsejable dejar que el programa finalice cuando se encuentre dicho error.
34. ¿Cuál es la diferencia entre proceso e hilo?
El proceso es un programa en ejecución, mientras que el hilo es una ruta de ejecución separada en un programa.
35. ¿Qué es multihilo y cuáles son los métodos para inter
comunicación de subprocesos y cuál es la clase en la que se definen estos métodos: el subprocesamiento múltiple es el mecanismo en el que más de un subproceso se ejecuta independientemente uno del otro dentro del proceso. Los métodos wait (), notify () y notifyAll () se pueden usar para la comunicación entre subprocesos y estos métodos están en la clase Object. wait (): cuando un hilo ejecuta un método call to wait (), entrega el bloqueo del objeto y entra en un estado de espera. notify () o notifyAll (): para eliminar un subproceso del estado de espera, algún otro subproceso debe realizar una llamada al método notify () o notifyAll () en el mismo objeto.
36. ¿Puede tener una clase interna dentro de un método y a qué variables puede acceder?
Sí, podemos tener una clase interna dentro de un método y se puede acceder a las variables finales.
37. ¿Cuál es la diferencia entre String y String Buffer?
Los objetos de cadena son constantes e inmutables, mientras que los objetos de StringBuffer no lo son. b) La clase String admite cadenas constantes, mientras que la clase StringBuffer admite cadenas cultivables y modificables.
38. ¿Cuál es la diferencia entre Array y vector?
La matriz es un conjunto de tipos de datos relacionados y estáticos, mientras que el vector es una matriz de objetos y dinámica que puede crecer.
39. ¿Cuál es la diferencia entre aplicaciones y applets?
La aplicación debe ejecutarse en la máquina local, mientras que el applet no necesita instalación explícita en la máquina local. b) La aplicación debe ejecutarse explícitamente dentro de una máquina virtual compatible con Java, mientras que el applet se carga y ejecuta automáticamente en un navegador habilitado para Java. d) La aplicación inicia la ejecución con su método principal mientras que el applet inicia la ejecución con su método init. e) La aplicación puede ejecutarse con o sin interfaz gráfica de usuario, mientras que el applet debe ejecutarse dentro de una interfaz gráfica de usuario.
40. ¿Qué se entiende por controles y cuáles son los diferentes tipos de controles en AWT?
Los controles son componentes que permiten al usuario interactuar con su aplicación y el AWT admite los siguientes tipos de controles: etiquetas, botones, casillas de verificación, listas de opciones, listas, barras de desplazamiento, componentes de texto. Estos controles son subclases de Componente.
41. ¿Cuándo sincronizarás una parte de tu código?
Cuando espere que su código sea accedido por diferentes subprocesos y estos subprocesos pueden cambiar una información en particular causando corrupción de datos.
42. ¿Qué es el punto muerto?
Cuando dos hilos se están esperando y no pueden preceder al programa, se dice que está en punto muerto.
43. ¿Cuál es la clase y la interfaz en Java para crear hilo y cuál es el método más ventajoso?
La clase de subprocesos y la interfaz Runnable se pueden usar para crear subprocesos y el uso de la interfaz Runnable es el método más ventajoso para crear subprocesos porque no necesitamos extender la clase de subprocesos aquí.
44. ¿Cuáles son los estados asociados en el hilo?
El hilo contiene estados listos, en ejecución, en espera y muertos.
45. ¿Qué es la sincronización?
La sincronización es el mecanismo que garantiza que solo se acceda a un hilo a los recursos a la vez.
46. ¿Cómo reconoce el applet la altura y el ancho?
Usando el método getParameters ().
47. ¿Cuándo usas codebase en applet?
Cuando el archivo de clase de applet no está en el mismo directorio, se usa la base de código.
48. ¿Cuál es el ciclo de vida de un applet?
Método init (): se puede invocar cuando se carga un applet por primera vez. Método start (): se puede invocar cada vez que se inicia un applet. Método paint (): se puede invocar cuando el applet se minimiza o maximiza. Método stop (): se puede usar cuando el navegador se mueve fuera de la página del applet. Método destroy (): se puede invocar cuando el navegador finaliza con el applet.
49. ¿Cuál es la diferencia entre elección y lista?
La opción se muestra en una forma compacta que requiere que la despliegue hacia abajo para ver la lista de opciones disponibles y solo se puede seleccionar un elemento de una opción. Una Lista puede mostrarse de tal manera que varios elementos de la lista sean visibles y admita la selección de uno o más elementos de la lista.
50. ¿Cuál es la diferencia entre la barra de desplazamiento y el panel de desplazamiento?
Scrollbar es un componente, pero no un contenedor, mientras que Scrollpane es un Conatiner y maneja sus propios eventos y realiza su propio desplazamiento.
51. ¿Cuál es la diferencia entre Reader / Writer y InputStream / Output Stream?
La clase Reader / Writer está orientada a caracteres y la clase InputStream / OutputStream está orientada a bytes.
52. ¿Cómo se configura la seguridad en los applets?
utilizando el método setSecurityManager ()
53. ¿Qué es un evento y cuáles son los modelos disponibles para el manejo de eventos?
Un evento es un objeto de evento que describe un estado de cambio en una fuente. En otras palabras, el evento ocurre cuando se genera una acción, como presionar un botón, hacer clic con el mouse, seleccionar una lista, etc. Hay dos tipos de modelos para manejar eventos y son: a) modelo de herencia de eventos yb) delegación de eventos modelo
54. ¿Cuáles son las ventajas del modelo sobre el modelo de herencia de eventos?
El modelo de delegación de eventos tiene dos ventajas sobre el modelo de herencia de eventos. Ellos son: a) Permite el manejo de eventos por otros objetos que no sean los que generan los eventos. Esto permite una separación limpia entre el diseño de un componente y su uso. b) Se desempeña mucho mejor en aplicaciones donde se generan muchos eventos. Esta mejora del rendimiento se debe al hecho de que el modelo de delegación de eventos no tiene que ser procesado repetidamente eventos no controlados como es el caso de la herencia de eventos.
55. ¿Qué es el hilo del demonio y qué método se utiliza para crear el hilo del demonio?
El subproceso de daemon es un subproceso de baja prioridad que se ejecuta intermitentemente en segundo plano y realiza la operación de recolección de basura para el sistema de ejecución Java. El método setDaemon se usa para crear un hilo de daemon.
56. ¿Hay alguna variable global en Java a la que pueda acceder otra parte de su programa?
No, no es el método principal en el que define variables. Las variables globales no son posibles porque el concepto de encapsulación se elimina aquí.
57. ¿Qué es un applet?
Applet es un programa dinámico e interactivo que se ejecuta dentro de una página web que se muestra en un navegador compatible con Java.
58. ¿Qué es fuente y oyente?
fuente es un objeto que genera un evento. Esto ocurre cuando el estado interno de ese objeto cambia de alguna manera. oyente: Un oyente es un objeto que es notificado cuando ocurre un evento. Tiene dos requisitos principales. Primero, debe haberse registrado con una o más fuentes para recibir notificaciones sobre tipos específicos de eventos. En segundo lugar, debe implementar métodos para recibir y procesar estas notificaciones.
59. ¿Qué es la clase de adaptador?
Una clase de adaptador proporciona una implementación vacía de todos los métodos en una interfaz de escucha de eventos. Las clases de adaptadores son útiles cuando desea recibir y procesar solo algunos de los eventos que maneja una interfaz de escucha de eventos en particular. Puede definir una nueva clase para actuar como oyente extendiendo una de las clases de adaptador e implementando solo aquellos eventos en los que esté interesado. Por ejemplo, la clase MouseMotionAdapter tiene dos métodos, mouseDragged () y mouseMoved (). Las firmas de estos vacíos son exactamente como se definen en la interfaz MouseMotionListener. Si solo le interesan los eventos de arrastre del mouse, simplemente puede extender MouseMotionAdapter e implementar mouseDragged ().
60. ¿Qué es un administrador de diseño y cuáles son los diferentes tipos de administradores de diseño disponibles en Java AWT?
El administrador de diseño es un objeto que se utiliza para organizar componentes en un contenedor. Los diferentes diseños disponibles son FlowLayout, BorderLayout, CardLayout, GridLayout y GridBagLayout.
61. ¿Cómo se organizan los elementos de los diferentes diseños?
FlowLayout: los elementos de un FlowLayout se organizan de arriba a abajo, de izquierda a derecha. BorderLayout: los elementos de un BorderLayout se organizan en los bordes (Norte, Sur, Este y Oeste) y en el centro de un contenedor. CardLayout: los elementos de un CardLayout se apilan, uno encima del otro, como una baraja de cartas. GridLayout: los elementos de un GridLayout son del mismo tamaño y se presentan utilizando el cuadrado de una cuadrícula. GridBagLayout: los elementos de un GridBagLayout se organizan según una cuadrícula. Sin embargo, los elementos son de diferente tamaño y pueden ocupar más de una fila o columna de la cuadrícula. Además, las filas y columnas pueden tener diferentes tamaños.
62. ¿Qué son las clases de envoltura?
Las clases de envoltura son clases que permiten acceder a tipos primitivos como objetos.
63. ¿Qué son Vector, Hashtable, LinkedList y Enumeration?
La clase Vector ofrece la capacidad de implementar una variedad de objetos que se puede crecer. Hashtable: la clase Hashtable implementa una estructura de datos Hashtable. A Hashtable indexa y almacena objetos en un diccionario utilizando códigos hash como claves del objeto. Los códigos hash son valores enteros que identifican objetos. LinkedList: la eliminación o inserción de elementos en el medio de una matriz se puede hacer usando LinkedList. Un LinkedList almacena cada objeto en un enlace separado, mientras que una matriz almacena referencias de objetos en ubicaciones consecutivas. Enumeración: un objeto que implementa la interfaz Enumeración genera una serie de elementos, uno a la vez. Tiene dos métodos, a saber, hasMoreElements () y nextElement (). HasMoreElemnts () prueba si esta enumeración tiene más elementos y el método nextElement devuelve elementos sucesivos de la serie.
64. ¿Cuál es la diferencia entre set y list?
El conjunto almacena elementos de forma desordenada pero no contiene elementos duplicados, mientras que la lista almacena elementos de forma ordenada pero puede contener elementos duplicados.
65. ¿Qué es una secuencia y cuáles son los tipos de secuencias y clases de las secuencias?
Stream es una abstracción que produce o consume información. Hay dos tipos de flujos y son: flujos de bytes: proporcionan un medio conveniente para manejar la entrada y salida de bytes. Secuencias de caracteres: proporcionan un medio conveniente para manejar la entrada y salida de caracteres. Clases de Byte Streams: se definen mediante el uso de dos clases abstractas, a saber, InputStream y OutputStream. Clases de secuencias de caracteres: se definen mediante el uso de dos clases abstractas, a saber, Reader y Writer.
66. ¿Qué contenedores usan un diseño de borde como su diseño predeterminado?
Las clases Window, Frame y Dialog usan un BorderLayout como su diseño.
67. ¿Qué contenedores usan un diseño Flow como su diseño predeterminado?
Las clases Panel y Applet usan FlowLayout como su diseño predeterminado.
68. ¿Qué es un filtro de E / S?
Un filtro de E / S es un objeto que lee de una secuencia y escribe en otra, generalmente alterando los datos de alguna manera a medida que pasan de una secuencia a otra.
69. ¿Cuál es el uso de bin y lib en JDK?
Bin contiene todas las herramientas como javac, appletviewer, awt tool, etc., mientras que lib contiene API y todos los paquetes.
70. ¿Qué es el casting?
La conversión se usa para convertir el valor de un tipo a otro.
71. ¿De cuántas maneras se puede pasar un argumento a una subrutina y explicarlos?
Un argumento se puede pasar de dos maneras. Están pasando por valor y pasando por referencia. Pasar por valor: este método copia el valor de un argumento en el parámetro formal de la subrutina. Paso por referencia: en este método, una referencia a un argumento (no el valor del argumento) se pasa al parámetro.
72. ¿Qué es el método finalize ()?
El método finalize () se usa justo antes de que se destruya un objeto y se puede llamar justo antes de la recolección de basura.
73. ¿Qué son los modificadores transitorios y volátiles?
Transitorio: el modificador transitorio se aplica solo a las variables y no se almacena como parte del estado Persistente de su objeto. Las variables transitorias no están serializadas. Volátil: el modificador volátil se aplica solo a las variables y le dice al compilador que la variable modificada por volátil puede ser cambiada inesperadamente por otras partes del programa.
74. ¿Qué es la sobrecarga de métodos y la anulación de métodos?
Sobrecarga de métodos: cuando se dice que un método en una clase que tiene el mismo nombre de método con diferentes argumentos es sobrecarga de métodos. Anulación de método: cuando se dice que un método en una clase que tiene el mismo nombre de método con los mismos argumentos es anulación de método.
75. ¿Cuál es la diferencia entre sobrecargar y anular?
En la sobrecarga, existe una relación entre los métodos disponibles en la misma clase, mientras que en la anulación, existe una relación entre un método de superclase y un método de subclase. b) La sobrecarga no bloquea la herencia de la superclase, mientras que la anulación bloquea la herencia de la superclase. c) En la sobrecarga, los métodos separados comparten el mismo nombre, mientras que en la anulación, el método de subclase reemplaza a la superclase. d) La sobrecarga debe tener firmas de métodos diferentes, mientras que la anulación debe tener la misma firma.
76. ¿Cuál es la diferencia entre los procedimientos y los programas orientados a objetos?
En el programa de procedimiento, la lógica de programación sigue ciertos procedimientos y las instrucciones se ejecutan una tras otra. En el programa OOP, la unidad del programa es un objeto, que no es más que una combinación de datos y código. b) En el programa de procedimiento, los datos se exponen a todo el programa, mientras que en el programa OOP se puede acceder con él en el objeto y, a su vez, se garantiza la seguridad del código.
77. ¿Qué son la encapsulación, la herencia y el polimorfismo?
La encapsulación es el mecanismo que une el código y los datos que manipula y mantiene a salvo tanto la interferencia externa como el mal uso. La herencia es el proceso por el cual un objeto adquiere las propiedades de otro objeto. El polimorfismo es la característica que permite utilizar una interfaz para acciones de clase generales.
78. ¿Cuál es la diferencia entre Asignación e Inicialización?
La asignación se puede realizar tantas veces como se desee, mientras que la inicialización solo se puede realizar una vez.
79. ¿Qué son las OOP?
La programación orientada a objetos organiza un programa alrededor de sus datos, es decir, objetos y un conjunto de interfaces bien definidas para esos datos. Un programa orientado a objetos se puede caracterizar como datos que controlan el acceso al código.
80. ¿Qué es UNICODE?
Unicode se utiliza para la representación interna de caracteres y cadenas y utiliza 16 bits para representarse entre sí.
81. ¿Qué es la recolección de basura y cómo llamarla explícitamente?
Cuando una variable ya no hace referencia a un objeto, Java recupera automáticamente la memoria utilizada por ese objeto. Esto se conoce como recolección de basura. Sistema. El método gc () puede usarse para llamarlo explícitamente.
82. ¿Qué es un objeto y cómo se le asigna memoria?
Object es una instancia de una clase y es una unidad de software que combina un conjunto estructurado de datos con un conjunto de operaciones para inspeccionar y manipular esos datos. Cuando se crea un objeto usando un nuevo operador, se le asigna memoria.
83. ¿Cuál es la diferencia entre constructor y método?
El constructor se invocará automáticamente cuando se cree un objeto, mientras que el método debe llamarse explícitamente.
84. ¿Qué son los métodos y cómo se definen?
Los métodos son funciones que operan en instancias de clases en las que se definen. Los objetos pueden comunicarse entre sí mediante métodos y pueden llamar métodos en otras clases. La definición del método tiene cuatro partes. Son el nombre del método, el tipo de objeto o el tipo primitivo que devuelve el método, una lista de parámetros y el cuerpo del método. La firma de un método es una combinación de las tres primeras partes mencionadas anteriormente.
85. ¿Qué se entiende por herencia y cuáles son sus ventajas?
La herencia es el proceso de heredar todas las características de una clase. Las ventajas de la herencia son la reutilización del código y la accesibilidad de las variables y métodos de la superclase por subclases.
86. ¿Cuál es la diferencia entre this () y super ()?
this () puede usarse para invocar un constructor de la misma clase, mientras que super () puede usarse para invocar un constructor de superclase.
87. ¿Cuál es la diferencia entre superclase y subclase?
Una superclase es una clase que se hereda, mientras que la subclase es una clase que hereda.
88. ¿Qué modificadores se pueden usar con la clase de nivel superior?
public, abstract y final se pueden usar para la clase de nivel superior.
89. ¿Qué son la clase interna y la clase anónima?
Clase interna: las clases definidas en otras clases, incluidas las definidas en los métodos, se denominan clases internas. Una clase interna puede tener cualquier accesibilidad, incluida la privada. Clase anónima: la clase anónima es una clase definida dentro de un método sin nombre y se instancia y declara en el mismo lugar y no puede tener constructores explícitos.
90. ¿Qué es un paquete?
Un paquete es una colección de clases e interfaces que proporciona una capa de alto nivel de protección de acceso y gestión de espacio de nombres.
91. ¿Cuál es la diferencia entre clase abstracta e interfaz?
Todos los métodos declarados dentro de una interfaz son abstractos, mientras que la clase abstracta debe tener al menos un método abstracto y otros pueden ser concretos o abstractos. b) En la clase abstracta, la palabra clave resumen debe usarse para los métodos, mientras que la interfaz no necesita usar esa palabra clave para los métodos. c) La clase abstracta debe tener subclases, mientras que la interfaz no puede tener subclases.
92. ¿Cómo manejan los servlets múltiples solicitudes simultáneas?
El servidor tiene múltiples hilos que están disponibles para manejar solicitudes. Cuando llega una solicitud, se asigna a un subproceso, que llama a un método de servicio (por ejemplo: doGet (), doPost () y service ()) del servlet. Por esta razón, un único objeto de servlet puede tener sus métodos de servicio llamados por muchos hilos a la vez.
93. ¿Cuál es la diferencia entre TCP / IP y UDP?
TCP / IP es una comunicación bidireccional entre el cliente y el servidor y es confiable y hay una confirmación sobre cómo llegar el mensaje al destino. Es como una llamada telefónica. UDP es una comunicación unidireccional solo entre el cliente y el servidor y no es confiable y no hay confirmación sobre cómo llegar el mensaje al destino. Es como un correo postal.
94. ¿Cuál es la dirección de Inet?
Cada computadora conectada a una red tiene una dirección IP. Una dirección IP es un número que identifica de manera única cada computadora en la red. Una dirección IP es un número de 32 bits.
95. ¿Qué es el Servicio de nombres de dominio (DNS)?
Es muy difícil recordar un conjunto de números (dirección IP) para conectarse a Internet. El Servicio de nombres de dominio (DNS) se utiliza para superar este problema. Asigna una dirección IP particular a una cadena de caracteres. Por ejemplo, www. mascom. com implica com es el nombre de dominio reservado para los sitios comerciales de EE. UU., moscom es el nombre de la empresa y www es el nombre de la computadora específica, que es el servidor de mascom.
96. ¿Por qué debemos optar por la comunicación interservlet?
Los servlets que se ejecutan juntos en el mismo servidor se comunican entre sí de varias maneras. Las tres razones principales para usar la comunicación interservlet son: a) Manipulación directa de servlet: permite obtener acceso a los otros servlets cargados actualmente y realizar ciertas tareas (a través del objeto ServletContext) b) Reutilización de servlet: permite que el servlet reutilice los métodos públicos de otro servlet c) Colaboración de servlet: requiere comunicarse entre sí compartiendo información específica (mediante la invocación de métodos)
http://97.¿Es posible llamar al servlet con parámetros en la URL?
Si. Puede llamar a un servlet con parámetros en la sintaxis como (? Param1 = xxx || m2 = aaa).
98. ¿Qué es el encadenamiento de Servlet?
El encadenamiento de servlets es una técnica en la que dos o más servlets pueden cooperar para atender una sola solicitud. En el encadenamiento de servlets, la salida de un servlet se canaliza a la entrada del siguiente servlet. Este proceso continúa hasta que se alcanza el último servlet. Su salida se envía de vuelta al cliente.
99. Explicar los métodos, rebind () y lookup () en la clase Naming?
rebind () de la clase Naming (que se encuentra en java. rmi) se usa para actualizar el registro RMI en la máquina del servidor. Naming rebind (“AddSever”, AddServerImpl); La búsqueda () de la clase Naming acepta un argumento, la URL rmi y devuelve una referencia a un objeto de tipo AddServerImpl.
100. ¿Qué es un Java Bean?
Un Java Bean es un componente de software que ha sido diseñado para ser reutilizable en una variedad de entornos diferentes.
101. ¿Qué es un archivo Jar?
El archivo Jar permite implementar eficientemente un conjunto de clases y sus recursos asociados. Los elementos en un archivo jar están comprimidos, lo que hace que descargar un archivo Jar sea mucho más rápido que descargar por separado varios archivos sin comprimir. El paquete java. util. zip contiene clases que leen y escriben archivos jar.
102. ¿Qué es BDK?
BDK, Bean Development Kit es una herramienta que permite crear, configurar y conectar un conjunto de Beans y se puede usar para probar Beans sin escribir un código.
103. ¿Qué es JSP?
JSP es una capacidad de secuencias de comandos dinámicas para páginas web que permite que Java, así como algunas etiquetas especiales, se integren en un archivo web (HTML / XML, etc.). El sufijo termina tradicionalmente con .jsp para indicar al servidor web que el archivo es un archivo JSP. JSP es una tecnología del lado del servidor: no puede hacer ninguna validación del lado del cliente con ella. Las ventajas son: a) El JSP ayuda a que el HTML sea más funcional. Los servlets, por otro lado, permiten la salida de HTML, pero es un proceso tedioso. b) Es fácil hacer un cambio y luego permitir que la capacidad JSP del servidor web que está utilizando compile en un servlet y lo ejecute.
104. ¿Qué son las variables predefinidas u objetos implícitos?
Para simplificar el código en expresiones JSP y scriptlets, podemos usar ocho variables definidas automáticamente, a veces llamadas objetos implícitos. Son solicitud, respuesta, salida, sesión, aplicación, configuración, pageContext y page.
105. ¿Qué son las ACCIONES JSP?
Las acciones JSP utilizan construcciones en sintaxis XML para controlar el comportamiento del motor de servlet. Puede insertar dinámicamente un archivo, reutilizar componentes de JavaBeans, reenviar al usuario a otra página o generar HTML para el complemento de Java. Las acciones disponibles incluyen: jsp: include: incluye un archivo en el momento en que se solicita la página. jsp: useBean: busca o crea una instancia de JavaBean. jsp: setProperty – Establece la propiedad de un JavaBean. jsp: getProperty: inserta la propiedad de un JavaBean en la salida. jsp: forward – Reenvía al solicitante a una nueva página. Jsp: plugin – Genera código específico del navegador que crea un OBJETO o EMBED
106. ¿Qué es un paquete de reflexión?
Java. lang. El paquete reflect tiene la capacidad de analizarse en tiempo de ejecución.
107. ¿Cómo puedo configurar una cookie en JSP?
respuesta. setHeader (“Set-Cookie”, “cadena de cookies”); Para dar el objeto de respuesta a un bean, escriba un método setResponse (respuesta HttpServletResponse) – al bean y en el archivo jsp: <% bean. setResponse (respuesta); %>
108. ¿Qué es la URL?
URL significa Localizador uniforme de recursos y apunta a archivos de recursos en Internet. La URL tiene cuatro componentes: http: // www . habla a. com: 80 / index.html, donde http – nombre del protocolo, dirección – dirección IP o nombre de host, 80 – número de puerto e index.html – ruta del archivo.
109. ¿Qué es RMI y los pasos involucrados en el desarrollo de un objeto RMI?
La Invocación de método remoto (RMI) permite que el objeto java que se ejecuta en una máquina invoque el método de un objeto Java para ejecutarlo en otra máquina. Los pasos necesarios para desarrollar un objeto RMI son: a) Definir las interfaces b) Implementar estas interfaces c) Compilar las interfaces y sus implementaciones con el compilador de Java d) Compilar la implementación del servidor con el compilador RMI e) Ejecutar el registro RMI f) Ejecutar la aplicación
110. ¿Qué es la arquitectura RMI?
La arquitectura RMI consta de cuatro capas y cada capa realiza funciones específicas: a) Capa de aplicación: contiene la definición real del objeto. b) Capa de proxy: consta de trozo y esqueleto. c) Capa de referencia remota: obtiene la secuencia de bytes de la capa de transporte y la envía a la capa proxy. d) Capa de transporte: responsable de manejar la comunicación real de máquina a máquina.
111. ¿Qué es UnicastRemoteObject?
Todos los objetos remotos deben extender UnicastRemoteObject, que proporciona la funcionalidad necesaria para que los objetos estén disponibles desde máquinas remotas.
112. ¿Qué son los elementos de script JSP?
Los elementos de secuencias de comandos JSP permiten insertar código Java en el servlet que se generará a partir de la página JSP actual. Hay tres formas: a) Expresiones de la forma <% = expresión%> que se evalúan e insertan en la salida, b) Scriptlets de la forma <% code%> que se insertan en el método de servicio del servlet, yc) Declaraciones de la forma <%! Código%> que se inserta en el cuerpo de la clase de servlet, fuera de cualquier método existente.
113. ¿Qué son las directivas JSP?
Una directiva JSP afecta la estructura general de la clase de servlet. Por lo general, tiene la siguiente forma: <% @ directive attribute = ”value”%> Sin embargo, también puede combinar múltiples configuraciones de atributos para una sola directiva, de la siguiente manera: <% @ directive attribute1 = ”value1? atributo 2 = "valor2? . . . attributeN = ”valueN”%> Hay dos tipos principales de directivas: page, que permite hacer cosas como importar clases, personalizar la superclase de servlet y similares; e include, que permite insertar un archivo en la clase de servlet en el momento en que el archivo JSP se traduce en un servlet
114. ¿Cómo puedo eliminar una cookie con JSP?
Digamos que tengo una cookie llamada “foo”, que configuré hace un tiempo y quiero que desaparezca. Simplemente: <% Cookie killCookie = nueva Cookie ("foo", nulo); KillCookie setPath ("/"); killCookie setMaxAge (0); respuesta. addCookie (killCookie); %>
115. ¿Cómo se relacionan los servlets y las páginas JSP?
Las páginas JSP se centran en HTML (o XML) con códigos Java y etiquetas JSP dentro de ellos. Cuando se solicita una página JSP a un servidor web que tiene soporte para JSP, verifica si ya ha compilado la página en un servlet. Por lo tanto, las páginas JSP se convierten en servlets y se transforman en Java puro y luego se compilan, cargan en el servidor y se ejecutan.
¿Qué es una interfaz clonable y cuántos métodos contiene?
http://116. No tiene ningún método porque es una interfaz TAGGED o MARKER.
117. ¿Qué son los tipos de datos Clase, Constructor y Primitivo?
Class es una plantilla para múltiples objetos con características similares y es una impresión azul para los objetos. Define un tipo de objeto de acuerdo con los datos que el objeto puede contener y las operaciones que el objeto puede realizar. Constructor es un tipo especial de método que determina cómo se inicializa un objeto cuando se crea. Los tipos de datos primitivos son 8 tipos y son: byte, short, int, long, float, double, boolean, char.
118. ¿Cuál es la diferencia entre un argumento y un parámetro?
Al definir el método, las variables pasadas en el método se denominan parámetros. Al usar esos métodos, los valores pasados a esas variables se llaman argumentos.
119. ¿Qué es la interfaz y su uso?
La interfaz es similar a una clase que puede contener solo la firma del método pero no cuerpos, y es un conjunto formal de método y declaraciones constantes que debe definir la clase que lo implementa. Las interfaces son útiles para: a) Declarar métodos que se espera que una o más clases implementen b) Capturar similitudes entre clases no relacionadas sin forzar una relación de clase. c) Determinar la interfaz de programación de un objeto sin revelar el cuerpo real de la clase.
120. ¿Qué es una clase abstracta?
Una clase abstracta es una clase diseñada con vacíos de implementación para que se completen las subclases y está deliberadamente incompleta.
121. ¿Cuál es la diferencia entre Integer e int?
Integer es una clase definida en java. lang, mientras que int es un tipo de datos primitivo definido en el lenguaje Java. Java no se convierte automáticamente de uno a otro. b) Integer puede usarse como argumento para un método que requiere un objeto, mientras que int puede usarse para cálculos.
122. ¿Cuáles son los diferentes tipos de modificadores de acceso?
public: Se puede acceder a cualquier cosa declarada como public desde cualquier lugar. privado: Cualquier cosa declarada como privada no se puede ver fuera de su clase. protegido: las clases en el mismo paquete y las subclases en los otros paquetes pueden acceder a cualquier cosa declarada como protegida. Modificador predeterminado: solo se puede acceder a las clases en el mismo paquete.
123. ¿Qué es final, finalize () y finalmente?
La palabra clave final se puede utilizar para clase, método y variables. Una clase final no se puede subclasificar e impide que otros programadores subclasifiquen una clase segura para invocar métodos inseguros. Un método final no puede ser anulado. Una variable final no puede cambiar desde su valor inicializado. finalize (): el método finalize () se usa justo antes de que se destruya un objeto y se puede llamar justo antes de la recolección de basura. finalmente: finalmente, una palabra clave utilizada en el manejo de excepciones, crea un bloque de código que se ejecutará después de que se haya completado un bloque try / catch y antes del código que sigue al bloque try / catch. El último bloque se ejecutará independientemente de si se produce o no una excepción. Por ejemplo, si un método abre un archivo al salir, entonces no querrá que el código que cierra el archivo sea ignorado por el mecanismo de manejo de excepciones. Esta palabra clave finalmente está diseñada para abordar esta contingencia.
————————————
Lea también:
Preguntas avanzadas de la entrevista Java -1
Preguntas avanzadas de la entrevista Java -2
Preguntas avanzadas de la entrevista Java -3
Preguntas avanzadas de la entrevista Java -4
Preguntas avanzadas de la entrevista Java -5
Preguntas avanzadas de la entrevista Java -6
Preguntas avanzadas de la entrevista Java -7
Preguntas avanzadas de la entrevista Java -8
Preguntas avanzadas de la entrevista Java -9
Preguntas avanzadas de la entrevista Java -10
Preguntas avanzadas de la entrevista Java -11
Preguntas avanzadas de la entrevista Java -12
Preguntas avanzadas de la entrevista Java -13
Preguntas avanzadas de la entrevista Java -14