Entrevista Java de 50 minutos, se hacen preguntas comunes

Los temas de las entrevistas siempre son muy populares, especialmente las entrevistas sobre las grandes fábricas, pero de hecho, solo muy pocos programadores pueden ingresar a las grandes fábricas, a las pequeñas y medianas empresas más ordinarias y, por supuesto, hay una clase de empresas de subcontratación que son controvertidas. El estilo de las pequeñas y medianas empresas es en realidad muy diferente al de las grandes fábricas. Este tipo de entrevista puede ser más valiosa para la mayoría de los programadores. Espero que la experiencia de la entrevista de este compañero de clase pueda ser útil para usted.

Antecedentes de la entrevista:

2022-06. Entrevista telefónica, licenciatura, 2 años de experiencia laboral, salario alrededor de 12K, una ronda de entrevistas, finalmente aprobada

La entrevista duró 50 minutos, presumiblemente debería ser la primera entrevista de la empresa de outsourcing.


El entrevistador no habló demasiado. Simplemente preguntó para qué puesto estaba siendo entrevistado y luego comenzó directamente. Permítanme hablar primero sobre la pila de tecnología común y luego comenzaron a hacer preguntas.

======Fundamentos de Java======

Problema 1: Reescritura y sobrecarga

Preguntas muy básicas, generalmente solo aparecen en entrevistas para jóvenes. Si quiere pretender ser B, puede llevar el tema al método Equals de Object Por ejemplo, puede decir que la reescritura es un concepto muy importante en la orientación a objetos, y también es una de las manifestaciones del polimorfismo. La reescritura más común es La reescritura del método Equals, como la clase String de uso común, reescribe el método Equals. . . .

Para los programadores junior ordinarios, esta respuesta es muy buena hasta ahora, y los programadores de Sheniu pueden continuar descargando, puede hablar sobre si ha reescrito en su trabajo, como la reescritura de POJO es igual, la anulación del método hasCode. Y por qué se debe anular el método hasCode. Y cuando se trata de reescribir los métodos equals y hasCode, involucra las súper preguntas de entrevista de List, map y set.

Pregunta 2: ¿Se puede anular el método estático de la clase principal?

Pregunta 3: ¿Cuál es el papel de la estática?

Estático tiene diferentes efectos en clases, campos, métodos, bloques de código y constructores estáticos. No entraré en detalles sobre clases, campos y métodos. Los bloques de código estático no se usan mucho. Puede ver el siguiente enlace: https: //blog.csdn.net/sinat_33921105/articulo/detalles/79509638

Para preguntas muy básicas, los entrevistadores con un poco de conocimiento pueden preguntar sobre clases, campos y métodos, y los entrevistadores con un poco de habilidad profundizarán y preguntarán sobre la función de los bloques de código. Además, si la subclase hereda la clase padre, el orden de ejecución del bloque de código y el constructor estático. Y este problema es puramente difícil de memorizar, la mejor manera es codificar. Escriba el código en varias situaciones, mire los resultados de la ejecución y luego piense por qué está diseñado de esta manera, para comprender por qué las clases estáticas están diseñadas de esta manera.

Pregunta 4: ¿Dónde se almacenan los datos en estático?

No hay muchas cosas en Internet sobre este tema, encontré una mejor explicación y la dejé aquí, los lectores pueden verla en detalle.

https://blog.csdn.net/AOSIDIN/article/details/120017024

Para las entrevistas de la mayoría de los ingenieros junior, no es un gran problema que esta pregunta no se pueda responder, y no está mal poder decir en qué área de Jvm se encuentra. Si desea obtener una OFERTA mejor, le sugiero que comprenda cuidadosamente el contenido del artículo.

Pregunta 5: ¿Cuál es la diferencia entre una interfaz y una clase abstracta?

Pregunta 6: ¿Existe una implementación predeterminada para los métodos en la interfaz?

Las dos preguntas anteriores son preguntas relativamente básicas en conceptos orientados a objetos. En la pregunta 6, lo que el entrevistador quiere preguntar es su comprensión de las características de JDK1.8. Después de 1.8, los métodos de interfaz pueden tener implementaciones predeterminadas, pero antes de 1.8 hay No.

Pregunta 7: Pasar por valor y pasar por referencia

Pregunta 8: ¿Java se pasa por valor o por referencia?

De hecho, no existe el concepto de pasar por referencia en Java. Todo el paso de parámetros es realmente pasar por valor, pero si el valor pasado es

Pregunta 9: ¿Para qué sirve la final? ¿Alguna vez has usado final? ¿Para qué negocio?

Pregunta 10: Tengo un método, defino i=0 en el bloque de prueba, luego i++ y regreso. I++ también se ejecuta en el bloque final, ¿cuál es el valor devuelto final?

Mira el código primero:

Prueba de clase pública { 
  public static void main(String[] args){ 
      int a = dod(); 
      System.out.println("retorno:"+a); 
  } 

  public static int dod(){ 
      int i=0; 
      prueba{ 
          i++; 
          System.out.println("intentar:"+i); 
          devolver yo; 
      } 
      finalmente { 
          i++; 
          System.out.println("finalmente:"+i); 
      } 
  } 
} 

===========运行结果======== 
intentar:1 
finalmente:2 
devolver:1

Se puede ver en el código que el valor de retorno no se ve afectado por el código en finalmente.

======== Multiproceso =======

Pregunta 11: ¿Se han utilizado hilos? ¿Cómo se crean los hilos?

Pregunta 12: ¿Cuál es la diferencia entre Callable y runnable?

Pregunta 13: ¿Cuál es la diferencia entre esperar y dormir?

Pregunta 14: ¿Cómo entiendes sincronizado?

Pregunta 15: ¿Bloquea el objeto o el método?

Pregunta 16: ¿Se ha utilizado la cerradura?

Pregunta 17: ¿Alguna vez se ha encontrado con un punto muerto?

Pregunta 18: ¿Cómo evitar una situación de punto muerto?

Bloqueo optimista y pesimista

Esta serie de preguntas básicamente tiene respuestas de la 11 a la 15 en varios bancos de preguntas de entrevistas, y generalmente no hay preguntas. La verdadera prueba está en las preguntas 17 y 18, porque el entrevistador necesita que cuentes una escena que puede causar un punto muerto. , y cómo evitar esta situación, si no puede decirlo, el entrevistador puede concluir que su comprensión de subprocesos múltiples es relativamente básica.

Además, si no se pueden responder las preguntas 11 a 15, no habrá pregunta 17 y el solicitante de empleo puede responderla.

======Colección======

Pregunta 19: ¿Cuáles son las interfaces de uso común en las colecciones de Java?

Esta forma de preguntar es un poco extraña, los estudiantes que fueron entrevistados estaban un poco confundidos al principio, pero los estudiantes eran más inteligentes, entonces le pidieron al entrevistador que diera un ejemplo, el entrevistador dijo, por ejemplo, Lista. En este momento, los estudiantes saben qué responder.

Este tipo de situación es muy común en las entrevistas, el entrevistador puede tener varios puntos de entrada para una pregunta, es normal no entenderla por un tiempo, deje que el entrevistador la resuelva por un tiempo y usted puede entender de qué se trata.

Pregunta 20: ¿Cuál es la estructura de datos subyacente de HashMap?

Pregunta 21: ¿Cuál es el mecanismo de expansión de ArrayList?

No hay nada que decir en esta parte, las entrevistas de Java serán necesarias, la estructura de datos subyacente de HashMap, al menos debe poder responder matrices más listas vinculadas más árboles rojo-negro, y cuándo usar listas vinculadas y cuándo usar árboles rojo-negros. También está el mecanismo de expansión y el factor de crecimiento de HashMap. Las empresas con mayores requisitos (como los grandes fabricantes) harán preguntas más profundas, como por qué el tamaño inicial de HashMap es 16, por qué el factor de crecimiento es 0,75, por qué se duplica la capacidad una vez, y por qué la lista enlazada Más de 8 utilizará el árbol rojo-negro. Otros preguntarán si se le pide que diseñe un HashMap, ¿cómo lo diseñaría y qué problemas habrá si usa HashMap en un escenario de subprocesos múltiples? ¿Cómo resolver, etc.?

====Manejo de excepciones=====

Pregunta 22: excepciones comunes en Java

Pregunta 23: La diferencia entre Throw y Throws

Las preguntas son relativamente básicas y es suficiente para que los novatos comunes las respondan. Si desea obtener un salario alto, puede profundizar desde la perspectiva del mecanismo de manejo de excepciones en el proyecto. Especialmente en proyectos web, cómo se realiza el manejo de excepciones de todo el proyecto. Cómo hacer un manejo global de excepciones en el back-end y cómo hacer un manejo unificado de excepciones en el front-end.

=======Marco de Primavera======

Pregunta 24: ¿Ha visto la implementación de IOC en primavera?

Pregunta 25: ¿Cuál es el alcance de los frijoles en Spring?

Pregunta 26: Flujo de trabajo de Mvc

Pregunta 27: Anotaciones comunes de Spring y SpringMvc

Pregunta 28: Diferencia entre @Autowired y @Resource

Pregunta 29: ¿Por qué SpringBoot puede volverse popular ahora?

Todas son preguntas de entrevista relativamente básicas en Spring, y también son preguntas de entrevista muy comunes. Nada que decir.

=====Base de datos=======

Pregunta 30: ¿Qué es la lectura fantasma de lectura sucia en MySql?

Pregunta 31: ¿Se ha utilizado el índice?

Pregunta 32: ¿Cuáles son las situaciones en las que el índice deja de ser válido?

más importante, será

Pregunta 33: Diferencia entre varchar y char

Pregunta 34: En varchar(20), ¿cuál es la unidad de 20? ¿Es un carácter o un byte?

Pregunta 35: ¿Ha almacenado expresiones emoji en la base de datos?

El solicitante de empleo preguntó sobre el almacenamiento de archivos de imágenes en la base de datos y habló sobre cómo almacenar archivos binarios en la base de datos. Este método es casi imposible de usar en el trabajo real, y es suficiente para responder a la pregunta. No se recomienda su uso. este método en sus propios proyectos.

De hecho, hay otro ángulo para responder a esta pregunta, porque la expresión emoji es en realidad un fragmento de código. Por ejemplo, lo que se almacena en la base de datos es: Estoy [triste], y la interfaz del software lo mostrará como: Yo estoy muy triste.

Esta función generalmente debe coordinarse con la arquitectura de la pantalla frontal. Por ejemplo, componentes de cuadro de edición enriquecido comunes.

Pregunta 36: Si es para registrar dinero, ¿qué campo se utiliza?

Pregunta 37: ¿Cómo controlar la precisión?

Esto se pregunta a menudo cuando se hacen preguntas sobre tipos de datos y debe entenderse.

Pregunta 38: ¿Qué son las uniones izquierda y derecha en MySql?

Pregunta 39: Cuando encuentra que Sql es lento, ¿cómo lo maneja?

Pregunta 40: ¿Se ha utilizado la palabra clave de explicación en MySql?

Pregunta 41: ¿Se puede agregar cualquier campo si se agrega un índice?

Pregunta 42: ¿Se puede indexar el género?

Las preguntas 39 a 42 son preguntas típicas relacionadas con la optimización de bases de datos. Muchos principiantes no saben cómo explicar. Aunque muchos de ellos no pueden responder a esta pregunta, aún pueden pasar la entrevista. Sin embargo, se recomienda estudiar explicar cuidadosamente, lo cual también es muy beneficioso para el trabajo práctico.

Las preguntas 41 y 42 requieren una comprensión real de los índices y la memorización no es suficiente.

====== Caché ======

Pregunta 43: ¿Es útil el almacenamiento en caché?

Pregunta 44: ¿Cuáles son los tipos de caché más utilizados?

Pregunta 45: ¿Cuál es la estrategia de eliminación en Redis?

Pregunta 46: Escenarios de uso de Redis

Pregunta 47: ¿Qué datos se almacenan en caché?

Pregunta 48: ¿Conoce la penetración de caché?

Pregunta 49: ¿Se ha hecho la persistencia de Redis?

En cuanto al almacenamiento en caché, esto puede ser muy simple o puede ser muy difícil. Por lo general, los entrevistadores experimentados le preguntarán directamente cómo se usa el caché. Luego, le comunicará los problemas que puedan surgir en su uso en función del uso real de su proyecto.

=====Protocolo HTTP=====

Pregunta 50: ¿Alguna vez has tocado Http?

¿Es el protocolo Http o? Sí. No se ha entendido el protocolo Http

Pregunta 51: ¿Cuáles son los métodos del protocolo Http?

Pregunta 52: ¿Para qué se pone?

Pregunta 53: ¿Qué sueles usar?

Pregunta 54: ¿También se utiliza la publicación para modificar datos?

Pregunta 55: ¿Cuáles son los códigos de estado de uso común en Http?

El protocolo HTTP rara vez se pregunta la mayor parte del tiempo, porque generalmente la entrevista técnica termina en unos 30 minutos, y básicamente no hay mucho tiempo para hacer preguntas tan básicas, pero esta es una pregunta básica que muchos principiantes ignorarán. Es doloroso para usted memorizar las preguntas de la entrevista, puede renunciar a esta pregunta y luego buscar más durante la entrevista, lo que no tendrá un gran impacto en el resultado final de la búsqueda de empleo. Si no sientes tanto dolor, te sugiero que te tomes un tiempo para entenderlo, después de todo, si tienes la capacidad de hacer desarrollo WEB, no es difícil entender esto.

====== Gestión de código ======

Pregunta 55: ¿Qué gestión de versiones de código se ha utilizado?

Pregunta 56: ¿Se entiende el conflicto?

Pregunta 57: ¿No te preocupa que tu código se arruine?

El problema más común en la gestión de códigos es qué hacer si el código entra en conflicto. El principio central aquí es no eliminar códigos en conflicto sin autorización, y debe comunicarse claramente antes del procesamiento.

Otros a menudo preguntarán acerca de algunos comandos comunes de git. En general, esta parte no es demasiado importante y es mejor conocerla. Incluso si no puede responderla, generalmente puede hacerlo en poco tiempo en el trabajo real. . Solo depende de cuánto se apegue el entrevistador a esta parte.

======Escenario empresarial=======

Pregunta 58: ¿Alguna vez ha realizado un pedido y pago?

Pregunta 59: ¿Qué tipo de orden es?, ¿Es lo mismo que Taobao?

Pregunta 60: ¿Presenta la función de orden en general?

Pregunta 61: Si le pidieran que hiciera un pedido de un producto, ¿cómo lo diseñaría?

Pregunta 62: ¿Qué pasa con toda la información del producto en un solo pedido?

Pregunta 63: ¿Quiere hacer una tabla de asociación entre pedidos y productos?

Pregunta 64: Si te pidieran que diseñaras un proceso para pagar y guardar un pedido, ¿cómo lo diseñarías?

Pregunta 65: ¿Cómo lidiar con el problema de inventario en el producto?

Pregunta 66: Si no hay pago después de realizar el pedido, ¿se reducirá el inventario de este producto?

Pregunta 67: si hay 10 productos, 20 personas entran a comprarlos y las 20 personas están en estado de espera para pagar. En este momento, 10 personas ya han pagado, ¿qué deben hacer las 10 personas restantes?

Pregunta 68: Esta situación es muy vergonzosa. Tengo algo mal con el pedido, pero no pagué. Después de un tiempo, el pedido se fue. ¿No es vergonzoso?

Pregunta 69: ¿JWT entiende?

Pregunta 70: ¿Se ha utilizado en el proyecto?

Las preguntas de escenario son las preguntas de la entrevista que mejor pueden indicar el nivel de las entrevistas técnicas. No hay una buena manera de resolver este tipo de preguntas, sino pensar más y acumular más en el proceso de aprendizaje habitual. Por supuesto, algunas de las escenas más clásicas se pueden superar a corto plazo. Por ejemplo, la escena del pedido y la escena del pago en esta entrevista.

=====Otros=====

Pregunta 71: ¿Sabes algo relacionado con Linux?

Pregunta 72: ¿Estás estudiando algo recientemente?

Pregunta 73: ¿Cuánto sabe Cloud?

Pregunta 74: ¿Cómo piensa sobre la futura dirección de desarrollo profesional o la dirección de desarrollo tecnológico?

Pregunta 75: ¿Cómo era su flujo de trabajo anterior?

Pregunta 76: ¿Cómo se despliega su proyecto?

Las preguntas 72 y 74 son generalmente preguntas de recursos humanos. Las empresas de desarrollo propio hacen más preguntas y las empresas de subcontratación rara vez hacen preguntas. Muchas de las sugerencias que se dan en Internet para las respuestas a este tipo de preguntas son bastante pretenciosas, como la planificación futura.Hay muchas sugerencias que espero poder ser un gerente de proyecto en los próximos años y un supervisor técnico en un pocos años Este tipo de respuesta El camino es una mierda. ¿Cómo puede todo el mundo ser un líder?

Sugiero que las preguntas de planificación de carrera se respondan desde la perspectiva de lo que quiere hacer en el futuro. Por ejemplo, espera poder completar el desarrollo del proyecto de forma independiente dentro de un año y poder completar el desarrollo del código público del proyecto o componentes dentro de dos años. , 3 años para alcanzar el nivel de arquitectos. Aprenda algunos conocimientos de gestión de proyectos dentro de los 5 años y tenga la capacidad básica de los gerentes de proyectos.

También puede usar algunas formas más realistas para responder, como cuánto salario desea obtener. Muchas personas en Internet dicen que las empresas están disgustadas con buscadores de empleo tan vulgares. En mi opinión, esta es en realidad la forma más fácil de medir muchas cosas, y desde la perspectiva de los buscadores de empleo, hablar sobre este asunto también puede filtrar algunos. con empresas con PUA en el lugar de trabajo y empresas que pueden aceptar solicitudes de empleo con ideas salariales abiertas, creo que tales empresas no serán tan malas.

===========================

En general, esta entrevista es una típica entrevista de estilo de lista.Parece que el entrevistador tiene un conjunto de bancos de preguntas, y se hacen la mayoría de las preguntas comunes de entrevista de ingeniero de Java. Algunos temas que pregunta el entrevistador son relativamente superficiales y otros profundizarán un poco más.

Si encuentra útil este estilo de experiencia de entrevista, por favor deme un pulgar hacia arriba o deje un comentario en el área de discusión para apoyarme y darme más motivación para persistir en este tipo de escritura.

 

Supongo que te gusta

Origin blog.csdn.net/aley/article/details/126013464
Recomendado
Clasificación