Cómo presentar la propia experiencia del proyecto en la entrevista (orientada a la versión mejorada de Java)

    La publicación del blog que escribí hace 3 años, cómo presentar mi experiencia en proyectos en la entrevista , después del apoyo de todos, obtuvo casi 70,000 visitas una tras otra, y también se reimprimió en las cuentas oficiales de muchos sitios web, pero creo que este artículo se centra más en los métodos y no ofrece una retórica específica sobre Java.

    Han pasado tres años. Con la acumulación de mi experiencia como entrevistador y el avance de la tecnología, volveré a escribir este artículo con un escenario de entrevista adecuado para el desarrollo primario actual de Java en 2021. Tenga en cuenta que este artículo no es una simple actualización técnica, ni le enseña mecánicamente a recitar algo de retórica al presentar la experiencia del proyecto, sino que le enseña cómo combinar la experiencia del proyecto para mostrar mejor sus propios aspectos técnicos destacados, de modo que pueda maximizar la mejora. la probabilidad de aprobar la entrevista.

1 Utilice su currículum para obtener más oportunidades de entrevistas

    No quería escribir este párrafo, pero cuando estaba ayudando a algunos compañeros de clase a preparar sus hojas de vida recientemente, descubrí que, aunque son competentes para el desarrollo de Java en la empresa actual, es posible que no puedan obtener una oportunidad de entrevista con su reanuda, o no pueden obtener un salario que los iguale. Además, el proceso de preparación de un currículum es también un proceso de preparación de una declaración de proyecto, por lo que estos son los puntos de atención al escribir un currículum.

    Nota 1: Lea los requisitos de habilidades en la descripción del trabajo e indique que tiene suficiente experiencia en proyectos técnicos relevantes en una posición destacada en su currículum.

    Por ejemplo, un puesto requiere 3 años de experiencia en Spring Boot, o un puesto requiere 2 años de experiencia en desarrollo de big data, y resulta que lo tiene, simplemente escríbalo directamente debajo de la introducción de información personal en la primera página de su currículum.

    En caso de que te falte algo, por ejemplo, el requisito es tener 2 años de big data, y solo tienes un año, solo piénsalo, ¿has hecho trabajos de medio tiempo al aire libre y has ayudado a los profesores a hacer proyectos juntos? Sea cortés si lo ha hecho, y agregue los años técnicos de esta parte.

    Nota 2: Lea atentamente las habilidades requeridas en la descripción del trabajo, y también se enumeran en un lugar destacado en la primera página.

    Por ejemplo, un puesto requiere desarrollo central de Java, experiencia en desarrollo de subprocesos múltiples y experiencia en desarrollo de componentes distribuidos. De hecho, para las personas que se dedican al desarrollo, estas técnicas se han utilizado en proyectos hasta cierto punto, pero si no las escribe, incluso su currículum no puede ser revisado y ni siquiera tiene la oportunidad de una entrevista. 

    Nota 3: Escriba más de sus aspectos más destacados. Vea el ejemplo a continuación para saber cómo escribir.

    En otras palabras, en la primera página de su currículum, después de haber escrito información básica como su nombre, sexo, edad y correo electrónico del teléfono móvil, generalmente puede usar el siguiente resumen para mostrarle al entrevistador qué tan bien coincide con su puesto. Lo siguiente es un ejemplo.

    1 Con 3 años de experiencia en el desarrollo de Java, 2 años de experiencia en el desarrollo de Spring Boot y 2 años de experiencia en el desarrollo de bases de datos. (El número de años aquí debe ser mayor o igual a los requisitos de la descripción del trabajo. Si no cumple con los requisitos, muchas empresas no darán oportunidades de entrevistas)

    A continuación se muestra un resumen general de las habilidades que ha dominado según las habilidades requeridas en la descripción del trabajo para demostrar que es un buen candidato.

    2 Tener experiencia en desarrollo de bases de datos como Oracle y MySQL.

    3 Tener experiencia en desarrollo en subprocesos múltiples, recopilación, etc.

    4 Tener experiencia en tecnología xx y desarrollo de tecnología xx en big data.

    Aquí puede enumerar todas las habilidades que haya dominado en JD, y luego puede enumerar sus aspectos más destacados de acuerdo con el siguiente ejemplo.

    5 Tener experiencia en el ajuste de bases de datos utilizando índices y planes de ejecución. (Actualmente, no lo comprobaré yo mismo, esta información es demasiado)

    6 Familiarizado con la estructura de la máquina virtual Java JVM, familiarizado con el proceso de recolección de basura y experiencia en el ajuste del rendimiento de la JVM. (Actualmente, no lo comprobaré yo mismo)

    7 Tener experiencia en el análisis de registros y la resolución de problemas en Linux. (Si no puede, simplemente vaya a ver algunos comandos relacionados con la apertura y búsqueda de archivos de Linux)

    8 Familiarizado con el pensamiento orientado a objetos y patrones de diseño usados ​​en proyectos. (Mire usted mismo un modelo singleton o de fábrica y luego aplíquelo a los requisitos del proyecto)

    9 Tener experiencia en el desarrollo de componentes distribuidos. (Si no es así, no lo escriba, pero para los desarrolladores junior, este es definitivamente un elemento adicional)

    10 Familiarizado con el código subyacente de las colecciones de Java, etc. (Mire HashMap, ConcurrrentHashMap por sí mismo, falla rápida, adición, eliminación, modificación y verificación de ArrayList del código subyacente, no es difícil)

    11 Fuerte sentido de la responsabilidad en el trabajo, con cierta capacidad de soportar presiones, dispuesto a trabajar horas extraordinarias. (No puedes escribirlo mal)

    De hecho, para la mayoría de los desarrolladores junior, debe tener las habilidades anteriores. Incluso si no las tiene ahora, definitivamente puede aprenderlas en solo unos meses, por lo que puede escribirlas en su currículum.

    Sin embargo, muchos de los currículums que recibí del desarrollo de Java simplemente enumeran las tecnologías que se cumplirán, sin ningún texto pulido. Es posible que dichos currículums no puedan demostrar completamente las habilidades de los candidatos. En consecuencia, las oportunidades de entrevistas pueden reducirse considerablemente.

    Por el contrario, independientemente de si el candidato es de una clase de capacitación o de una especialización, pero con una pantalla prominente en la primera página del currículum, al menos el entrevistador está dispuesto a seguir despreciando la experiencia del proyecto, de modo que usted puede conseguir la entrevista Las posibilidades, e incluso las posibilidades de aprobar la entrevista, han aumentado considerablemente.

2 Al presentarme, deseche inmediatamente la pila de tecnología y los aspectos más destacados.

    Al comienzo de la entrevista, lo más probable es que el entrevistador permita que el candidato se presente. No hace falta decir que esta es la diferencia. Simplemente preséntese directamente de acuerdo con los lineamientos generales enumerados en el currículum vitae dado arriba. A continuación se dan ejemplos.

    Permítanme hablar sobre la coincidencia entre habilidades y jd.

    Mi nombre es Zhang San. Tengo 25 años. Me gradué de la Universidad de Jiaotong en 18 años. Soy un departamento de ciencias de la computación. Actualmente tengo 3 años de experiencia en el desarrollo de Java (este es un requisito en jd), Oracle, desarrollo de MySQL experiencia y experiencia técnica como xx (esta experiencia también es un requisito en jd) .

    Déjame hablar sobre mis propios aspectos más destacados.

    En el proyecto, he utilizado la experiencia de tuning de base de datos con índices y planes de ejecución, y tengo experiencia en la resolución de problemas de OOM en JVM, en términos de big data, frameworks usados ​​como Spark, en términos de componentes distribuidos, Redis y Dubbo usados, etc. Experiencia en mirar registros en Linux y solucionar problemas en línea.

    De hecho, la conciencia del cielo y la tierra, los aspectos más destacados mencionados anteriormente, además de la chispa del big data, otros aspectos destacados de las habilidades deben ser el desarrollo principal, incluso si no, se puede aprender fácilmente. Pero de esta forma, muchos candidatos no lo dirán, pero por otro lado, si tú lo dices, eres mejor que los demás. Luego, amplíe inmediatamente el proyecto reciente, porque la mayoría de las empresas medirán si la tecnología jd se ha utilizado en el proyecto reciente.

    En un proyecto reciente, utilicé el marco Spring Boot, que usó específicamente componentes JPA y Oracle para la base de datos. El proyecto más reciente fue el sistema xx, que usó el modelo de desarrollo ágil. En este proyecto, además de codificar, también Pruebas unitarias, discusión de requisitos y trabajo de diseño detallado, y el cronograma del proyecto reciente es relativamente ajustado, siento que puedo tomar la iniciativa de trabajar horas extras y trabajar con mis colegas para completar el proyecto con calidad y cantidad.

    En la etapa de autointroducción, ni siquiera necesita comenzar el proyecto, porque tendrá la oportunidad de explicar en detalle más adelante, pero primero debe usar esto para resaltar aún más que sus habilidades y experiencia recientes coinciden con la descripción del trabajo. y segundo, también debe usar esto para demostrar que está dispuesto a trabajar horas extras y otras características (después de todo, es más creíble ilustrar que está dispuesto a trabajar horas extras a través de proyectos que simplemente decir que está dispuesto a trabajar horas extras ).

     Nuevamente, en la etapa de autointroducción, solo necesita explicar los puntos principales de que es competente para el trabajo actual. Estos puntos no necesitan ampliarse, como por ejemplo, cómo solucionar problemas de anomalías OOM. Y otras cosas que no tienen nada que ver con la búsqueda de trabajo, como pasatiempos, miembros de la familia, características personales, etc., no necesitan ser comentadas.

    Antes de la entrevista, todos pueden practicar hablar de acuerdo con los ejemplos anteriores. Diga estas cosas sin prisa. Se estima que tomará 2 minutos. Incluso las personas que son tímidas, introvertidas y elocuentes pueden hablar bien después de practicar algunas veces más. Pero si el entrevistador piensa que las habilidades comunicativas son malas porque no lo dijiste bien, estaría demasiado mal.

3 Primero presente los antecedentes del proyecto y disipe las preguntas del entrevistador.

    Dado que ha estado involucrado en el proyecto más reciente durante la fase de auto-presentación, el entrevistador definitivamente volverá a preguntar. Pero pase lo que pase, el entrevistador siempre le preguntará sobre su proyecto reciente, por lo que siempre tendrá la oportunidad de demostrar que es competente para el trabajo al presentar la experiencia del proyecto.

    Cuando el entrevistador le pide que presente el proyecto más reciente, primero puede describir brevemente los antecedentes del proyecto. Porque la experiencia del proyecto de algunos candidatos en el currículum parece un proyecto de aprendizaje (de hecho, sé que mucha experiencia en proyectos realmente lo es), pero puede probar que este proyecto es una experiencia comercial a través de los siguientes argumentos.

    Recientemente hice el proyecto xx en la empresa xx (para resaltar el proyecto comercial) El cliente de este proyecto es xx y ya está online (pero si es un entrevistador de proyectos web, probablemente estará marcado). Este proyecto usa el modelo de desarrollo ágil (sin mencionarlo, no empieces, es un punto de interrogación), el equipo del proyecto es de xx personas, y he estado trabajando durante n meses, e hice módulos xx y xx en él. 

    Al decir esto, puede demostrar que el proyecto no fue compilado por usted a través de factores como la empresa donde se encuentra el proyecto y el cliente. Alguien puede preguntar, si el proyecto está realmente inventado, ¿qué debo decir? No me importa esto, puedes decirlo tú mismo.

    Pero antes de decir esto, debe hacer la siguiente tarea con anticipación.

    1 Comprenda el modelo de desarrollo ágil, como lo que todos deberían decir en el stand-up, use jira para administrar el progreso, establezca varias fechas de lanzamiento al año, publique una vez al mes, etc., porque usted mencionó, lo más probable es que el entrevistador Pregunta después.

    2 Si está hablando del sistema financiero xx, el sistema bibliotecario xx, etc., algunos entrevistadores senior pueden preguntar, hay proyectos ya hechos en esta área, ¿por qué su empresa lo desarrolla usted mismo? Entonces, cuando prepara la descripción del proyecto, no puede exagerar, como exagerar el proyecto de mantenimiento de un módulo de recopilación de datos en un sistema financiero xx. Sin embargo, también conocí a algunos candidatos y dijeron que este es un proyecto tomado por la empresa y no pueden controlar por qué tienen que hacer un pedido para este proyecto.

    3 Una vez que hable de este proyecto, el entrevistador pensará que lo ha hecho, por lo que cada uno de los requisitos del negocio, como dónde se recopilan los datos, a qué front-end envía el cliente la solicitud, el proceso de procesamiento del cliente. solicitud, y el tamaño de la tabla de datos Espera la información, tienes que conocer y estar preparado para responder el plan con anticipación, suelo usar esto para confirmar si el proyecto del candidato es un proyecto real o un proyecto compilado. 

4 Al hablar sobre herramientas de gestión de proyectos, demuestre que no solo puede escribir código

     Después de presentar los antecedentes del proyecto, incluso puede hablar sobre las herramientas de gestión de proyectos para demostrar que ha hecho otras cosas en el proyecto, no solo escribir código. Los ejemplos específicos son los siguientes.

    En este proyecto, usamos maven, git para administrar el código, jira para administrar tareas y errores, y la herramienta jenkins para liberar. También he usado junit para escribir pruebas unitarias, y también usamos sonar para contar la cobertura de prueba del código. Nuestro gerente de proyecto requiere que el código solo se pueda enviar cuando la "cobertura de línea sea superior al 80%".

    Como se mencionó anteriormente, maven, Git y junit no son difíciles, y no hay nada que preguntar sobre los errores y las tareas de administración de jira, pero debe comprender los conceptos básicos de la calidad del código de administración de la sonda y la cobertura de línea de antemano. , Esto no requiere un desarrollo general del que preocuparse, solo dígalo. En lo anterior, solo mencionaste herramientas, pero debes usar estas herramientas para elogiarte a ti mismo.

    Cuando uso junit, no escribiré casos de manera superficial, sino que escribiré casos basados ​​en datos comerciales reales, y también me enfocaré en varias condiciones de límite (estas son capaces de hacer incluso un desarrollo menor), y al escribir código, pagaré gran atención a los estándares de codificación. Por ejemplo, al definir variables, la gente lo entenderá de un vistazo. Escriba más comentarios en lugares de código clave. No escriba demasiado complicado en condiciones como si. Un método no será demasiado largo, o Permítanme hablar sobre otros buenos estándares de codificación. Además, una vez que encuentre mi error, haré un seguimiento lo antes posible y lo resolveré con las contrapartes relevantes.

    El texto anterior, aunque se dice que se vende por sí mismo y se jacta, pero debido a que estás integrado en el proyecto, el entrevistador no se sentirá inconsistente. Y si dices esto, el entrevistador pensará que además de escribir código, tienes una gran capacidad integral en otros proyectos de desarrollo.

    Sin embargo, tenga en cuenta que el propósito de presentar la experiencia del proyecto es principalmente para demostrar la coincidencia de habilidades, así que no diga demasiado sobre la "introducción a los antecedentes del proyecto" y "explicar las herramientas utilizadas en el proyecto" antes mencionadas y "Vendiendo y presumiendo". Puede controlarlos en 1 minuto a través de la práctica.

5 Utilice el proyecto Spring Boot como ejemplo para ilustrar sus fundamentos técnicos

    Luego, debe presentar la tecnología utilizada en el proyecto. Incluso si habla de los aspectos más destacados, debe garantizar los fundamentos de la tecnología. Aquí usaré Spring Boot, el marco principal del proyecto Java actual como ejemplo, para mostrarle cómo demostrar el desarrollo de Java Las habilidades básicas.

    Nuestro proyecto usa el marco Spring Boot, en el que se usa JPA para conectarse a una base de datos Oracle (o MySQL, etc.), y la anotación @RequestMapping se usa en la capa de control para escribir métodos de procesamiento comercial. En el código comercial, la anotación @Autowired se usa para introducir la clase en la forma IOC, y también se usan las anotaciones @Service y @Component. Cuando obtengamos los datos de la base de datos, mapearemos los datos con la clase de modelo que contiene las anotaciones @Entity y @Table. En este proyecto, también usamos la anotación @Transactional para definir transacciones. Esta anotación actúa en la capa de Servicio. En este proyecto, también usamos múltiples clases de colección de Java y clases de manejo de excepciones.

    A través de los ejemplos anteriores, debería poder demostrar bien los aspectos técnicos básicos de Spring Boot. De hecho, para la mayor parte del desarrollo primario de Java, el trabajo diario es escribir algunas adiciones, eliminaciones, modificaciones e investigaciones con Spring Boot. los llamados basados ​​en el existente El negocio escribe un nuevo negocio, por lo que la retórica anterior es suficiente. Pero como mencionaste Spring Boot, durante la etapa de interrogatorio, lo más probable es que el entrevistador te haga las siguientes preguntas.

    1 ¿Cuál es la diferencia entre las anotaciones @Service y @Component? 

    2 Varios formatos de solicitud Restful y varios códigos de retorno de solicitud http.

    3 El concepto de nivel de aislamiento de transacciones y mecanismo de propagación de transacciones en transacciones @Transactional.

    4 Concepto de inyección de dependencia de Spring y uso de @Autowired.

    5 El ciclo de vida de Spring Bean.

    6 Incluso puede preguntar sobre el proceso de inicio de Spring Boot y el código fuente subyacente.

    Para Java 0 a 3 años de desarrollo primario, de hecho, de acuerdo con la retórica dada en este ejemplo, combinada con las preguntas en línea para decir las primeras 4 preguntas, debería ser suficiente para lidiar con la mayoría de las entrevistas. 

6 Utilice ejemplos para ilustrar su experiencia en el ajuste de la memoria.

    Después de haber presentado los fundamentos técnicos basados ​​en Spring Boot, puede explicar con más detalle los muchos aspectos destacados. A continuación, se muestra un ejemplo de cómo se muestra el ajuste de memoria en combinación con el proyecto.

    (Anteriormente, presenté los fundamentos técnicos del proyecto, como Spring Boot) En este proyecto, prestaré gran atención al rendimiento del uso de la memoria y tendré experiencia en la resolución de problemas y el análisis de proyectos OOM en el proyecto. También pagaré gran atención al codificar Rendimiento de la memoria Al mismo tiempo, también aprendí sobre la estructura de la memoria JVM y el algoritmo GC.

    No importa cómo organice el idioma, debe resaltar cuatro puntos a este respecto: primero, enfatice que tiene conciencia de sintonización de la memoria, segundo, tiene experiencia en la resolución de problemas de OOM, tercero, también prestará atención al rendimiento de la memoria cuando escriba código, y cuarto. También comprende el conocimiento de la estructura de JVM y el proceso de GC. Pero aún quiero enfatizar que todavía se encuentra en la etapa de introducción del proyecto, solo puede explicar los puntos principales, no amplíe, si amplía aquí para explicar la práctica del ajuste de la memoria, el entrevistador pensará que su pensamiento no es claro, pero como lo mencionaste, el entrevistador puede interrumpir inmediatamente tu introducción y dejarte explicar en detalle, o seguirás preguntando después de presentar el proyecto. En resumen, tienes la oportunidad de mostrar en detalle las habilidades de resaltar el ajuste de la memoria .

    Esto no solo le brinda lo que dijo durante la fase de introducción del proyecto, sino que también le brinda cómo responder en detalle más adelante.

    Si el entrevistador le pide en detalle posteriormente que investigue los detalles de la experiencia OOM, puede responder así.

    En el entorno de prueba, a menudo recibimos advertencias de que la tasa de uso de la memoria es superior al 70%. (En cuanto a cómo configurar las advertencias, puede buscar una nueva reliquia. Si es un desarrollador junior, ni siquiera necesita experiencia relevante maestra), recibida Después de la alarma, primero observo la duplicación de la memoria actual a través del comando de volcado (debe estar familiarizado con el comando de volcado y el método de apertura del archivo de volcado y el contenido del archivo de volcado), y en segundo lugar , Observo qué método se lanzó a través del registro, y finalmente descubrí que se debe a que en el módulo de pedido (u otros módulos), un objeto de conexión JDBC no está cerrado (o un objeto Hashmap grande no se borra después de su uso) , por lo que el la memoria no se puede recuperar. Recupera después de encontrar el problema.   

    Aquí combina el negocio (como el módulo de pedidos) para explicar, y luego, cuando el entrevistador pregunta los detalles del volcado, puede hablar sobre la estructura del archivo de volcado, eso es todo.

    Si el entrevistador le pregunta cómo prestar atención al rendimiento de la memoria en el código, puede decir:

    Al escribir código, prestaré mucha atención al cierre o liberación de Connection y colecciones grandes en las cláusulas try ... catch ... finalmente. Después de que se utilicen algunos objetos grandes, los estableceré como nulos en el tiempo. Mejorar su tiempo de colección. En bucles for, no manipularé con frecuencia objetos String porque generarán mucha fragmentación de memoria. Al mismo tiempo, usaré el método de finalización con mucho cuidado (míralo de antemano), porque esto puede hacer que el objeto sea incobrable.

    De hecho, estos cuatro puntos son suficientes. Si se siente capaz, puede hacer los siguientes puntos bajo la premisa de entender referencias fuertes, débiles y suaves. Esto es muy valioso. 

    En el escenario empresarial de la sincronización de datos, utilizo referencias débiles (o referencias suaves) para mejorar el tiempo de recuperación de los objetos de datos.

    Si el entrevistador le pregunta acerca de la estructura de la memoria JVM y el proceso de GC (recolección de basura), este es en realidad un problema teórico Hay demasiados materiales en línea y la parte de atrás es suficiente, por lo que no entraré en detalles aquí. Pero dicho esto, el conocimiento teórico del proceso GC y la arquitectura JVM es un sitio de prueba común para entrevistas, y está preparado para no sufrir. 

7 Muestre su experiencia en el ajuste de bases de datos

    Muchos candidatos en realidad no muestran su experiencia en el ajuste de la memoria en las entrevistas. Si sigue la declaración anterior, por un lado, puede presentar los puntos principales al presentar la experiencia del proyecto y, por otro lado, puede explicar los detalles. en intercambios posteriores. Digamos que ha superado a muchos competidores, e incluso ha dicho algo que no debería decirse. Algunos desarrolladores junior pueden incluso usar esto para enriquecer su experiencia en proyectos.

    Al presentar la experiencia del proyecto, si simplemente muestra la experiencia del ajuste de la memoria, puede que no sea muy convincente. Aquí hay un ejemplo que realmente ilustra las habilidades de ajuste de la base de datos. En primer lugar, puede presentar los puntos principales a través de la siguiente retórica al presentar el proyecto.

    En este proyecto, participé en el diseño de tablas de datos, por lo que consideraré el uso de un anti-paradigma para evitar la pérdida de rendimiento causada por asociaciones de tablas grandes. Al mismo tiempo, configuraremos índices de manera razonable para mejorar el rendimiento de acceso a la base de datos, y he Lo usé La experiencia de ejecutar declaraciones de optimización de planes y, al usar transacciones, prestaré mucha atención a la configuración del nivel de aislamiento de transacciones y el mecanismo de propagación de transacciones para evitar bloquear tablas.

    De manera similar, en la etapa de introducción del proyecto, no es necesario ampliar la retórica del ajuste de la base de datos, solo dé algunos puntos. Como lo mencionó, lo más probable es que el entrevistador pregunte más adelante.

    Pero antes de la entrevista, debe preparar las siguientes habilidades (de hecho, estas habilidades son los puntos básicos de la base de datos, tendrá problemas si no se prepara).

    1 Observe la estructura de datos del índice (como el árbol B +), la oración para construir el índice, el tipo de índice, especialmente el índice compuesto y la tabla posterior correspondiente y el principio de coincidencia más a la izquierda.

    2 Eche un vistazo al uso correcto del índice de antemano y en qué circunstancias no se usa el índice, como cuando no se puede usar a! = 'Xx'.
    3 El costo del índice (ocupará el disco duro y el índice se reconstruirá al leer y escribir en grandes cantidades, por lo que el rendimiento es lento), y en tablas pequeñas, no es necesario generar índices.

    4 El concepto del plan de ejecución y los puntos a los que se debe prestar atención al solucionar problemas de SQL lento a través del plan de ejecución (evitar exploraciones de tablas completas, configurar métodos de tablas de asociación razonables, etc.).

    5 Conceptos relacionados con los tres paradigmas y los antiparadigmas, como mencionaste.

    6 Conceptos como lecturas sucias en el nivel de aislamiento de transacciones, así como el mecanismo de propagación de transacciones, en particular, debe especificar cuál se usa en su proyecto.

    De hecho, los puntos anteriores son sitios de prueba de entrevistas comunes, pero de acuerdo con los resultados de mi entrevista, algunos candidatos con 3 años de experiencia en el desarrollo de Java pueden no ser capaces de decir bien, pero una vez más, estas habilidades no son difíciles de aprender. y la mayoría de ellos se pueden hacer con respaldo, por lo que incluso si se acaba de graduar o solo tiene una pequeña cantidad de experiencia en desarrollo, siempre que memorice estos puntos con fuerza, por un lado, puede resaltar los puntos cuando presenta el proyecto, y por otro lado, también puede manejar bien los problemas posteriores de la base de datos, de esta manera su rendimiento es suficiente para superar a la mayoría de sus competidores.   

8 Resumen de las observaciones anteriores

    Sobre la base de los puntos principales dados anteriormente, ordenaré la retórica que presenta la experiencia del proyecto.

    (Introducción a los antecedentes del proyecto) Mi proyecto más reciente es el proyecto de supermercado xx community love realizado por la empresa xx (no digas que el proyecto es demasiado grande). El cliente es la empresa xx. Hay 6 personas en el equipo del proyecto . Se ha desarrollado hace ocho meses, y aún es del pasado reciente. Desarrollo, en el cual hice el negocio de borrar y actualizar el módulo de pedido (si es un proyecto hecho en etapa escolar, más las siguientes palabras) , este proyecto es un proyecto de medio tiempo que comencé desde mi tercer año y busqué xx empresa para hacerlo, puedo obtener dinero todos los meses durante el proyecto. 

    (Introduzca la tecnología del proyecto, intente estar lo más completo posible en la lista JD) Este proyecto usa el marco Spring Boot, la base de datos es Oracle y JPA se usa para conectarse a la base de datos Oracle (o MySQL, etc.), y la anotación @RequestMapping se utiliza en la capa de control para escribir métodos de procesamiento empresarial. En el código comercial, la anotación @Autowired se usa para introducir la clase en la forma IOC, y también se usan las anotaciones @Service y @Component. Cuando obtengamos los datos de la base de datos, mapearemos los datos con la clase de modelo que contiene las anotaciones @Entity y @Table. En este proyecto, también usamos la anotación @Transactional para definir transacciones. Esta anotación actúa en la capa de Servicio. En este proyecto, también usamos múltiples clases de colección de Java y clases de manejo de excepciones.

    (Introducción a las herramientas de gestión de proyectos) Este proyecto utiliza un modelo de desarrollo ágil, utiliza el marco Maven, utiliza el sonar para gestionar la calidad, utiliza git para gestionar las versiones del proyecto, utiliza jenkins para publicar y utiliza logback para registrar. En este proyecto, además de escribir código, también tengo experiencia en pruebas unitarias con Junit. También utilizamos el sonar para contar la cobertura de prueba del código. Nuestro jefe de proyecto requiere que el código solo se pueda enviar cuando la "cobertura de línea sea superior al 80%".

    (El punto culminante se lanza al final) En este proyecto, utilicé patrones de diseño singleton y de fábrica. En este proyecto, realicé el ajuste de JVM y el ajuste de la base de datos. Para profundizar la comprensión al trabajar en el proyecto, también leí el código de bajo nivel de ArrayList que falla rápidamente, y también leo el código fuente de bajo nivel de HashMap sobre HashCode y coloco y obtengo partes. El progreso tardío de este proyecto es relativamente estrecho, y también puedo trabajar horas extra para asegurarme de que el proyecto pueda estar en línea normalmente, y si encuentro problemas en línea, intentaré participar y resolverlos.

    Antes de la entrevista, puede preparar su discurso razonablemente basándose en los ejemplos anteriores. El orden y el contenido se pueden ajustar, pero los diversos elementos incluidos son lo más completos posible. Si puede, practique algunas veces de antemano para asegurarse de que puede descartar sus habilidades relevantes y aspectos destacados en cantidades suficientes.

    Pero cuidado, al presentar el proyecto, para puntos específicos, como el tuning de la memoria, haces clic hasta hacer clic, no expandas, de lo contrario, el entrevistador definitivamente pensará que la idea no está clara. En resumen, al presentar el proyecto, los puntos principales que deben seguirse son: primero, debe explicar las habilidades que ha utilizado en JD de la manera más completa posible, y segundo, debe lanzar temas brillantes y esperar a que el entrevistador pregunte preguntas.

9 Al preparar los comentarios del proyecto, también puede preparar preguntas para entrevistadores posteriores

    De hecho, es posible que la mayoría de los entrevistadores todavía estén depurando el código antes de la entrevista, o todavía estén en una reunión, es decir, no prepararán las preguntas de la entrevista con anticipación. Por lo tanto, cuando arroja lo más destacado cuando se presenta a sí mismo y la experiencia del proyecto, a menudo seguirán el tema de manera informal. En otras palabras, siempre que la comprensión esté lista, usted sabe lo que preguntará el entrevistador.

    De acuerdo con el discurso de introducción del proyecto dado anteriormente, mencionó el desarrollo ágil, el marco Spring Boot, el ajuste de la base de datos, el ajuste de la memoria, los patrones de diseño, el software de gestión de proyectos y junit, la colección de Java y el código fuente subyacente, etc., que también se dan en el anterior artículo Se enumeran algunas preguntas que puede hacer el entrevistador y los puntos de preparación correspondientes.Además, también puedes hacer los siguientes preparativos.

    1 Comprenda el modo singleton, especialmente el modo singleton verificado dos veces. Debe poder escribir código y dar un escenario de uso del proyecto. Por ejemplo, una determinada clase de herramienta debe crearse de manera singleton. De manera similar, prepare un escenario de uso para el patrón de fábrica, que es más fácil de manejar. Por ejemplo, la clase de analizador xml se crea con el patrón de fábrica.

    2 Sobre la base de la comprensión, memorice y escriba en silencio el código subyacente del ArrayList que falla rápidamente. Durante la entrevista, cuando el entrevistador continúa haciendo preguntas de acuerdo con las palabras que le da, puede escribir mientras habla, y también puede prepararse HashMap y Hashcode. Código fuente de bajo nivel.

    3 Observe las teorías relacionadas del ajuste de la memoria JVM y la recolección de basura Es mejor mirar las teorías de referencia fuerte, referencia débil y referencia blanda.

    Tenga en cuenta aquí que cuando se presenta a sí mismo y al proyecto, puede guiar al entrevistador para que haga preguntas lanzando puntos destacados, pero al mismo tiempo, debe preparar otras preguntas comunes, porque algunos entrevistadores todavía hacen otras preguntas. En este sentido, puede cepillar más preguntas de la entrevista en el marco de Spring Boot, la base de datos y el desarrollo del núcleo de Java, e incluso preparar más preguntas escritas. Entonces, de esta manera, ¿cuáles son los beneficios de descartar mechas?

    Primero, después de que algunos entrevistadores siguen tus palabras para hacer preguntas, encuentran que respondes muy bien (porque te has preparado de antemano, es difícil responder si no lo piensas), y luego dejan de hacer preguntas.

    En segundo lugar, el entrevistador le preguntará sobre algunos de los aspectos más destacados que mencionó, de modo que pueda evitar que el entrevistador le pregunte sobre los puntos con los que no está familiarizado.

    En tercer lugar, de hecho, la mayor parte del desarrollo principal en el proyecto es solo para agregar, eliminar, modificar y verificar, pero por un lado, ha preparado una serie de puntos estables basados ​​en la descripción anterior, por otro lado, Bien puede demostrar que está familiarizado con los patrones de diseño, incluida la JVM y la depuración de bases de datos.Excelente experiencia, entonces puede desempeñarse mejor que otros en la entrevista.

    En definitiva, si preparas algunos puntos técnicos básicos y brillantes sobre la premisa de preparar la experiencia del proyecto, no sufrirás. 

10 Resumen: La retórica y los métodos contenidos en este artículo son suficientes para tratar con entrevistadores jóvenes.

     Recientemente ayudé a alumnos de una conocida escuela de formación en Shanghai. Después de enseñarles a preparar hojas de vida y presentaciones de proyectos utilizando los métodos y narraciones anteriores, todos consiguieron encontrar trabajo. Y hay varios compañeros de clase con 2 o 3 años de experiencia en desarrollo. Originalmente esperaba que el salario fuera de 11 a 13k al mes (después de todo, no me atrevía a ser más alto debido a la clase de capacitación). Después de asesorarlos a través de la entrevista técnica, cuando hablaba de salario, les pedí al menos 15k. Cuando muerden la bala y aprietan los dientes, todos lograron obtener el precio, y un compañero valiente, y son 16.5k. Ahora han comenzado a preocuparse por cómo pasar el período de prueba después de unirse a la empresa, pero esta es una historia posterior, si tengo tiempo, escribiré un artículo para presentar este tipo de experiencia.

    Así es como me atrevo a introducir métodos y retórica relevantes en esta publicación de blog. Además, la confianza que me atrevo a escribir esta entrada de blog son mis años de experiencia como entrevistadora técnica y los dos libros de entrevistas que he publicado. Lo mismo ocurre con los egresados ​​del curso de formación, si todavía estás haciendo proyectos reales en empresas de software recientemente, entonces me atrevería a decir que este artículo te ayudará aún más.

    Es decir, a través de las habilidades que se brindan en este artículo, todos pueden tratar con algunos entrevistadores junior con menos de 2 años de experiencia en entrevistas. Por supuesto, si desea apoyar a algunos entrevistadores senior (como yo), esto por sí solo no debería Será suficiente, pero más importante. En la entrevista, demostraré habilidades en multiproceso, componentes distribuidos, frameworks de microservicios y alta concurrencia. Para esto, continuaré brindando habilidades relevantes en artículos posteriores.

    Por favor, preste atención a mi cuenta oficial: progresen juntos y ganen dinero juntos. En esta cuenta oficial, habrá más artículos interesantes.

 

Supongo que te gusta

Origin blog.csdn.net/sxeric/article/details/112461920
Recomendado
Clasificación