Después de graduarme de la universidad, ¿debería buscar trabajo en Alibaba o Huawei?
Tuve la suerte de unirme a Alibaba justo después de graduarme. Una vez estudié en Baidu durante medio año antes de la contratación de otoño y finalmente recibí una oferta de BAT y otras empresas. Teniendo en cuenta la pila de tecnología y la velocidad de crecimiento, finalmente elegí ir a Alibaba. Me gustaría compartir mi experiencia de autoestudio y mi experiencia de reclutamiento en otoño y, por cierto, brindarles información útil. Acumulación y precipitación antes del reclutamiento de otoño
Durante mis estudios de posgrado, una cosa que siempre he insistido en hacer es tomar notas y escribir blogs.
Tomar notas es registrar las cosas grandes y pequeñas del estudio. Puede ser una pregunta de una entrevista, puede ser un plan de estudio de una semana o puede ser un punto de conocimiento. Vale la pena registrarlo. Para mí, es una especie de acumulación. En cuanto al blog, solo lo usé para registrar temas al principio, luego lo reimprimí y luego escribí artículos originales y organicé series de artículos.
Pero durante el período inmediatamente posterior al reclutamiento de primavera, descubrí un problema. Había olvidado muchas cosas que había aprendido antes, especialmente aquellos puntos de conocimiento que no entendía con suficiente profundidad. Siempre fue fácil. olvidar. Además, descubrí que, aunque registré muchos puntos de conocimiento y preguntas de la entrevista en mis notas, a menudo solo los leí una vez y nunca los leí por segunda vez.
Esto también muestra que, aunque grabé mucho contenido, en realidad digerí y absorbí muy poco. Mi mente estaba llena de puntos de conocimiento fragmentados y preguntas de entrevista, y sabía muy poco sobre el sistema de conocimiento completo. Estos problemas estuvieron constantemente expuestos durante el período de reclutamiento de primavera y me hicieron pensar en ellos durante mucho tiempo.
Ante este dilema, quiero hacer un cambio. Aprovechando el tiempo que tenemos ahora, quiero hacer una resta de estos contenidos, aprovechando esta oportunidad para derrocar mi sistema de conocimiento original y reconstruir un nuevo marco de conocimiento. En pocas palabras, estoy comenzando a aprender el backend de Java nuevamente. Esta vez usaré una forma más eficiente para evitar los desvíos anteriores y revisaré de la manera más eficiente y razonable. Debido a que ya tengo una cierta base, tengo confianza para lograr este objetivo y, en consecuencia, he elaborado un plan de estudio claro y detallado para ello.
Voy a utilizar algunas palabras clave para describir estos tres meses de revisión de otoño.
"Plan de estudio específico y confiable"
En los últimos tres meses, primero organicé mi plan de revisión de acuerdo con la hoja de ruta de back-end de Java, y cada punto de conocimiento se organizó en el momento correspondiente. período. Por ejemplo, podría pasar un día revisando "Java Reflection", dos días revisando "Patrones de diseño" y una semana revisando "JVM Virtual Machine". Máquina virtual". Por lo general, planifico el plan de revisión para todo el mes al comienzo del mes y luego lo afino durante el proceso de revisión, pero básicamente puedo mantenerme al día con el plan, siempre que mi método de revisión sea correcto.
Así que creo que para esta dura batalla de otoño, un plan designado es particularmente importante. Una vez que se establezca el plan y los objetivos estratégicos sean claros, las tácticas correspondientes serán más claras y la ejecución será más clara. más fuerte
"Escribir blogs para consolidar conocimientos"
En cuanto al método de revisión, leo principalmente blogs de alta calidad y lo combino con práctica de código para consolidar esta parte del conocimiento, como. Como en el estudio de hoy. "Por ejemplo, lo que estudié hoy es el mapa de hash concurrente. Primero buscaré dos o tres buenos blogs para leer, principalmente sobre interpretación del código fuente, y luego los integraré. Si falta algún punto de conocimiento, lo agregaré. A veces, para comprender mejor el contenido del blog, incluso lo leo yo mismo. Después de completar la integración de conocimientos, organizaré un blog en consecuencia y lo publicaré en mi blog personal.
Además, cuando complete la revisión de todo el tema, también organizaré estos artículos en un tema especial, como el "concurrenthashmap" mencionado anteriormente, que en realidad pertenece al paquete de concurrencia de Java, por lo que Creará una columna de blog dedicada a completar el paquete de concurrencia de Java. Columna de blog para completar el tema de la serie de artículos sobre concurrencia de Java. Para cada tema de artículo, primero aclararé cuál es el tema y luego comenzaré a organizarlo.
Por ejemplo, para el paquete de concurrencia de Java, primero escribiré un artículo sobre los conceptos básicos de subprocesos múltiples de Java, luego escribiré un artículo sobre el modelo de memoria JMM y luego comenzaré a escribir el grupo de subprocesos de Java. colas de bloqueo, clases de utilidad, clases atómicas, etc. El primer paso es escribir grupos de subprocesos, colas de bloqueo, utilidades, clases atómicas, etc.
De esta manera, se ha revisado esta parte del contenido. Escribir una serie de artículos me permite aclarar mis ideas de principio a fin y hacer un mejor resumen de los puntos de conocimiento de cada parte.
En cuanto a la elección del blog, aprendí de mi experiencia anterior que prefiero pasar media hora leyendo un artículo de alta calidad que diez minutos leyendo cinco artículos de mala calidad. La ventaja de la lectura en profundidad es que permite que esta parte del contenido se integre mejor en el sistema de conocimiento de tu mente, en lugar de ser fugaz como otros artículos de comida rápida.
"Trabajar en proyectos para consolidar habilidades prácticas"
Dado que los proyectos en los que participé durante mi pasantía anterior eran relativamente grandes y estuve expuesto a un solo módulo, mi comprensión general del El proyecto no fue muy bueno. Así que decidí utilizar este tiempo para consolidar mis capacidades de práctica de proyectos, que se refieren principalmente a mi capacidad para comprender la arquitectura del proyecto, mi competencia en el desarrollo empresarial y, por supuesto, mi familiaridad con varias tecnologías de back-end de uso común.
Me tomó alrededor de un mes completar el desarrollo de los dos proyectos. Por supuesto, principalmente imité los dos proyectos de código abierto. Ambos proyectos se desarrollaron rápidamente usando SpringBoot y utilizaron algunas tecnologías de back-end de uso común. , como redis, almacenamiento en la nube y marcos web de uso común. Algunos marcos web de uso común, así como solr, rastreador y otras tecnologías.
Aunque este proyecto no fue difícil, rápidamente me familiaricé con el proceso de desarrollo de todo el proyecto. Pude iterar todos los días, hacer seguimiento de los lanzamientos a través de Git y escribir lo que hice en cada lanzamiento. El trabajo que hice me familiarizó mucho con la estructura del proyecto.
Además de los proyectos, también buscaré algunos componentes de back-end de uso común para realizar demostraciones a fin de tener una comprensión intuitiva de estas tecnologías, como dubbo, zookeeper, message queue y otras que a menudo son preguntado en las entrevistas. Estos intentos también me facilitan entender cómo funcionan.
"Cerca del problema y centrado en el método"
Las preguntas sobre algoritmos son lo más destacado de la entrevista. Cada estudiante de I+D inevitablemente se verá devastado por preguntas sobre algoritmos. -estudiante de ciencias, es aún más difícil de entender. Debido a esto, abandoné muchos métodos para resolver preguntas de LeetCode y elegí un método más efectivo para resolver preguntas.
En primer lugar, volví a examinar la oferta de Swordsman Love y resumí cada pregunta, tratando de recordar cada pregunta en mi mente. Como todos sabemos, las preguntas de la Oferta del espadachín son preguntas muy populares en las entrevistas, por lo que es fundamental hacer bien esta parte primero.
Después de borrar la oferta de Swordsman, por supuesto, tengo que borrar el código de música. Hay tantas preguntas sobre el código de música que no seguí las etiquetas ni el orden. a la Guía de preguntas de un gran jefe, que resume todas las preguntas de cada tipo. Resume los temas de cada tipo y solo pone algunos temas clásicos en cada sección.
Así que respondí alrededor de 100 preguntas de LetCode. Cuando respondí las preguntas por segunda vez, hice un resumen de estas preguntas.
Además de los dos bancos de preguntas clásicos anteriores, también me centré en artículos anteriores de Dachang. Para esta parte, completé las preguntas principalmente a través de los bancos de preguntas anteriores de Niuke.com. Para ser honesto, las preguntas reales son muy importantes, porque las preguntas que hace la empresa no son como las preguntas de algoritmos habituales. Si no se adapta de antemano, sufrirá. Después de terminar esta parte de las preguntas, mi revisión de las preguntas sobre el algoritmo básicamente ha terminado.
Cuando terminé de revisar todo el contenido, ya había comenzado la aprobación temprana. Finalmente es hora de ir al campo de batalla. Como estoy bien preparado antes de la guerra, soy relativamente optimista sobre la campaña de otoño, pero de hecho, la campaña de otoño no es sólo una guerra de desgaste, sino también una guerra prolongada. Si quieres reírte el último, realmente no es posible.