Prefacio
En contacto con Java en la segunda mitad de 5 años, Qiyu generalmente participó en la formación de Java, tiempo durante el cual lo sabía. A principios de 2016 encontré mi primer trabajo en mi vida, con un salario de 3k, se me puede considerar como un retorno a mis esfuerzos anteriores, ya estoy muy satisfecho conmigo en ese momento. Pero entonces no esperaba que la empresa fuera un pozo. He estado en la empresa durante más de medio año y escribí un puñado de códigos. Sin embargo, hice un faro para el desarrollo de mi carrera y la tecnología en el futuro, y me brindé mucha ayuda. Por lo tanto, hay algo de verdad en decir (sufrir por la fuerza de uno y perder el caballo, sin conocer la buena fortuna).
En ese momento, no había tarea de código todos los días, solo clasificaba los datos de la tabla, año tras año, día tras día. . .
Punto de inflexión de la vida
Finalmente, estoy insatisfecho con el status quo y volví a planear mi carrera.
También siento que esto es una pérdida de tiempo, y sé que (viendo que los estudiantes en el mismo período están prosperando) En lugar de estar sentado y esperar la muerte, es mejor salir y probar el agua yo mismo e ir a una empresa que pueda crecer rápidamente. Después de enviar la solicitud de renuncia, comencé a leer conscientemente algunas preguntas de la entrevista, recuperé las notas de capacitación, memoricé preguntas y miré algunas preguntas de conocimientos básicos. . . .
Entrevista
El proceso de entrevista fue mucho más difícil de lo esperado. Conocí n ++ hogares, y la mayoría de ellos se quedaron sin nada (por supuesto, la tecnología en ese momento era mejor que el pollo vegetal). A pesar de ser tan difícil, todavía hay dos (uno es el front-end, el otro es relativamente impopular) El marco de aprendizaje y desarrollo) no era lo que quería, todo fuera de la planificación del desarrollo profesional, después de pensarlo dos veces, todavía tomé la decisión de declinar (en este momento ha pasado más de medio mes desde que me despidieron), mi mentalidad comenzó a ser impetuosa y comencé a pensar salvajemente. Pero una cosa es cierta, no me arrepiento de mi renuncia, finalmente, en una tarde soleada, recibí una llamada de incorporación de la segunda empresa de mi vida (y era mi favorita). No pude ocultar mi emoción. Ya no recordaba lo que decía el teléfono en ese momento. Solo dije "Sí, sí, sí ..."
Entrada
Esta es una empresa pequeña, todos los trámites están preparados, y finalmente entré a la empresa como deseaba, con la cautela como el primer trabajo, diligente e inquisitiva, y no atreverme a ser holgazán. Esta empresa está muy ocupada y siempre tiene trabajo que hacer. A menudo trabajo horas extras hasta las 9 en punto. Básicamente, 996 es la norma. Siento que estoy lleno todos los días y puedo aprender mucho. No me siento cansado y todavía estoy soltero. No hay nada que hacer después del trabajo, por lo que no hay nada de qué quejarse de las horas extraordinarias y la paga es muy buena.
creciendo
Al principio, el líder del equipo y yo estábamos haciendo todo en un lío. Pero he crecido mucho. El líder del equipo también me cuida muy bien. Yo básicamente respondo todas las preguntas y me ayudo a ampliar mis conocimientos cuando tengo tiempo. Estoy muy agradecido.
Durante esta empresa, también compré mi primera casa en mi vida, (este es solo un juego) Por supuesto, mis padres pagaron más del 90% del dinero. (¡Jaja, secretamente feliz! Me alegro de haberlo comprado en ese momento, de lo contrario no podré comprarlo más tarde)
Después de permanecer más de dos años en esta empresa, la relación entre compañeros es muy armoniosa, todo está bien, pero se ultima la tecnología básica y demás, y básicamente se repite el trabajo anterior. Parece que no hay reto. La empresa no tiene Internet para lidiar con lo nuevo Debido al deseo por la tecnología, todavía voy a salir y ver, a ver y ver cosas nuevas;
confuso
Después de mudarme a muchas empresas, estaba lejos de lo que esperaba, después de todo, no encontré un sentido de pertenencia y no lo hice por mucho tiempo.
Hasta que llegué a esta casa, probablemente era la segunda mitad de 2017. Originalmente pensé que encontraría a alguien cerca de mi casa, con poco trabajo y buen dinero. Lo suficientemente justo;
Hagámoslo así. Es más cómodo. Hasta el rápido desarrollo de los productos de la empresa, los usuarios tienen que enfrentarse a una serie de problemas causados por errores en el proyecto desde 0-10w-100w-200w + y no recuerdan cuántas noches han experimentado. Solución de muy bajo nivel para la simultaneidad y el aumento de inventario. Hasta ahora, la migración de datos y la copia de seguridad me han hecho darme cuenta de que "mejorarme" es muy importante
Aprender
Puntos de conocimiento específicos
Programación de subprocesos múltiples y alta concurrencia
Introducción y explicación detallada de spring y ioc
Construcción simple de maven, resorte AOP
Explicación de la dependencia circular y el modo proxy en primavera
Implementación en caliente del desarrollo de la estructura del proyecto SpringBoot mvc
El proyecto web SpringBoot integra fuentes de datos, Thymeleaf
Desarrollo de proyectos: Thymeleaf, Jpa, Bootstrap
mybatis integra SpringBoot, mybatis-generator
Asignación de roles, procesos y tareas en el desarrollo de proyectos empresariales
pageHelper, cambio de página, uso de ejemplo, forma asincrónica
Desarrollo-RBAC, diseño de tablas, YAML, configuración de proyectos
Development-RBAC anverso y reverso, mybatis multi-table, thymeleaf
Desarrollo-Odata, Restful, Carga de archivos SpringBoot
Autorización de desarrollo, Icheck, Mybatis plus
Principio de Tengine, comparación, implementación, configuración, host virtual
Tengine proxy inverso, equilibrio de carga, uso compartido de sesiones, etc.
Separación dinámica y estática de Tengine https SSL cifrado asimétrico
Introducción del certificado autofirmado Nginx OpenSSL xca FastDFS
El principio de implementación FastDFS integra Nginx JavaAPI
Equilibrio de carga de alta concurrencia: principio de protocolo de red
Alto equilibrio de carga concurrente: derivación de los modelos DR, TUN y NAT de LVS
Equilibrio de carga de alta concurrencia: construcción de prueba del modelo DR de LVS
Principio del ambiente primaveral
Equilibrio de carga de alta concurrencia: construcción de alta disponibilidad LVS basada en keepalived
Oyente de primavera
Zookeeper de alta disponibilidad keepalived FastDFS
dubbo demo, rol, RPC, principio, RMI
Centro de registro dividido de microservicios de proyectos, administrador de dubbo
Proyecto de cuenta pública de WeChat bajo dubbo
Principio de primavera AOP
Construcción del proyecto de agregación de configuración del núcleo dubbo
Solución de arquitectura de caché multinivel de tráfico de millones de niveles, openresty Lua
Programación de subprocesos múltiples y alta concurrencia
Tipo de cadena y mapa de bits de Redis
redis 的 list 、 set 、 hash 、 sorted_set 、 skiplist
Suscripción de mensajes de Redis, canalización, transacción, módulos, filtro de floración, LRU de caché
Redis persistent RDB, fork, copyonwrite, AOF, RDB y AOF de uso mixto
Clúster de Redis: replicación maestro-esclavo, CAP, PAXOS, clúster de fragmentos de clúster 01
Clúster de Redis: replicación maestro-esclavo, CAP, PAXOS, clúster fragmentado 02
Desarrollo de Redis: spring.data.redis, conexión, serialización, api alta / baja
Introducción a Zookeeper, instalación, uso de shell cli, verificación de concepto básico
Conocimiento de los principios del guardián del zoológico, paxos, zab, funciones de rol, bases de desarrollo de API
Caso Zookeeper: descubrimiento de registro de configuración distribuida, bloqueo distribuido, programación en modo activo
Tráfico de 100 millones de niveles, caché de varios niveles y arquitectura del sistema de alta concurrencia
Descripción general del microservicio de Spring Cloud y construcción del centro de registro
Programación de subprocesos múltiples y alta concurrencia 6
Tráfico de 100 millones de niveles, caché de varios niveles, arquitectura del sistema de alta concurrencia, combate real IV
Llamadas entre microservicios y degradación de fusibles
Uso de puerta de enlace de microservicio, seguimiento de enlaces y centro de configuración
Tráfico de 100 millones de niveles, caché de varios niveles y arquitectura del sistema de alta concurrencia cinco
Programación de subprocesos múltiples y alta concurrencia siete
Tráfico de 100 millones de niveles, caché de varios niveles y arquitectura de sistema de alta concurrencia combat VI
Resumen del código fuente de Spring
Proyecto de llamada de vehículos en línea, combate 1: funciones de usuario de pasajeros
Límite actual de la arquitectura del sistema de flujo de mil millones de niveles
Proyecto de llamada de vehículos en línea combat 2: diseño de seguridad de interfaz y bloqueo distribuido
Expansión de la arquitectura del sistema de flujo de mil millones de niveles
Degradación de la arquitectura del sistema de flujo de mil millones de niveles
Formato de archivo de clase y entrada JVM
Java NIO
Principio de transacción distribuida de la arquitectura del sistema de flujo de miles de millones
La capa de distribución de tráfico real de la arquitectura del sistema de tráfico de mil millones
Proyecto de llamada de coche en línea combat 3: aplicación de cola de mensajes
Explicar el proceso de carga de clases en detalle
El nombre de dominio real y https de la arquitectura del sistema de tráfico de mil millones
Página de detalles del sistema de comercio electrónico PLAN A
Generación de archivos estáticos-rsync
NIO 之 ByteBuffer
Proyecto de llamada de coche real combat 4: resumen del proyecto
Modelo de memoria Java
Soluciones de selección de tecnología y procesos de negocio de generación de documentos estáticos
Arica desarrolla CRUD real
Selector NIO de Netty
Barreras de memoria e instrucciones JVM
Generación de archivos estáticos
sincronización html, generación de página de inicio, generación de lotes, verificación de estado
Transacción de una sola máquina, bloqueo simultáneo, prueba de esfuerzo
Gestión de la memoria de Netty
Área de datos de tiempo de ejecución de Java e instrucciones comunes
Escenarios de aplicación de arquitectura html, expansión de capacidad, implementación de paginación estática
Paginación lógica 2, dinámica y estática, acceso lua mysql
resty_template, implementación del mecanismo de compensación de archivos estáticos
Resumen de proyectos de alta concurrencia con miles de millones de tráfico
Clase magistral sobre tuning de mysql
Conocimientos teóricos esenciales para JVM tuning-GC Collector-Three-color mark
PS + PO tuning combate real
Resumen del curso de Netty
JVM tuning combate real
Principios de blockchain-Bitcoin, minería y especulación
Principio Blockchain-Ethereum
Protocolo blockchain-fantasma, pow, pos
Ajuste de combate real de JVM 2
Protocolo de consenso Blockchain-DPOS, desarrollo de contratos inteligentes de solidez
Criptomoneda manuscrita de blockchain-solidez
Mensaje Middleware-ActiveMQ
Hablar sobre el algoritmo de recolección de basura
apache dubbo
nube de primavera
Aprender y pensar en el diseño de microservicios de malla de servicios
JIRA sum findbugs
inspección de código jenkins
La experiencia y el aprendizaje anteriores son solo para referencia. Para los líderes subalternos con nivel técnico promedio, deben mostrar una admiración especial por él y no dejar que sienta que lo está felicitando. De ninguna manera. Esta es la experiencia de supervivencia social animal que resumí, de lo contrario, varios Ponte unos zapatos pequeños para ti ...
Desventajas:
Uno: Se requiere aprobación para todo. Aunque no trabajo horas extras a menudo, a veces salgo tarde
2: si no tiene acceso al negocio principal y desea ir a una gran fábrica, debe trabajar duro en su tiempo libre
Compartir experiencias en el lugar de trabajo
1. Durante el período de prueba, seré reprimido por el líder. Fui entrenado por el líder sin previo aviso. Debes soportar este tipo de cosas o irte. No compitas con el líder.
2. Simplemente llévese bien con sus colegas. Todos piensan de manera diferente. No hay necesidad de mostrar su propia ventaja. Incluso si tiene fuerza, debe ocultarla. Algunos colegas le responderán y usted comprenderá gradualmente
Al final:
En vista del hecho de que muchas personas se están entrevistando recientemente, también he recopilado muchos temas de entrevistas (spring, mybatis, jvm ... si traes más, puedes ver las fotos adjuntas) y las preguntas de entrevistas reales de muchas empresas.
Las respuestas a las preguntas de la entrevista anteriores están organizadas en notas de documentos. También clasifiqué algunos materiales de la entrevista y las últimas preguntas de la entrevista recopiladas por algunas grandes empresas en 2020 (todo organizado en documentos, una pequeña parte de las capturas de pantalla), si es necesario, puede hacer clic para ingresar para ver la información .
Alguien podría decir: Simplemente ponga todas las preguntas reales de la entrevista. . .
¿Sabes cuánto he reunido recientemente?
Espero que sea de ayuda para todos. Si es útil, ¡por favor bríndeme su apoyo!