[Colección recomendada] ¡Dos años de experiencia en entrevistas en Java, llenos de productos secos!

Prólogo :

Desde el año anterior al nuevo año surgió la idea de dejar un trabajo. En el nuevo año, la empresa propuso renunciar a principios de marzo a la renuncia oficial el día 23. También fui a entrevistar a varias empresas durante Más tarde siempre sentí que siempre tenía que pedir permiso para encontrar trabajo, decidida a encontrar trabajo después de irme. El 10 de abril, encontré una empresa de Internet y postulé con éxito para el trabajo. También experimenté muchas empresas en el medio, incluida la subcontratación, emprendedores, Internet, etc. También recibí muchas ofertas y algunas entrevistas no fueron fáciles ... Hoy, usaré un blog para registrar las preguntas de mi entrevista, y hablaré sobre el tema de qué nivel de java debería tener en dos años para cumplir con los requisitos del mercado actual.

 

Este directorio de blogs:

1: Preguntas en la entrevista

Dos: Preguntas a las que prestar atención en la entrevista

Tres: sobre la elección final

Cuatro: que nivel de java debería tener en dos años

 

1: Preguntas en la entrevista

 

Marco de la colección de Java:

1: introducir el marco de colección de java

2: ¿Qué sucede cuando HashMap encuentra un conflicto de hash? ¿Es seguro el hilo de HashMap? ¿Cuáles son los problemas con HashMap bajo alta concurrencia? ¿Entonces introduce el principio de ConcurrentHashMap?

3: ¿La diferencia entre Hahtable y concurrentHashMap?

4: ¿La diferencia entre array y ArrayList? ¿Cómo se expande Arraylist?

5: ¿Qué cola se selecciona generalmente para la cola de bloqueo en el grupo de subprocesos? ¿Por qué?

6: ¿El principio de RetreenLock? ¿El principio de AQS?

7: ¿Por qué se recomienda que la capacidad de HashMap sea una potencia de 2?

 

Clase de trama:

1: ¿Qué pasa con la caché secundaria de mybatis?

2: ¿Cuál es la diferencia entre # {} y $ {} de mapeador en mybaits? ¿Qué puede prevenir la inyección de sql?

2: Sabemos que no hay ningún objeto entre el mapeador y la interfaz de mybatis, entonces, ¿cómo se mapea?

4: ¿Cuáles son las anotaciones de springmvc? ¿Cuál es su principio?

5: ¿El controlador springmvc es singleton? ¿Es seguro para subprocesos?

6: ¿Cuál es la diferencia entre struts1 y struts2? ¿Es seguro para subprocesos?

7: ¿Cómo analiza Spring su archivo xml?

8: ¿Cuál es el núcleo de la primavera? ¿Cuál es el principio de Aop?

 

Relacionado con Redis:

1: ¿Cuáles son los tipos de datos de redis?

2: ¿Cómo se ordenan los tipos de datos de zset?

3: ¿Cómo funciona redis como capa intermedia de almacenamiento en caché del proyecto?

4: ¿Cuál es la complejidad temporal del hash de redis?

 

base de datos:

1: ¿Cuáles son los tipos de índices de bases de datos? ¿Cuáles son las cuestiones a las que se debe prestar atención en el índice compuesto?

2: ¿Qué es el bloqueo pesimista y qué es el bloqueo optimista? ¿Cómo lograr un bloqueo pesimista?

3: ¿Cuál es el orden de ejecución de las palabras clave de la base de datos?

4: ¿Cómo optimizar SQL?

5: ¿Ha realizado alguna vez operaciones de subtabla de subbase de datos? ¿Cómo mantener la transacción consistente después de la subbase de datos?

 

Distribuidos y microservicios:

1: ¿Qué problemas deben superar los microservicios? ¿Cómo se comunica el sistema de microservicios?

2: ¿Cómo resolver el problema de la incoherencia de sesiones en un entorno distribuido?

3: ¿Cómo garantizar que la identificación sea coherente en modo distribuido?

4: ¿Qué problemas encontró durante el uso de dubbo?

5: ¿Cuáles son los algoritmos de equilibrio de carga de Zookeeper?

 

relacionado con el código fuente jdk

1: ¿El principio de sincronizado? ¿Cómo debe usarse? ¿Cómo se puede sincronizar un método? ¿Pueden entrar otros hilos no sincronizados?

2: ¿Cómo resolver el problema ABA en CVS?

3: ¿Cuál es el principio de volátil? ¿Es lo volátil necesariamente seguro para subprocesos?

4: ¿Qué es ThreadLocal? Cual es su principio?

5: ¿Ha utilizado CountDowanLatch? ¿Qué tipo de escena es adecuada para usar?

 

Patrón de diseño relacionado:

1: implementar dos modos singleton

2: hablar sobre el modo de observador

3: ¿Qué patrones de diseño se utilizan en primavera?

4: ¿Cómo se implementa el modo proxy dinámico?

5: ¿Qué patrones de diseño ha utilizado en el proyecto? Explique el escenario empresarial
 

Relacionado con el algoritmo:

1: ¿La complejidad temporal de la clasificación rápida? Clasificación rápida manuscrita (tenga en cuenta la implementación recursiva y no recursiva)

2: búsqueda binaria manuscrita

3: Orden de pila manuscrita

4: ¿Cómo separar números pares e impares en una matriz int?

5: utiliza el algoritmo para realizar String para duplicar

 

relacionado con jvm :

1: ¿Cuáles son los algoritmos de recolección de basura de jvm? ¿Explica por separado?

2: ¿Por qué la nueva generación debería establecer dos áreas de supervivencia?

3: ¿Cómo obtener la versión jdk de un archivo .class?

4: ¿El modelo de memoria de JVM? ¿Cuáles son hilos privados? ¿Cuáles son públicos?

 

Sobre su proyecto (el tiempo más largo para preguntar)

1: ¿Describe brevemente tu proyecto? ¿Qué haces principalmente en él?

2: ¿Qué problemas encontró en el proyecto? ¿Cómo se resolvió al final?

3: ¿Qué tan grande es el proyecto? ¿Cuánto tiempo dura el ciclo (muchos preguntan este)

4: ¿Cuéntame sobre la implementación específica de un determinado módulo? Entonces escoge de él

5: ¿Cómo resolver altas solicitudes concurrentes en un momento determinado?

6: ¿Cómo resolver el problema del tiempo de espera de la devolución de llamada de pago del pedido? ¿Cómo se deben redactar las encuestas?

 

otro:

1: ¿Cómo cortar la cima de la escena del pico?

2: ¿Cuál es la diferencia entre http y udp?

3: Problemas entre dominios de ajax

4: ¿La diferencia entre nio e io? Cuando usar nio

5: Hable sobre los comandos comunes de Linux, ¿cuáles son los comandos para que Linux vea la memoria?

7: ¿Qué debo hacer si git encuentra un conflicto de código?

8: Hablando de varios comandos comunes de maven, ¿cómo elimina maven el conflicto de un paquete jar?

 

Dos: Preguntas a las que prestar atención en la entrevista


2.1: Debe tener su propia experiencia real en proyectos

¿Según tengo tanta experiencia en entrevistas? De hecho, algunas empresas se centrarán en preguntar su propia experiencia en proyectos, y algunas empresas se centrarán en hacer preguntas.En general, las empresas de Internet tienen requisitos técnicos más altos, que requieren tanto experiencia en proyectos como nivel técnico.

 

2.2: Se puede representar de forma adecuada, pero no exagerar

Lo más tabú en el proceso de la entrevista es hablar. Gao Wu Jian Lun es muy poderoso, pero los detalles reales no se comprenden. Delante del director técnico, queda claro de un vistazo si estás fanfarroneando o realmente lo estás conociendo. . Si no sabe cómo fingir que comprende, algunos entrevistadores le darán un paso hacia abajo, de lo contrario quedará atascado, lo que fácilmente creará una mala impresión de la entrevista.

2.3: Poder presentarte

Durante la entrevista, generalmente se le pedirá que se presente. Esto debe dividirse en oficiales técnicos o recursos humanos. Si el oficial técnico se enfoca en revisar la pila de tecnología real y la ruta técnica de su proyecto, no la use si se trata de recursos humanos. Lenguaje más técnico, pero para decir algo de su experiencia laboral real o la operación de su empresa anterior

2.4: Acerca del currículum

Recuerde no ser demasiado prolijo, pero tampoco demasiado simple. Como currículum técnico, debe tener al menos 3 páginas; de lo contrario, RR.HH. pensará que su actitud de búsqueda de trabajo no es muy buena. No importa cómo sean los resultados de búsqueda de trabajo, un buen El currículum te dejará con buenos resultados. Primera impresión

 

Tres: sobre la elección final

Para ser honesto, también he aceptado muchas invitaciones para ofertas de recursos humanos, pero generalmente elijo pensarlo un día antes de responder. La oferta realmente ofrecida fue una empresa de subcontratación, tres empresas de nueva creación y dos empresas de Internet. Al final, elegí una empresa de Internet. Aunque la clase estaba un poco lejos (había que tomar un autobús al bajar del metro , y luego elegí andar en bicicleta), pero las empresas de Internet le darán una tasa de crecimiento rápida y las pilas de tecnología de Internet son relativamente nuevas ... En comparación con las empresas tradicionales, habrá más desafíos técnicos. Para una empresa de outsourcing, el ambiente puede no ser muy bueno. Recuerdo que cuando era un novato, fui al outsourcing. La ventaja es que habrá trabajo continuo. Si los recién llegados ingresan, todavía ganarán mucho, pero ya hay dos cosas: con años de experiencia, la subcontratación, obviamente, no es adecuada para el desarrollo posterior de mi carrera. Desventajas: La iteración de actualización de tecnología es demasiado lenta y no hay sentido de pertenencia. Mi opinión personal es elegir la tecnología primero. Después de todo, el camino del software será largo en el futuro y la tecnología es el camino real.

 

Cuatro: que nivel de java debería tener en dos años

 Durante el proceso de entrevista de Java de dos años, encontré muchos desafíos y también encontré algunas empresas que no hablan de tecnología. De las preguntas de la entrevista anterior, podemos ver que los requisitos actuales para Java son cada vez más altos. Después de todo, el número de personas en esta industria está aumentando. Cuantas más, y la única manera de mantener su competitividad es encontrar la dirección correcta y seguir aprendiendo. Tenga en cuenta que el primer punto que mencioné aquí es la dirección, y luego el aprendizaje. Desarrollar un plan de carrera para mí y seguir esta ruta. De hecho, todavía quiero aprender más sobre microservicios distribuidos en el futuro, pero de acuerdo con los requisitos del mercado, ahora es urgente. Algunas arquitecturas técnicas como springcloud y duboo deben mantenerse. Estudiar para ser competitivo! Como javaSir de dos años, debe tener las siguientes habilidades

1: Capacidad para leer el código fuente, use Intelj idea como herramienta de desarrollo en lugar de eclipse. Admite directamente la descompilación de archivos de clase, leer más código fuente jdk, absorber código fuente excelente y reutilizarlo

2: Para poder escribir algoritmos de clasificación comunes, como clasificación rápida y clasificación de montón, clasificación de burbujas, clasificación de selección, búsqueda binaria, todos estos son necesarios

3: Tener un conocimiento profundo del framework Java. Mucha gente conoce el framework ssm básico y popular, pero no hay mucha gente que conozca algunos principios. Tienes que seguir estudiando estos frameworks ellos mismos. Todos son excelentes después de varios temperamentos. Frame

4: Usa más redis \ mongodb. Las bases de datos relacionales tradicionales ya no tienen demanda en el mercado. Estas cosas también son parte de la entrevista. Aunque no son el foco, también son opciones para puntos extra.

5: Para microservicios y distribuidos, esto es un cierto grado de dificultad. Cuando entrevisté a Renrenche, fue bien por un lado, pero fue aprobado por el director técnico por el otro. ¡El problema es que distribuido no es muy familiar! Para entrar en una buena empresa de Internet son necesarios los microservicios distribuidos

6: La capa inferior de jvm, el libro que se recomienda aquí es el libro "Deep Jvm Virtual Machine" de Zhou Zhiming, siempre lo leo en mi tiempo libre, por lo que el problema de jvm todavía está al alcance de mi mano

 

Finalmente envíe beneficios :

Compartiré con ustedes una gran cantidad de materiales. Estos materiales son todos libros electrónicos de Java, notas de estudio, las últimas rutas de aprendizaje, preguntas de prueba escritas, preguntas de entrevista, herramientas de desarrollo, tutoriales de libros de documentos PDF, cursos de video de cero a nivel básico compilado por mí. en los últimos años., Plantillas de currículum vitae de solicitud de empleo de Java, cara de programadores de Java y otros materiales de aprendizaje, gratis para compartir con todos, todos los materiales están en mi grupo de intercambio de tecnología Java: 127522921, no hay rutina, únase al grupo para guardar ¡tú mismo! Compré muchos de ellos con dinero. Bienvenidos a todos a unirse al grupo, también pueden discutir la tecnología, ¡bienvenidos a unirse!

 

Supongo que te gusta

Origin blog.csdn.net/deqing271/article/details/114586009
Recomendado
Clasificación