¿Cuál es el nivel mínimo de autoaprendizaje de Java para conseguir un trabajo?

Prefacio

Déjame mostrarte lo que un programador junior necesita aprender a nivel avanzado. Debes tener una comprensión clara.

Como todos saben, definitivamente no soy un experto técnico.

No lo soy, pero muchas personas a mi alrededor son grandes nombres como Bytedance, PDD, Ali, etc. Sé mucho, así que el siguiente es un resumen de su camino de crecimiento que les pregunté, que sigue siendo representativo.

Estos amigos que me rodean han sido unos grandes vacas en el campo de Internet durante muchos años. Debido a sus hábitos de vida y personales, muchos de ellos no tienen el hábito de escribir en un blog o no lo han publicado públicamente, pero me conocieron, puedo ayudarlos a clasificarlo. afuera.

El propósito es permitir que muchos recién llegados como yo tengan una comprensión clara de una ruta completa de planificación profesional. ¿Qué necesitas experimentar cuando te conviertas en un rey de bronce?

Bronce, la fuente de todo mal

"Computer Basics", esta es la primera clase que todos los lectores tomarán en la universidad. Le pregunté a los chicos del grupo, y todos dijeron que sí, y creo que todos también.

En los conceptos básicos de la computadora, aprenderemos la historia de las computadoras, las características de las computadoras, conversión binaria, administración de memoria, estructura de datos lineal, protocolo de solicitud de red, etc.

Los conceptos básicos de la computadora son realmente importantes, extremadamente importantes y extremadamente importantes. ¿Por qué digo eso? El conocimiento informático involucrado y mucho conocimiento de los protocolos de red definitivamente se utilizarán en el futuro. Puedo decirles que puedo ser responsable de la entrevista. Puede preguntar, qué Http, Https, Tcp / Ip, tres apretones de manos, cuatro entrevistas agitadas, no pregunte con demasiada frecuencia.

Sugerencia: Hay un episodio aquí. Cuando el líder del equipo de arquitectos que estaba a mi lado entrevistó el puesto p8 de Ali esta semana, pensé que estaban preguntando sobre el código fuente y el funcionamiento final del middleware. Creo que todos somos iguales a como yo pensaba, pero todo el mundo estaba equivocado, pero preguntaba mucho sobre los conceptos básicos de las computadoras.

Charlé y pregunté sobre el contenido de la entrevista, cuáles son los requisitos para la duplicación del árbol binario, la comprensión del modo kernel y el modo de usuario, la página de caché de la computadora, etc.

¿Estás sorprendido? ¿No es él * el tema de mi reclutamiento escolar? ¿Por qué los jefes de nivel P8 todavía preguntan esto? De hecho, es fácil de entender. Todo el mundo piensa en la amplitud y profundidad de la tecnología después de un cierto período de trabajo. Tienes un cierto grado de logro. No puedes optimizarla si escribes el código. La configuración de la máquina también es lo mejor, entonces, ¿qué se puede optimizar?

En el nivel inferior, todos sabemos que todos los lenguajes se convierten en lenguajes de máquina al final para ejecutarse. Al final, todos van a interactuar con la máquina. ¿El nivel inferior de la computadora sigue siendo el ¿Lo último a lo que prestar atención?

Bienestar: vendrá a nuestra empresa para una entrevista esta semana. En ese momento, le preguntaré sobre el contenido específico de la entrevista en detalle. Si desea leerlo, puedo ordenarlo y escribirlo para ver qué el mundo de la central eléctrica de ese nivel es como ...

Después de aprender los conceptos básicos de las computadoras, básicamente tiene un poco de conocimiento de todo el sistema de conocimiento de las computadoras. Puede que aún ignore la programación, pero ahora está a punto de entrar en la puerta de la programación.

Primera lección de plata en programación

Después de aprender los conceptos básicos de la computadora, tendremos un curso introductorio de programación.

Debo ver que el 99% de mis amigos en este artículo comenzaron su propia vida de programa con el siguiente código:

Todavía recuerdo que era el lenguaje C que aprendí al comienzo de mi primer año. El libro de texto del profesor de "Programación del lenguaje C", Tan Haoqiang, en la página 27 es el primer capítulo, HelloWord. Ahora que lo recuerdo, es todavía vivo. La maestra escribió esto en la pizarra. Dos palabras solemnes, ella y yo en la misma mesa mostramos una curiosidad infinita ...

Creo que todos los lenguajes comienzan con una gramática básica y la gramática básica de un lenguaje de programación es similar.

Si, For, While y otras palabras clave, List, Set, Map y otras colecciones, Int, float, Double y otros tipos básicos, no creo que lo sabrá cuando lo aprenda por primera vez. Estas palabras clave nos acompañarán a través de cada carrera procesal, ¿no?

El siguiente paso es un poco más difícil, como JDBC, IO, transmisión de archivos, etc. Shuai Bing recuerda vagamente que en ese momento todavía estaba escribiendo SQL en el código y luego lo consultaba.

Después de aprender esto, puede pensar que su JavaSE es invencible y puede encontrar un trabajo cuando salga. De todos modos, el guapo B en ese momento sintió que podía irrumpir en el cielo. No sabía la altura del cielo , y mostró sus habilidades en todas partes.

Pero ingenuo no sé nada, lo que me espera en lo desconocido, y no sé que acabo de empezar, pero si quiero desarrollarme en la dirección de la WEB, estos son básicamente suficientes.

Pero las cosas que ha aprendido hasta ahora son cosas del lado del servidor, ¿cómo muestra sus cosas del lado del servidor a los demás?

En este momento debemos hacer una página fea y realizar interacciones simples, en este momento hay que aprender HTML, Servlet, MySQL, JavaScript, Tomcat, CSS, etc.

El objetivo es escribir el primer sitio web dinámico. Puede que solo sea una función de inicio de sesión, que solo puede mostrar información personal, pero este es un paso muy importante. Lo que debe averiguar es de dónde proviene el clic de un usuario Para iniciar, dónde Para recibir, dónde procesar y dónde devolver, debe comprender la relación y división del trabajo entre el navegador y el servidor, Cookie y Sesión, Solicitud y Respuesta.

Consejo: Recuerdo que cuando salí por primera vez para una entrevista, había preguntas de entrevista como esta: ¿Qué sucedió cuando se inició una solicitud Http desde la página web a los datos devueltos por el servidor, o qué hizo Spring? Todos pueden pensarlo

Y es realmente importante tener un proyecto propio. Hice el proyecto cuando estaba en la universidad y ha funcionado de manera estable en línea en el campus. Cuando salí para la entrevista de pasantía, estaba básicamente abrumado por todos los obstáculos. ¿Es un ladrón de proyectos para agregar puntos, es el estudiante universitario del lector recordado? Inserte la descripción de la imagen aquí
Joven de oro

Lo anterior es solo la etapa inicial de aprendizaje para el desarrollo WEB. Estas son las tecnologías de desarrollo WEB más primitivas y oficiales desde el nacimiento de JAVA. Por supuesto, estas tecnologías rara vez se utilizan directamente en proyectos reales. Ahora, el front y el back end están separados , Vue, La velocidad de iteración de actualización del lenguaje de front-end de Node.js, React, etc. es muy rápida. Shuai Bing, aprendí un poco y me siento cómodo usándolo. Un amigo en el front-end me dijo que está iterando de nuevo ... ¡Yo * él * dejó de aprender!

Con el fin de mejorar continuamente la facilidad de uso, la eficiencia del desarrollo, la capacidad de mantenimiento y la escalabilidad de la tecnología, se encapsulan y mejoran innumerables proyectos de código abierto sobre la base de estas tecnologías originales.

Entonces, en esta etapa, no corra a ciegas y con optimismo para encontrar un trabajo o retomar pasantías. Será golpeado o encontrará una pequeña empresa que se ha confundido y se ha sentido fuera de contacto con la nueva tecnología en los últimos tiempos. años.

Alguien te dice que una empresa pequeña aprende mucho y te duele. Al principio, puedes ir a la grande. Cuanto más grande, mejor. Quieres ir a la grande y quieres ir a la pequeña. minuto a minuto, pero eres pequeño Es relativamente difícil conseguir grandes.

Bueno, la etapa inicial se completa, y comenzamos a entrar en el tema del desarrollo WEB. En primer lugar, el marco legendario. SSM (Spring Spring MVC Mybatis) es imprescindible para convertirse en un programador experto de adición, eliminación, modificación y verificación En esta etapa, debe comprender por qué desea utilizar estos 3. En lugar de esos Jsp, Servlet, Jdbc, debe apreciar los beneficios de escribir MVC, arquitectura de tres niveles.

No cuestione fácilmente el valor del marco en esta etapa. Tal vez lo encuentre problemático al principio y sienta que a veces son innecesarios. Cuando escribí esto por primera vez, descubrí que era realmente repugnante. Qué dao, servicio, Controlador, etc., dividido en tantos Bueno.

Después de esperar un año o dos, cuando mires hacia atrás, te resultará difícil trabajar sin estos marcos, pero sin un sistema jerárquico claro, maldecirás al arquitecto del proyecto.

Sin embargo, quiero recordarles a todos que la mentalidad que se debe evitar en esta etapa es que si puede agregar, eliminar, modificar y verificar de manera competente, cree que escribir un programa no es más que esto, y luego complete el currículum para ser Esta es también la razón por la que las entrevistas para principiantes están bien aprobadas.

Es un tabú para los principiantes. ¿Por qué lo escribes así? ¿Cuáles son las ventajas y desventajas? Pregunta algunas razones más. Agradecerás al editor muchos años después.

Si aprende bien, debería poder escribir blogs, pequeños foros y otros proyectos WEB con soltura, lo que significa que ha cumplido con los requisitos básicos para el empleo.

Consejo: como estudiante de primer año, además de los conocimientos básicos, si tienes tu propio blog técnico, también hay proyectos decentes que se pueden mostrar al entrevistador, lo cual es realmente una ventaja. Construye un proyecto y un proceso de proyecto simples. Ya sabes, la pila de tecnología también es familiar, y también puede visitar la página web en su teléfono móvil para darle al entrevistador una demostración en vivo, lo cual es una ventaja.

Como mis amigos Java3y y JavaGuide, no tengo tres corazones, etc. Ya comencé a escribir mi propio blog en esta etapa, y cada uno de ellos ha logrado logros. Estos serán parte de su poder de negociación en entrevistas en el futuro. Tus puntos de bonificación y tu propia riqueza.

Les pregunté. Han recibido invitaciones para entrevistas de muchas grandes empresas debido a sus blogs. De todos modos, hay proyectos, buenos currículums y buenos blogs. Te darán puntos extra. Si no tienes nada, hazlo ahora. Ve a aprender más y jugar dos juegos menos LOL. Cuando llegues a mi edad, lo encontrarás aburrido. Inserte la descripción de la imagen aquí
Cuchillo de prueba pequeño de platino

Este será un punto de inflexión en la carrera del programador. Si captas el despegue de la vida, si no lo captas, ¡lo perderás todo!

Poco a poco, descubrirá que el rendimiento de la base de datos no es realmente bueno. Por falta de voluntad para el status quo o para seguir la tendencia, debe aprender sobre NoSQL. Memcached, Redis, Mongodb y otras bases de datos no relacionales son deslumbrantes. No importa. Intenta usarlo, lo que puede aliviar bien MySQL. La presión de las bases de datos relacionales como Oracle.

Para algunas de las necesidades comerciales de la empresa, puede profundizar en un campo técnico específico, como la tecnología de búsqueda de texto completo ElasticSearch (en lo sucesivo, Es), entonces comprende Es y debe pensar en cómo sincronizar los datos de la base de datos en Es?

Puede entrar en contacto con Logstash, Canal y otros middleware, y luego descubrir que la visualización también es un problema. Luego nació Kibana. Cuando lo usa, descubre que los europeos tienen hábitos de segmentación de palabras diferentes a los nuestros. Luego, Ik palabra china segmentador tiene que entenderlo de nuevo.

Después de usarlo, descubrirás cómo evitar muchas trampas en Lucene en la parte inferior de él. También puedes aprender sobre Solr con más tiempo.

En resumen, el conocimiento es un sistema. A menudo le digo a la gente del grupo que se forma un sistema de conocimiento. Debes comprender la pila de tecnología relacionada de Es en la entrevista. Mi título se llama "Colgar al entrevistador" es un truco , usted Ir a la entrevista Si la profundidad técnica del entrevistador es realmente profunda, creo que el 100% de ustedes serán derrotados.

Puede que incluso empieces a interesarte por algunas de las existencias más especiales del sistema, como el sistema de permisos, el inicio de sesión único y similares, o la búsqueda de algoritmos de determinadas áreas de negocio específicas, estos son tus puntos extra.

También descubrió que hay muchos inconvenientes en la comunicación Http después de que el servicio se divide, y comienza a ponerse en contacto con el excelente marco Rpc y el middleware de cola de mensajes, como Dubbo, RocketMQ, etc.

Más tarde, descubrió que la cantidad de datos era demasiado grande y la tabla no podía sostenerse. Se necesitaron varios segundos para encontrar cientos de millones de datos. Luego, aparecerían la subbase de datos y la subtabla. ¿Qué es la horizontal split y split vertical? También aprendiste TDDL., Sharding-JDBC, DRDS, etc.

Pero lo usa para encontrar que la generación de ID única global es otro problema. Tal vez el middleware tenga el suyo propio, pero aún debe comprender el principio, qué algoritmo de copo de nieve, uuid, etc. deben aprender.

Más tarde, descubre que la subbibliotecas y las subtablas no pueden soportarlo, y el volumen de negocio se ha disparado. Es posible que deba comprender las ideas de solución y las soluciones de las subbibliotecas y subtablas dinámicas, especialmente algunas de código abierto Programa FaceBook.

Después de otro, descubre que las subbase de datos y las subtablas dinámicas no son buenas. Hay una gran cantidad de datos fuera de línea. Unas pocas T por día, la empresa será derrotada, luego debe comprender el análisis fuera de línea de escenarios de big data . Ah, almacenamiento en caché de datos, limpieza de datos, visualización de datos, etc.

Luego, debe aprender qué middleware o herramientas ODPS, Hadoop, Hive, Hbase, etc.

Luego, una y otra vez más tarde, comienza a encontrar que su código está desordenado y, después de mucho tiempo, no puede entenderlo, el código repetitivo y difícil de reutilizar se acumula, no desea mantenerlo y hay muchos errores.

Por lo tanto, debe comenzar a prestar atención a los patrones de diseño, transformar racionalmente sus propios hábitos de código y ya no estar sujeto a la rígida arquitectura de tres niveles SSH y MVC.

Entonces una y otra vez ... (¿Ya no juegas? Jaja, de hecho no los enumeraré)

Hasta este punto, me pregunto si se ha dado cuenta del significado de las palabras al principio de cada artículo. Justo después del trabajo, se da cuenta de que se está volviendo cada vez más ignorante. Puede intentar la siguiente oración de nuevo.

Cuanto más sepa, más no sabrá.
Inserte la descripción de la imagen aquí
Google y varios materiales son la fuerza impulsora de su progreso. Rara vez encuentra problemas que deba pedirles a otros que los resuelvan. Si todavía les pregunta a otros en esta etapa, su carrera técnica es Casi terminado.

En esta etapa, si su excelencia técnica es tan buena como la mía, sus ingresos estarán al nivel de los trabajadores de cuello blanco, al menos cerca de él, o significativamente por delante de sus pares.

Creo que la mayoría de los programadores pueden alcanzar este nivel después de trabajar durante muchos años. Algunas personas solo necesitan uno o dos años, mientras que otras necesitan cinco o seis años. Algunas personas que se retrasan en esta etapa están limitadas por el talento y el pensamiento. Algunas están fuera de falta de entusiasmo por la tecnología y algunos están fuera de las limitaciones del contenido del trabajo.

Cuando era casi de mediana edad, ya no podía luchar por los jóvenes y fue eliminado, solo para cambiar de carrera en la desesperación cuando se rió de sí mismo como un idiota y un granjero de códigos.

Esta es una línea divisoria muy importante. Si puede continuar progresando, si puede continuar participando en el trabajo técnico después de los 30 años y si puede estar solo en la empresa, creo que depende de si puede ir más allá. este escenario.

Muchos jefes de proyecto en malas empresas que han trabajado durante varios años ni siquiera han alcanzado este nivel ...

Que el yo de 30 años escuche que los despidos valen la pena, que la vieja madre de la familia ya no sea reacia a encender las luces para ahorrar electricidad, para permitirse ...

Creo que debería estar preparado en esta etapa, razón por la cual presento esta etapa extensamente.

Vela de mampostería

Tienes que leer el código fuente de un excelente proyecto de código abierto, tienes que entender algunos conocimientos básicos que no entendías en ese momento, empiezas a entender la esencia de "pensar en java", puedes escribir algunos de bajo nivel código, y a veces siente que encapsula más Algunas herramientas de código abierto son más fáciles de usar y más simples.

"Análisis en profundidad de la máquina virtual JVM" que no entendía en ese entonces, ahora puede apreciar los puntos de conocimiento en su interior, abrir la boca y puede aportar muchos puntos de conocimiento al proyecto para optimizar, y puede ver cambios sustanciales (pista KPI).

La dificultad y el enfoque de WEB siempre radica en el rendimiento y la capacidad de carga, sin embargo, el desarrollo de la red ha provocado un gran aumento en el volumen de datos y la densidad de operación, pero el hardware no ha avanzado en consecuencia.

Debe intentar hacer un mejor uso de más servidores para trabajar juntos. Desde el extremo WEB hasta el extremo del servidor y la base de datos, todos deben agruparse, deben distribuirse, deben controlar el flujo de datos de manera razonable y dominar el sitio web y muchas máquinas. El equilibrio de rendimiento, descubrir el cuello de botella del rendimiento, descubrir el cuello de botella de estabilidad y seguridad, fallas de hardware, errores de tecnología de terceros, se considerará como un lugar común en su sistema y código.

Comenzarás a sentir que el programa es sumamente importante, y el ejército seguirá cumpliéndose si es incompetente, un mal diseño y una mala solución reducirán en gran medida los resultados de trabajo de un grupo de excelentes programadores.

Debe prestar atención al conocimiento de la arquitectura y ya no puede estar satisfecho con la arquitectura SSH de tres niveles.

Una serie de ideas como el diseño impulsado por dominios, el desarrollo orientado a eventos, el desarrollo ágil, etc. pueden determinar la vida o la muerte de su proyecto en un momento crítico. En esta etapa, no hay ejemplos estándar que pueda copiar. Sólo conoces las ideas y los principios, pero necesitas seguir intentando practicar y mejorar.

Preste más atención a las diversas tecnologías de código abierto, algunas de las cuales es posible que ya haya contactado antes, relacionadas con las comunicaciones, relacionadas con los entornos de desarrollo integrados y relacionadas con la arquitectura. Debería poder hablar sobre varias tecnologías convencionales en varios campos. es posible que haya oído hablar de él, entiéndalo.

Pero en el momento crítico hay que saber elegir la tecnología y dominarla rápidamente.

También considerará probar otros lenguajes. No estoy hablando de cambiar a C ++, C # o similares. No tiene nada que ver con los programadores JAVA. Estoy hablando de algunos lenguajes que se ejecutan en la JVM, como scala. Cuando lo hacen, piensas que Java es realmente antiguo.

Pero cuando regrese a un proyecto integral a gran escala, sentirá que toda la tecnología del sistema acumulada por Java es tan perfecta, como un estándar industrial, es posible que descubra que puede usar todas las cosas de la familia Spring de por vida y no se puede utilizar por completo.

Puedes practicar bien esta etapa, y ser competente para los jefes de proyecto, incluso directores técnicos de pequeñas y medianas empresas, y líderes de pequeños equipos de grandes fábricas.

Maestro-el pináculo

De hecho, cuando escribí sobre la etapa anterior, creo que aquí es donde mucha gente está satisfecha, todos son directores técnicos de pequeñas empresas, entonces, ¿qué voy a hacer?

Pero la vida desconocida todavía te está esperando. Le pregunté al dios supremo que me rodeaba, ¿por qué quieres salir de tu zona de confort? ¿Qué tal ir a lugares con mucha presión como Byte y Ali?

Las respuestas que dieron no son las mismas, pero lo mismo es desafiarte a ti mismo, nadie sabe dónde terminas, así que, ¿por qué no intentar más? Nuevo entorno, nueva pila de tecnología, nuevos escenarios de negocios desafían al nuevo Yo.

Cada uno de sus movimientos en esta etapa puede estar relacionado con la vida o la muerte de un proyecto. Una decisión incorrecta o correcta puede cambiar el destino de todo el proyecto. El agua puede arrastrar un bote y puede volcarlo. Creo que es lo correcto úsalo aquí.

Hay pocos grandes de este nivel a mi alrededor, pero no están exentos de ellos. Todos son figuras centrales en la empresa. Lideran al equipo para que se apresuren a buscar grandes proyectos o momentos críticos. Además de los problemas, también pueden dar soluciones. y soluciones las más rápidas.

Sugerencia: Mi jefe actual es una persona así. Cuando todos buscaban datos en Double Eleven, se le ocurrió un conjunto de operaciones y escribió algunos guiones para hacerlo. Un grupo de personas a nuestro alrededor era un punto ciego de conocimiento de de principio a fin. No reaccioné cuando terminó, así que solo pude aplaudir y llamar al 666.

Este es el mundo de los fuertes, el mundo que anhelo. Por supuesto, sé que un mundo así solo se puede poner un pie en un paso a la vez.

Rey-Cima del Monte Tai

Al final, no sé cómo escribir nada. Solo hay un puñado de personas que pueden ir a este campo. Los tengo a mi alrededor, pero creo que todos lo entienden por sí mismos. En general, es networking, comunicación y habilidades que han alcanzado cierto nivel, no sé nada en este momento.

Todo lo que puedo pensar son los versos del antepasado: Señala el país y ataca a Fang Qiu.

Se puede considerar que deja a todos con un espacio ilimitado para la ensoñación. En el futuro, puede que seas el rey de tu campo, ¿verdad? Inserte la descripción de la imagen aquí
para resumir

He escrito mucho antes de darme cuenta. Lo anterior es la ruta de desarrollo de 0 a programador de Java en mi opinión personal. Debido a las limitaciones de espacio, no es completa. La ruta de crecimiento personal real puede variar mucho debido a la diferencia en el trabajo Algunas personas prefieren En términos de investigación de bajo nivel, algunas personas tienden a diseñar para los requisitos comerciales, algunas tienen colores fuertes de la industria y, además de la tecnología, hay mucho conocimiento que también es muy importante. No hay una dirección fácil para hace Java, pero alguien que está interesado en la tecnología La gente, en este punto, todavía tiene entusiasmo por el desarrollo y quiere escribir buenos proyectos.

Los estudiantes que están aprendiendo Java pueden venir a mi falda de aprendizaje de Java: 3907814, 3000 personas y un grupo de diez años pueden aprender de él.

Los programadores que trabajan únicamente para ganarse la vida no pueden dar este paso. Esta línea de negocio ha llegado. Todos están las 24 horas del día. ¿Por qué hay una brecha? Creo que tú y yo lo entendemos. Si sabes por qué, hazlo Llame a la sala de nombres.

Supongo que te gusta

Origin blog.csdn.net/weixin_49794051/article/details/108727090
Recomendado
Clasificación