¿Cuáles son las preguntas más comunes en las entrevistas sobre Java?
Preguntas más frecuentes.
En segundo lugar, ¿pueden las clases internas anónimas extender otras clases e implementar interfaces?
3. Cuanto más puedas explicar sobre la diferencia entre clases anidadas estáticas y clases internas, mejor (algunas preguntas de la entrevista son muy generales).
Cuarto, la diferencia entre & y & & amp;
Esta pregunta rara vez se hace.
En quinto lugar, la diferencia entre HashMap y Hashtable.
Preguntas frecuentes.
En sexto lugar, la diferencia entre colección y colección.
Nunca digas que uno es singular y el otro plural.
Séptimo, cuándo utilizar afirmar.
Los técnicos de nivel API pueden preguntar esto.
Octavo, ¿qué es GC? ¿Por qué hay GC?
Conceptos básicos.
Noveno, cadena s = nueva cadena (" XYZ "); ¿cuántos objetos de cadena se crean?
Décimo, ¿cuánto cuesta Math.round(11.5)? ¿Qué es Math.round (-11,5)?
Undécimo, s corto = 1; s 1 = s 1+1; ¿qué pasa? Las preguntas son muy pervertidas, así que prepárate para que abusen de ti.
Duodécimo, ¿cuál es la diferencia entre dormir() y esperar()?
Hilo favorito.
Decimotercero, ¿Java tiene goto?
Esta es la decimotercera pregunta. Si algún entrevistador hace esta pregunta, le aconsejo que no se una a esta empresa.
Decimocuarto, ¿la matriz tiene un método length()? ¿String tiene un método length()?
En quinto lugar, la diferencia entre sobrecarga y ultra vires. ¿Puede un método sobrecargado cambiar el tipo de valor de retorno?
Preguntas frecuentes.
Décimo sexto, los elementos del conjunto no se pueden repetir, entonces, ¿qué método se utiliza para distinguir si se repiten? ¿Es == o igual a ()? ¿Cuál es la diferencia entre los dos?
Décimo séptimo, dame una excepción de tiempo de ejecución que escuches con más frecuencia.
Si no puedes responder a esta pregunta, el entrevistador asumirá que no tienes experiencia real en programación.
Décimo octavo, ¿cuál es la diferencia entre errores y excepciones?
Decimonoveno, ¿la lista, el conjunto y el mapa heredan de la interfaz de colección?
Veinte, ¿cuál es la diferencia entre clases abstractas e interfaces?
Preguntas frecuentes.
Número 21, ¿puede un método abstracto ser estático, nativo y sincrónico al mismo tiempo?
Veintidós, ¿pueden las interfaces heredar interfaces? ¿Puede una clase abstracta implementar una interfaz? ¿Puede una clase abstracta heredar de una clase concreta?
Veintitrés, ¿usas run() o start() para iniciar un hilo?
Vigésimo cuarto, ¿se puede anular el constructor?
Veinticinco, ¿se puede heredar la clase de cadena?
Vigésimo sexto, cuando un hilo ingresa al método sincronizado de un objeto, ¿pueden otros hilos ingresar a otros métodos de este objeto?
Veintisiete, hay una declaración de retorno en el intento {}, entonces, ¿se ejecutará inmediatamente el código finalmente {} después de este intento? ¿Cuándo se ejecutará antes o después del retorno?
Vigésimo octava, pregunta de programación: ¿Cuál es la forma más eficiente de calcular 2 por 8?
A los programadores con experiencia en C les gusta especialmente hacer este tipo de preguntas.
Veintinueve, dos objetos tienen el mismo valor (x.equals(y) == true), pero pueden tener códigos hash diferentes. ¿Es esto correcto?
Treinta, cuando un objeto se pasa como parámetro a un método, este método puede cambiar las propiedades del objeto y devolver el resultado modificado. Entonces, ¿esto se pasa por valor o se pasa por referencia?
Treinta y uno, ¿puede el interruptor actuar sobre bytes, largos y cadenas?
Treinta y dos, problema de programación: escribir una sola entidad.
Bien, hablemos de eso primero.
Respuesta:
Primero hablemos de la diferencia entre final y finalizar.
Final-Modifier (palabra clave) Si una clase se declara como Final, significa que ya no puede derivar nuevas subclases, ni se puede heredar como clase padre. Por tanto, una clase no puede declararse abstracta y final al mismo tiempo. Declarar variables o métodos finales garantiza que no se cambiarán mientras estén en uso. A las variables declaradas finales se les debe asignar un valor inicial cuando se declaran y solo pueden leerse pero no modificarse mediante referencias posteriores. Los métodos declarados como finales sólo se pueden utilizar y no se pueden sobrecargar.
Finalmente: proporcione un bloque Finalmente para realizar cualquier operación de limpieza durante el manejo de excepciones. Si se produce una excepción, se ejecutará la cláusula catch correspondiente y el control pasará al bloque finalmente (si lo hay).
Completo: nombre del método. La tecnología Java permite el uso del método finalize() para realizar la limpieza necesaria antes de que el recolector de basura borre un objeto de la memoria. El recolector de basura llama a este método cuando determina que no se hace referencia al objeto. Está definido en la clase Objeto, por lo que todas las clases lo heredan. Las subclases anulan el método finalize() para organizar los recursos del sistema o realizar otras tareas de limpieza. Antes de que el recolector de basura elimine el objeto, se llama al método finalize().
En segundo lugar, ¿pueden las clases internas anónimas extender otras clases e implementar interfaces?
Las clases internas anónimas son clases internas sin nombres. No se pueden ampliar otras clases, pero otra clase interna puede implementar una clase interna como interfaz.
3. Cuanto más puedas explicar sobre la diferencia entre clases anidadas estáticas y clases internas, mejor (algunas preguntas de la entrevista son muy generales).
Clases anidadas (normalmente C++), clases internas (normalmente JAVA). La mayor diferencia entre las clases internas de Java y las clases anidadas de C++ es si existen referencias externas. ¿Ver /articles/services/view.asp? id = 704 & amppage=1
Nota: Clase interna estática significa que 1 crea un objeto de clase interna estática sin un objeto de clase externo, 2 no puede acceder al objeto de clase externa desde un objeto de clase interna estática.
Cuarto, la diferencia entre & y & & amp;
& amp es un operador bit a bit. & amp& amp son operadores lógicos booleanos.
En quinto lugar, la diferencia entre HashMap y Hashtable.
Todos pertenecen a la clase de interfaz Map, que implementa el mapeo de claves únicas a valores específicos.
La clase HashMap no está categorizada ni ordenada. Permite una clave nula y múltiples valores nulos.
Hashtable es similar a HashMap, pero no permite claves nulas ni valores nulos. También es más lento que HashMap porque es sincrónico.
En sexto lugar, la diferencia entre colección y colección.
Colecciones es una clase bajo java.util, que contiene varios métodos estáticos sobre operaciones de colección.
Collection es una interfaz en java.util y es la interfaz principal de varias estructuras de colección. Séptimo, cuándo utilizar afirmar.
Una aserción es una declaración que contiene una expresión booleana que se supone verdadera cuando se ejecuta. Si la expresión se evalúa como falsa, se informa un error de afirmación. Se utiliza con fines de depuración:
Assertion(a & gt0); //if & lt= 0
La afirmación tiene dos formas:
Expresión de afirmación 1 ;
afirmar expresión 1: expresión 2;
La expresión 1 siempre debe producir un valor booleano.
Expresión2 puede ser cualquier expresión que produzca un valor. Este valor se utiliza para generar un mensaje de cadena que muestra más información de depuración.
De forma predeterminada, las aserciones están deshabilitadas.
Para habilitar aserciones en tiempo de compilación, necesita usar el indicador fuente 1.4:
javac-source 1.4 Test.java
Para habilitar aserciones en tiempo de ejecución, puede usar -enableassertions o -ea bandera.
Para elegir deshabilitar las aserciones en tiempo de ejecución, puede usar el indicador de evaluaciones -da o -disable.
Para habilitar aserciones en clases del sistema, puede usar el indicador -esa o -dsa. También puede habilitar o deshabilitar aserciones por paquete.
Las afirmaciones se pueden colocar en cualquier lugar al que normalmente no se llegaría. Las aserciones se pueden utilizar para validar los parámetros pasados a métodos privados. Sin embargo, las aserciones no deben usarse para validar argumentos pasados a métodos públicos porque los métodos públicos deben verificar sus argumentos independientemente de si las aserciones están habilitadas o no. Sin embargo, puede utilizar aserciones en métodos públicos y no públicos para probar las condiciones posteriores. Además, las afirmaciones no deberían cambiar el estado del programa de ninguna manera.
Octavo, ¿qué es GC? ¿Por qué hay GC? (Base).
GC es un recolector de basura. Los programadores de Java no tienen que preocuparse por la gestión de la memoria porque el recolector de basura la gestiona automáticamente. Para solicitar la recolección de basura, puede llamar a uno de los siguientes métodos:
System.gc()
Runtime.getRuntime(). gc()
Noveno, cadena s = nueva cadena (" XYZ "); ¿cuántos objetos de cadena se crean?
Dos objetos, uno es "xyx" y el otro es el objeto de referencia S que apunta a "xyx".
Décimo, ¿cuánto cuesta Math.round(11.5)? ¿Cuánto cuesta Math.round (-11,5)?
Math.round(11.5) devuelve (largo)12, Math.round(-11.5) devuelve (largo)-11;