Cuatro años de arduo trabajo: ¿Cómo recibí la oferta de Ant?
Sigue adelante y nunca te rindas.
Seeds
Nunca estudié informática en la universidad, estudié ingeniería mecánica y solo entré en contacto con el lenguaje ensamblador y un poco de lenguaje C en el curso. En ese momento tenía algunos conocimientos básicos de programación informática. No me gusta nada esta especialidad, salvo los cursos de montaje de microcontroladores.
No sólo no me gusta la especialidad de mecánica, sino que además no veo futuro en absoluto. Como un charco de agua estancada, soy como una rana en agua tibia, muriendo lentamente. ¡Afortunadamente, finalmente lo descubrí antes de morir y cambié de carrera! En cualquier caso, quiero deshacerme del pesado bagaje del "profesionalismo" y decirle a este profesional del sumidero que nunca lo volveré a ver.
No quiero ser mediocre, paso mi juventud con injusticia y perfección. La vida debería consistir en buscar tu verdadero yo desde dentro.
Recuerdo cuando cambié de carrera por primera vez, porque mi base todavía era muy débil, encontré obstáculos en todas partes. Después de graduarme, encontré un punto muerto en la vida.
En ese momento encontré una pequeña empresa que estaba dispuesta a acogerme. Las pequeñas empresas son relativamente jóvenes, utilizan tecnologías relativamente de vanguardia y no tienen el peso de la historia. He estado expuesto a proyectos relacionados con la arquitectura de microservicios desde el comienzo de mi carrera, lo que me inspiró en mi trabajo futuro. Estoy agradecido por esto.
Sabiendo que tu punto de partida es bajo, ¿cómo salir de este punto bajo?
En mi tiempo libre, nunca he dejado de aprender y siempre me he adherido al principio de "el mejor desempeño de hoy es el menor requisito para mañana" y me exijo estrictamente. Siempre he creído en mí mismo y he creído que mientras trabaje duro, lo que perdí antes definitivamente volverá.
Durante mi tiempo libre estudiando, también aprendí sobre muchos proyectos excelentes de código abierto de GitHub, la mayoría de los cuales eran proyectos de código abierto de Alibaba. En ese momento, sentí que la tecnología de Alibaba era realmente asombrosa y poco a poco comencé a conocer la empresa. Fue en ese momento cuando el sueño de Ali empezó a brotar. Me fijé una meta en ese momento y debo unirme a Alibaba en el futuro.
Proceso
Con metas, sólo hay proceso. En el proceso de lograr mis objetivos, siempre he insistido en hacer lo siguiente.
1. Aprenda a resumir
Escribir blogs técnicos es de gran ayuda para el crecimiento de un programador, especialmente para los programadores que recién ingresan a la industria. Así que establecí mi propio blog a través de GitHub Pages a principios de 2017 para registrar mis prácticas de aprendizaje y trabajo en artículos.
Los hechos han demostrado que el hábito de escribir blogs me ha permitido desarrollar el hábito de resumir y, al mismo tiempo, ha profundizado mi comprensión de cada punto de conocimiento y fortalecido mi memoria de cada punto de conocimiento, por lo que que cada vez que entre en contacto con él, registraré cada nuevo punto de conocimiento en un artículo completo, de lo contrario sentiré que nunca lo he aprendido.
Como dice el refrán, una buena memoria es peor que una mala pluma. Bloguear también es una forma de tomar notas. Los programadores necesitan estar expuestos a una gran cantidad de conocimientos nuevos todos los días. Cuando miras hacia atrás, es básicamente imposible recordar completamente todos los puntos de conocimiento. En este momento, si miras tu blog, podrás ayudarte a encontrar rápidamente la sensación.
2. Husmeando en el código fuente
Durante este proceso, mantuve el hábito de leer el código fuente del marco. Muchas veces entro en la comprensión con un propósito. A veces, para resolver un error, intento comprender su estructura interna y principios de diseño con el propósito de aprender y aprender muchos diseños excelentes que uso en mi trabajo diario. Muchas veces, aprenderemos del diseño de marcos excelentes relevantes.
Leer el código fuente es también la mejor manera de "saber qué es y por qué". Tengo una característica. Siempre que haya utilizado alguna tecnología, haré todo lo posible para comprender cómo se implementan sus principios subyacentes. A través de una búsqueda de fondo continua y decidida, tenemos una comprensión más profunda de algunas tecnologías subyacentes.
3. Cumplir con los requisitos
“Cuando te resulta difícil, es cuando creces”.
En este proceso, seguí aceptando muchos desafíos. , y en el proceso de afrontar estos desafíos, he crecido mucho. Recuerdo la primera vez que diseñé una plataforma de pago unificada. Utilicé los patrones de diseño que aprendí para unificar con éxito las interfaces de muchas plataformas de pago de terceros y tienen una escalabilidad excelente, lo que mejoró enormemente mi nivel de codificación.
En el proceso de implementación, operación y mantenimiento automáticos, intenté diseñar un sistema de implementación automática basado en Jenkins Pipeline y Docker, lo que me dio una comprensión sistemática de la disposición de contenedores y la operación y mantenimiento automáticos. Aprendí Kafka de 0 a 1 y fui responsable del mantenimiento y soporte técnico de cientos de miles de millones de grupos de mensajes de Kafka. En el proceso, mejoré mi capacidad para resolver problemas.
Basado en los operadores Netty y K8s, se desarrolló una plataforma de servicio de almacenamiento en caché personalizada. Cuando recibí la solicitud para utilizar el operador K8 como soporte técnico subyacente para la plataforma de almacenamiento en caché, me sentí confundido. No sabía qué era esto en ese momento y no había mucha información en línea.
Solo puedo buscar con entusiasmo algunos proyectos de código abierto relacionados en GitHub para comprender su implementación. A través de la práctica continua, finalmente me di cuenta de este requisito y en el proceso mejoré mis capacidades de diseño arquitectónico y el control general del proyecto.
Por eso, cuando nos encontramos con dificultades, no debemos retroceder y aprender a resolverlas. Cuando lo descubras, crecerás mucho.
Entrevista
A continuación, describiré brevemente el proceso de la entrevista de memoria. Las entrevistas son diferentes para cada candidato. Solo como referencia, piénselo como una historia.
1. Por otro lado
Antes de las vacaciones del Festival de Primavera, recibí una invitación a una entrevista de un gran jefe. En ese momento no estaba listo para la entrevista porque mi experiencia anterior fue muy tortuosa y requirió un período de adaptación. Pero sabiendo lo que hacía el equipo, decidí intentarlo y concerté una entrevista.
Después de presentarse, el entrevistador primero me contó qué hace su equipo y los puestos en la estructura de la empresa del proyecto de los que es responsable el equipo. Pensé que el entrevistador de Ali hizo un gran trabajo. Haga clic en él.
Entonces el entrevistador me preguntó sobre los proyectos que había realizado. Le presenté al entrevistador en detalle los proyectos que había realizado en Zhongtong, incluidos los antecedentes del proyecto, el diseño de la arquitectura del proyecto, los detalles técnicos de la implementación y cómo resolver los desafíos encontrados. Luego, el entrevistador profundiza en un punto técnico del proyecto para conocer la profundidad y amplitud técnicas del proyecto.
Si no comprende la tecnología con suficiente profundidad o no la recita con antelación, el entrevistador se enterará fácilmente. Por lo tanto, en el trabajo diario es necesario dominar las tecnologías utilizadas en los proyectos.
Después de que el proyecto esté intercalado con preguntas, se le darán algunas preguntas sobre el diseño de la escena, que generalmente se basan en problemas reales encontrados por su equipo, lo cual es una gran prueba de la acumulación de trabajo diario.
Esta sección tendrá algunas soluciones comunes en las que puede pensar, como bloqueos distribuidos, transacciones distribuidas, procesamiento idempotente, estrategias de invalidación de caché, reducción de picos de tráfico, etc.
A partir de esta parte, el entrevistador puede ver cuán profundas son sus barreras técnicas. Esta parte representa una proporción muy alta en la evaluación, porque las entrevistas de Alibaba otorgan gran importancia a la capacidad de resolver problemas a partir de escenarios reales.
Finalmente, examinemos tus puntos de conocimiento. Los puntos de conocimiento de la contratación JUC de Java son particularmente importantes, por lo que esta parte debe resolverse, como los principios de CAS y AQS, varios mecanismos de bloqueo basados en AQS (justo e injusto), subprocesos, principios operativos del grupo de subprocesos, etc.
La JVM preguntará sobre escenarios de ajuste reales, así como los mecanismos, ventajas y desventajas de los recolectores de basura comunes, etc. También existen algunos principios de marcos de back-end comunes, como bases de datos y Spring, con los que debe estar familiarizado. Esta parte prueba principalmente si sus conocimientos básicos son sólidos.
A juzgar por el contenido de la entrevista anterior, los entrevistadores de Alibaba conceden gran importancia a examinar la capacidad de una persona basándose en la realidad, y el alcance de la inspección es muy amplio. El enfoque de cada candidato puede ser diferente. Déjame darte una referencia de mi experiencia en entrevistas.
2. Dos caras
No mucho después de terminar una cara, recibí un mensaje de que una cara había sido aprobada. El proceso fue muy rápido y concerté una cita con el entrevistador. al día siguiente. Dos caras. No pude dormir la noche anterior porque estaba tan nerviosa que cada paso del sueño me afectaría los nervios.
Me preparé muy temprano al mediodía. Respiré profundamente unas cuantas veces para calmarme antes de la entrevista y pronto recibí una entrevista en video del entrevistador. Después de presentarme, el entrevistador me pidió que presentara mis estudios y trabajo en varias empresas a partir de mi carrera, porque mi experiencia inicial en mi carrera fue muy accidentada y tortuosa, y pasé por varias empresas pequeñas.
El entrevistador y yo describimos en detalle toda mi carrera, enfocándonos en mi crecimiento en varias empresas, incluido el contenido del trabajo, los desafíos encontrados y cómo resolverlos, y la acumulación técnica. Esta parte es fácil de responder porque he estado aprendiendo constantemente a lo largo de mi carrera. Déjame hablar de mi propia experiencia.
En esta parte, el entrevistador examina principalmente si cada empresa ha crecido. Aunque a los entrevistadores les importa el cambio frecuente de trabajo, lo que más les importa es si usted ha adquirido acumulación técnica en el proceso.
Luego el entrevistador se centró en un proyecto en el que yo era bueno. Profundiza en los antecedentes y el diseño arquitectónico de todo el proyecto. El contenido de esta parte será más amplio que el de la otra parte y hará preguntas sobre cada detalle del proyecto. En ese momento, debido a que diseñé el proyecto de 0 a 1, aún pude darle al entrevistador la respuesta que quería.
Esta parte del contenido requiere que estés familiarizado tanto con la estructura macro como con los detalles microtécnicos de los proyectos en los que eres bueno.
Luego, el entrevistador me dio algunos escenarios de alta concurrencia para resolver el problema. Esta parte es ligeramente diferente al otro lado. En términos generales, estos escenarios serán más amplios y, normalmente, la industria ya cuenta con soluciones relevantes. Este capítulo se centra en examinar su amplitud, profundidad y capacidad para resolver problemas en el acto. También puede ver su investigación habitual sobre tecnología.
3. Tres reuniones
Poco después de que las dos partes terminaron de hablar, recibí la notificación de que ambas partes habían terminado de hablar (mi proceso es más rápido).
Ya estaba en casa antes de la entrevista y seguí respirando profundamente en la habitación. Sabía que una vez que este lado terminara, estaría muy, muy cerca de Ali, y cuanto más me acercaba a mi sueño, más nervioso me ponía.
Después de presentarme, el entrevistador me preguntó algunos datos personales básicos, incluida mi escuela y especialidad. Debido a que mi escuela es una universidad privada independiente, es posible que el entrevistador no haya oído hablar de ella y yo estoy en una clase no profesional, por lo que el entrevistador necesita saber algo al respecto.
Luego me preguntó sobre mi experiencia y crecimiento en varias empresas, lo que confirmó aún más un punto de vista. Los entrevistadores de Alibaba están muy preocupados por sus experiencias pasadas, pero también están muy preocupados por su crecimiento en experiencias pasadas.
En este sentido, mi respuesta es más o menos la misma que la segunda vez.
Debido a que tengo más experiencia en el pasado, el entrevistador también agregó lo que quiero ganar si me uno a Alibaba y por qué dejaré Alibaba en el futuro. Todos tendrán diferentes respuestas en diferentes situaciones.
Luego me preguntó por qué fracasé en entrevistas anteriores con Ali y cómo superaste estos problemas. Con respecto a este tema, si se ha entrevistado anteriormente con Alibaba, las evaluaciones de sus entrevistas anteriores también se reflejan en el sistema de contratación interno. Dado que la entrevista tuvo lugar hace mucho tiempo, el entrevistador principalmente quería saber cómo había mejorado en los días posteriores a mi fracaso.
Entonces seguiré preguntando sobre mi proyecto, que en general será similar al segundo, pero te miraré desde una perspectiva más elevada y más amplia. Por ejemplo, su tipo de proyecto y los proyectos de código abierto pueden tener muchas soluciones similares. ¿Por qué tienes que reescribirlo tú mismo? Por ejemplo, ¿qué métricas utilizará para medir el éxito de su proyecto?
¿Qué problemas se encontrarán durante el avance del proyecto y cómo solucionarlos? ¿Cómo se coordina y se comunica durante la cooperación entre departamentos? En este sentido, el entrevistador quiere ver sus habilidades sociales en el proceso de avance del proyecto.
Finalmente, el entrevistador te preguntará sobre tus defectos, fortalezas y debilidades para entender qué tipo de persona eres desde esta perspectiva.
Ya estaba en casa cuando me encontré tres veces. Recibí noticias de que esa noche me tendieron una emboscada por tres lados. Me estoy preparando para la cena. Después de enterarme de que había pasado tres veces, me encerré en mi habitación y no pude evitar llorar de emoción.
4.HR face
HR face es después del Festival de Primavera. Asimismo, seguí respirando profundamente frente a Recursos Humanos. Sabía que tan pronto como pasara por esta cara, casi pisaría a Ali con mis pies. Intenté mantener la calma, pero todavía estaba un poco nerviosa.
Después de presentarme, RR.HH. también me preguntará sobre mi experiencia pasada, que es básicamente la misma que antes.
Ya que participé en la construcción de la comunidad de código abierto de Seata antes, RR.HH. me preguntó sobre mi participación en proyectos de código abierto, específicamente cómo participé en proyectos de código abierto y qué tipo de crecimiento obtuve durante mi participación. En este sentido, RR.HH. principalmente quiere conocer alguna experiencia de su currículum.
Luego, RR.HH. discutirá el proyecto con usted. Sí, has leído bien. La señora de Recursos Humanos discutirá este proyecto conmigo. Me preguntó principalmente sobre mi posición en este proyecto, si tenía que liderar a otros y si me resultó difícil durante el proceso.
Comencé desde el establecimiento del proyecto y hablé en detalle sobre algunas de las dificultades y soluciones que encontré en el camino. También hablé de cómo trabajé con otros departamentos para que el proyecto se desarrollara sin problemas.
Aunque todos preguntan sobre los detalles del proyecto, tienen diferentes perspectivas sobre cuestiones técnicas. RRHH pone a prueba principalmente su capacidad de pensamiento, comunicación y colaboración, y cómo resolver los problemas encontrados a través de su descripción del proyecto.
5. Acerca de las preguntas del examen escrito de Ali
El proceso de mi entrevista fue un poco especial. Normalmente, las preguntas se plantean en uno o ambos lados. No respondí las preguntas del examen en esta entrevista, por lo que realicé una ronda adicional de preguntas del examen después de la entrevista de Recursos Humanos. Las preguntas provienen del banco de preguntas interno de Alibaba. En términos generales, hay dos problemas, uno es implementar una función y el otro es un problema de algoritmo. No se pueden revelar cuestiones específicas.
A través de la experiencia de esta prueba escrita, creo que la prueba escrita de Alibaba prestará más atención a los escenarios reales, en lugar de trasladarlo del leetcode original a usted.
Lo anterior es el contenido general de mi entrevista. Puede que haya algunos puntos olvidados, pero es básicamente el contenido anterior.
El contenido de la entrevista de Alibaba es muy práctico, por lo que si desea tener una mejor oportunidad en la entrevista de Alibaba, debe continuar acumulando en su trabajo y estudio diarios. El entrevistador puede entender fácilmente la memorización. .
Impresión
Tengo los siguientes sentimientos personales sobre la experiencia de esta entrevista.
1. Presta atención a lo básico y profundiza en el proyecto.
Las entrevistas de Alibaba prestan gran atención a la autenticidad y los conceptos básicos, lo que se puede ver desde un aspecto. Por lo tanto, debemos prestar atención al resumen y precipitación de los puntos de conocimiento en la vida diaria, aprender a registrar y pensar más durante el proceso del proyecto. Al mismo tiempo, debemos observar la lógica detrás de cada función desde la perspectiva de la macroarquitectura. e implementación de microtecnología.
2. Sigue estudiando todos los días
El mejor desempeño de ayer es el requisito mínimo de hoy. Esto es también lo que me he pedido desde el comienzo de mi carrera. progresar cada día.
3. La capacidad de expresión es muy importante.
Las habilidades de expresión son realmente importantes durante el proceso de entrevista. Si tienes buenas habilidades, ¿cómo puedes dar lo mejor de ti en sólo una hora? He visto sufrir en las entrevistas a muchas personas que tienen buenas habilidades pero carecen de la capacidad de expresarse.
4. Respeta a las personas excelentes
En mi carrera, he conocido a muchas personas excelentes. Todos ellos son mis modelos a seguir y seguiré aprendiendo de sus puntos fuertes.
5. Continuar amando
Desde mis inicios en la universidad hasta ahora, puedes ver que amo la programación, y es precisamente por este amor que puedo persistir hasta ahora.
6. Cuando te resulta difícil, es cuando creces.
Hasta ahora me he encontrado con muchos desafíos en mi carrera. No te reprimas, aprende a solucionarlo. Cuando lo descubras, crecerás mucho.
7. El proceso siempre es el mejor, sobre todo el momento en el que se llega a la meta es precioso.
El proceso de lucha es muchas veces el más hermoso, y el más inolvidable es el proceso de acercarse al sueño.
Necesitamos apreciar ese momento de emoción cuando logramos nuestras metas, porque este momento siempre es corto.
Hay muchos objetivos por etapas en la vida de una persona, como el examen de ingreso a la escuela secundaria y el examen de ingreso a la universidad. Siempre que se logra un objetivo, creo que todos estarán muy emocionados. Si bien están entusiasmados, también deberían pensar en los desafíos que enfrentarán en la siguiente etapa.
Debido a que el camino de la vida siempre está lleno de obstáculos y desafíos, cuando logras una determinada meta, no puedes dormirte en los laureles y satisfacerte. Necesita trabajar más duro que antes para afrontar nuevos desafíos en el futuro.
Escrito al final
En Zhongtong, un colega de front-end y yo nos quedábamos despiertos hasta tarde con él todas las noches y, a menudo, charlábamos con él durante todo el camino de regreso al dormitorio. Nuestro dormitorio está en el piso 11. A veces tenemos una buena conversación y simplemente subimos las escaleras. De lo que más hablamos fue de nuestro objetivo de ir juntos a una gran fábrica en el futuro y de nuestros planes de vida. A menudo nos animamos unos a otros. Más tarde, él fue a una gran fábrica antes que yo y luego me uní a la tribu de las hormigas.
Se puede decir que experimentamos la genialidad de la que presumíamos al subir las escaleras. Antes de unirme a Ant, le pedí específicamente que regresara y me ayudara a moverme cuando me mudara, y también subimos las escaleras juntos. Ahora que hemos logrado nuestros respectivos objetivos, no podemos evitar llenarnos de emoción.
Espero que este artículo pueda brindar energía positiva y orientación a algunos amigos que están trabajando duro.
El artículo anterior es del "Backend avanzado" de Zhang Chenghui.
Autor|Zhang Chenghui