¡Me quedé despierto hasta tarde durante una semana! Resumió este conjunto de métodos y rutas de aprendizaje de Java para la evaluación comparativa de Ali P8, ¡y se lanzará en 3 días!

Prefacio

Recientemente, los fans siempre me han enviado mensajes privados diciendo que cada vez me resulta más difícil aprender Java. Entre ellos, los recién graduados que se acaban de graduar dijeron que no podían encontrar un trabajo satisfactorio con su tecnología, y algunos que tenían estudiaron en la escuela dijeron que no podían encontrar una manera de aprender.Más a menudo, los desarrolladores de Java que trabajan dicen que la tecnología actual se actualiza demasiado rápido y que es difícil para ellos mantenerse al día con las necesidades de los principales fabricantes. En respuesta a la situación que me dijeron los fans, he compilado este conjunto de rutas de aprendizaje para la pila completa de Java para todos, ¡fácil de entender, simple y fácil de aprender! ¡Lleno de productos secos se colocan debajo!

Empezando con Java

Que aprender

Han pasado más de 20 años desde el nacimiento del lenguaje Java. A juzgar por las clasificaciones de Tiobe, el lenguaje Java ha estado dominando la lista durante mucho tiempo, así que no tema que de repente se vuelva impopular después de aprender Java. Al menos en los últimos años, hay muchas oportunidades laborales en Java.

Si tiene una base en otros lenguajes, como haber aprendido previamente C, C ++, etc., entonces aprender Java debería ser muy fácil y fácil de usar. Si no tiene una base de lenguaje y no quiere entender cosas de bajo nivel, entonces aprender Java es bueno. En cuanto a Python, desde el nivel del lenguaje, Python es realmente muy simple. Se estima que puedes aprenderlo en una semana y escribir bien el código, pero Java es diferente. Solo puedes entender la gramática en una semana. Es casi imposible escribir un buen código. Además, el lenguaje Go está ganando impulso, por lo que todos pueden prestar atención.

En términos generales, debe dominar los siguientes puntos de conocimiento para comenzar con Java:

  • Orientado a procesos frente a orientado a objetos
  • Características básicas orientadas a objetos: encapsulación, herencia, polimorfismo
  • Caracteres de control de acceso: privado, predeterminado, protegido, público
  • Tipos de datos: tipos básicos, tipos de referencia
  • Flujo de control: para, mientras, interruptor, etc.
  • Publicación por entregas
  • Manejo de excepciones (un poco difícil)
  • Genérico (un poco difícil)

¿Cómo aprender?

Si usted es de base cero, le sugiero que busque algunos videos introductorios de Java para ver. Hay muchos videos en línea, así que preste atención a la discriminación. Recomiende una plataforma mejor: la estación B
no es para que usted vea la segunda dimensión, hay muchos recursos de aprendizaje en ella. (Oye, ja)

Llamar a la pizarra: No seas codicioso por los videos, porque ninguna vaca grande puede verlos viendo el video. Ver el video es que otros verterán conocimiento en tu cabeza. La mayor ventaja es que te permite comenzar rápidamente. Si quieres aprender más, lo que necesitas es autoaprendizaje, autoaprendizaje con pensamiento.

Conceptos básicos de informática

Los compañeros que son de una clase importante deben estar familiarizados con los dos cursos de "Red de Computadoras" y "Sistema Operativo". En cuanto a cuánto han dominado, sabes que todos aprenden por sorpresa una o dos semanas antes del examen, jaja .

Hoy en día, las grandes empresas tienen requisitos cada vez más altos para los recién graduados, y los dos cursos de informática y sistemas operativos son obligatorios. Aquellos que han tomado la Oferta SSSP tienen una base informática sólida.

Que aprender

Hay muchos protocolos para redes informáticas. Muchos estudiantes se confunden después de aprender o solo entienden un poco de HTTP, pero hay muchas cosas que dominar:

  • Modelo OSI de siete capas, modelo TCP / IP de cinco capas
  • Protocolos de red comunes: HTTP, TCP / IP, UDP
  • Seguridad de la red: cifrado asimétrico, firma digital, certificado digital
  • Ataques de red: DDOS, XSS, CSRF ataques entre dominios

¿Cómo aprender?

Hay una pregunta de entrevista muy clásica en la entrevista de la red informática: hable sobre el proceso desde la entrada de la URL hasta la visualización de la página final. Esta pregunta puede cubrir la mayoría de los puntos de conocimiento de la red informática, desde la resolución DNS hasta HTTP, protocolo TCP / IP, protocolo de capa física, hasta la representación del navegador de la página, puede hablar tan profundamente como tenga conocimientos técnicos. Espero que pueda intentar responder a esta pregunta después de terminar sus estudios.

Estructura y algoritmo de datos

Que aprender

Algunos estudiantes pueden tener que preguntarse: ¿Es necesario que aprenda algoritmos para Java? La respuesta es: ¡no hay elección!

El proceso nacional de entrevistas por Internet se está acercando gradualmente a países extranjeros Para grandes empresas como Bytedance y BAT, triturar preguntas algorítmicas se ha convertido en una necesidad.

De hecho, en comparación con C y C ++, Java tiene una biblioteca de clases rica y un marco tripartito. Después de ingresar al trabajo, la mayoría de las personas escriben código comercial, comúnmente conocido como API boy o Crud boy. El algoritmo no parece ser tan importante, pero el algoritmo es realmente Es un método de bajo costo para que las empresas entrevisten y seleccionen a las personas. Si escribe el algoritmo y lo pasa, o es inteligente o diligente.

Entonces, no importa qué idioma esté aprendiendo: C, C ++, python, Java, GO, debe pasar el nivel de algoritmo. He enumerado los puntos de conocimiento básicos de la estructura de datos y las entrevistas de algoritmos. Puede consultarlos y dividirlos uno por uno.

  • Pila y cola: primero en entrar, primero en salir, último en entrar, primero en salir
  • Lista enlazada lineal
  • Búsqueda: búsqueda secuencial, búsqueda binaria
  • Clasificación: tipo de intercambio, tipo de inserción, tipo de selección
  • Árbol, árbol binario, gráfico: primero la profundidad (DFS), primero la amplitud (BFS)
  • Recursividad
  • Divide y conquistaras
  • Ventana deslizante
  • Tres algoritmos asombrosos: retroceso, codicioso y programación dinámica (DP)

¿Cómo aprender?

La mejor o la forma más tonta es cepillar las preguntas. Se recomienda encarecidamente a Likou. Se
recomienda cepillar más de 300 preguntas, cubriendo preguntas simples, medianas y difíciles. Antes de la entrevista, debe entrenar su tacto de la mano. No sea un desconocido. Puede optar por mantener una pregunta todos los días o varios días.

Patrones de diseño

Que aprender

Hay demasiadas artes marciales en las novelas de Jin Yong. La más completa es la Escritura del Nueve-Yin. La Escritura del Nueve-Yin está dividida en dos volúmenes. El primer volumen es la base del poder interno y el segundo volumen son las artes marciales. Los prestigiosos trucos de artes marciales.

Entonces piensa en cuál es el secreto de las artes marciales. De hecho, abrir y abrir son algunos movimientos fijos, tener estos movimientos en mente y usarlos bien es un gran maestro.

Volviendo a la programación, además de escribir código limpio, también debemos usar varios patrones de diseño para hacer que el código sea más legible, extensible y poco acoplado. Esto es de lo que todos hablan a menudo como maestros de codificación.

Entonces, ya sea aprendiendo artes marciales o aprendiendo codificación, hay algunos movimientos fijos, es decir, patrones de diseño.

Cuando se trata de patrones de diseño, muchos estudiantes pueden saltar: sé que este es el modelo singleton, el modelo de fábrica ...

Barabara dijo mucho, pero cuando realmente escribió el código, estaba confundido: ¿Por qué no escribo código usando patrones de diseño? La razón es que su experiencia con el código no es suficiente.

Piense en cómo surgió el patrón de diseño. En el siglo pasado, cuatro grandes hombres formaron un grupo llamado GoF y publicaron un libro que incluía 23 patrones de diseño, que gradualmente se hicieron conocidos. Estas cuatro personas han resumido un conjunto de metodología (rutinas de escritura de código) de mucha práctica de código. Como estudiante en la escuela o recién llegado al trabajo, es posible que incluso escribamos menos código. ¿Cómo podemos dominarlo fácil y rápidamente? Diseño múltiple patrones.

Así que ha terminado de aprender los patrones de diseño, pero aún no los ha aplicado a la práctica diaria de código, esto es normal, porque la experiencia del código no es suficiente.

¿Aún aprendes? Por supuesto que tienes que aprender, porque puedes preguntar durante la entrevista. Todavía tenemos que sentar una buena base para el conocimiento teórico de los patrones de diseño, y necesitamos dominar estos puntos de conocimiento:

Los seis principios de los patrones de diseño: responsabilidad única, sustitución de Richter, inversión de dependencias, aislamiento de interfaz, regla de Dimit, principio de apertura y cierre
Conceptos básicos de UML
Tres categorías de patrones de diseño: creación, estructura y comportamiento.
Principios básicos de patrones de diseño comunes
Hay una Un total de 23 patrones de diseño clásicos (ahora son muchos más de 23, y hay algunas variantes). Es demasiado difícil dominarlos todos. Solo necesitamos dominar algunos de los que se usan comúnmente. He marcado los que deben dominarse con la pequeña bandera roja. Arriba.

¿Cómo aprender?

Hay muchos materiales de aprendizaje sobre patrones de diseño en Internet, y la calidad también es desigual, por lo que cuando lo busque, debe mantener los ojos abiertos.

Antes de leer el libro, todavía le recomiendo que se familiarice con el conocimiento teórico de UML, porque si no comprende UML, es posible que no pueda leer ningún libro de patrones de diseño. UML es la premisa de los patrones de diseño.

Maestro de Java avanzado

Que aprender

Felicidades por comenzar finalmente con Java. La diferencia entre Daniel y el novato es que el novato siempre se detendrá en el nivel de entrada, y Daniel ha encontrado un mundo nuevo, y no estás lejos del maestro después de escalar estas montañas.

Los maestros de Java necesitan dominar muchas cosas para avanzar, aquí hay algunos puntos de conocimiento básicos que deben dominar. Este es un sitio de prueba de alta frecuencia para entrevistas de Java, y también es parte del legendario ensayo de Java de ocho patas.

  • Código fuente de la clase de colección Java
  • Grupo de hilos
  • Agente de Java
  • Modelo IO
  • JVM
  • Programación concurrente de Java (JUC)

¿Cómo aprender?

Java ya ha comenzado y quieres avanzar, te sugiero que dejes de buscar videos y pienses mientras lees el libro.

Marco básico (SSM)

Que aprender

Aprender las características del lenguaje Java puede ser aburrido, y luego puede aprender el marco básico para hacer algunos proyectos, como el muy popular marco Spring en el campo de Java, que está diseñado para el backend de Java y es muy fácil de usar.

Antes de que Spring se hiciera popular, existía un framework popular como Struts, pero fue derrotado por Spring por varias razones.

A menudo debería ver la abreviatura de SSM en Internet, que en realidad es la abreviatura de Spring + SpringMVC + MyBatis.

Necesita dominar lo siguiente:

  • Uso del cubo de la familia Spring (Spring, Spring MVC, Spring Boot)
  • Uso del marco ORM (MyBatis, Hibernate)
  • Principio de primavera
  • Principio del marco ORM

¿Cómo aprender?

La mejor manera de aprender el marco SSM es completar un proyecto simple a mano. Se recomienda seguir el video y escribir el código. Una vez que esté familiarizado con el proceso de desarrollo del proyecto, también puede traer una sensación de logro.

Llamar a la pizarra: Es muy importante tener una sensación de logro por etapas, sin esto, es fácil dejar de aprender, por lo que es posible que se establezca una pequeña meta de vez en cuando.

Hay muchos novatos que están muy enredados en la interfaz cuando trabajan en proyectos. Como programador de back-end de Java, no eres un desarrollador de pila completa. ¿Qué haces con esto? Mi sugerencia: o no escribas simplemente la interfaz , o escribe un HTML por ti mismo, no. Tiene que ser bonito y funcional.

¿Qué debo hacer después de completar el proyecto siguiendo el video? La respuesta es: una comprensión profunda de los principios marco. Saber cómo usar el marco no significa que lo entiendas. Como programador empeñado, comprender el principio es siempre un curso obligatorio. ¿Quién hace que esta industria sea demasiado complicada? Eres el mejor si no tienes a nadie.

Marco de microservicio

Que aprender

En los últimos años, la arquitectura de microservicios ha sido muy popular, debido a que la arquitectura monolítica tradicional y la arquitectura orientada a servicios no pueden satisfacer gradualmente las necesidades de la rápida iteración de Internet. Los microservicios pueden proporcionar más fácilmente herencia continua y capacidades de implementación continua, lo que permite que los productos se entreguen al mercado más rápidamente.

La arquitectura orientada a servicios se propuso en realidad hace cinco o seis años. Después de un período de reflujo bajo durante este período, algunos marcos útiles surgieron gradualmente después de que la burbuja se disipó. SpringCloud es el representante en el extranjero y Dubbo es el representante nacional.

SpringCloud y Dubbo son diferentes, pero muchos principios básicos son similares. Necesitas dominar la esencia de la tecnología cuando aprendes.

Estos son algunos puntos de conocimiento básicos:

  • Marco Dubbo
  • Marco SpringCloud
  • Registro y descubrimiento de servicios
  • Seguimiento de enlaces de servicios distribuidos
  • Aislamiento, fusión, degradación del servicio
  • Pasarela de servicio

Middleware común

Que aprender

Los usuarios finales no utilizan middleware directamente, es decir, el middleware no es un producto de software de consumo masivo. Pero el middleware es indispensable en las grandes empresas, se trata de unos componentes y servicios básicos que soportan la arquitectura de grandes sitios web, por lo que es muy, muy necesario aprender.

Enciclopedia

El middleware generalmente se refiere a un sistema distribuido a gran escala que es responsable de la administración y el intercambio de datos entre varios componentes / servicios.

Hay muchos middleware de código abierto excelentes en la industria, y algunos generalmente se introducen en el sistema de acuerdo con las necesidades de la empresa. A continuación, se muestran algunos de los más comunes, todos los cuales son obligatorios y no opcionales.

  • Almacenamiento en caché: Redis, Memcached (se recomienda Redis)
  • Cola de mensajes: Kafka, RocketMQ, RabbitMQ, ActiveMQ, ZeroMQ (se recomienda Kafka)
  • Middleware de base de datos: ShardingSpere, Mycat

base de datos

Que aprender

La base de datos es muy importante, y la entrevista también es obligatoria. Hay muchos puntos que se pueden probar, y la prueba puede ser muy superficial: pregunte sobre el uso de SQL, o puede realizar una prueba profunda: pregunte sobre el principio de implementación de índices y bloqueos. Algunos puntos de conocimiento común se enumeran a continuación.

  • Teoría básica de la base de datos: paradigma, principio de índice, motor de base de datos
  • Sintaxis básica de SQL
  • Ajuste de SQL, explique el plan de ejecución
  • Transacción de base de datos (ACID)
  • Bloqueos de base de datos: bloqueos optimistas, bloqueos pesimistas, bloqueos de tablas, bloqueos de filas, etc.

¿Cómo aprender?

Se recomienda que los estudiantes con una base cero en la base de datos primero aprendan la teoría básica de la base de datos, porque he visto que muchas personas aprenden SQL tan pronto como surgen, y solo lo usarán al final. llega al ajuste de SQL, están muy confundidos. Si solo desea utilizar la base de datos, puede omitir esta parte.

En la parte principal, hay un libro de texto muy clásico "Conceptos del sistema de base de datos" para aprender. Los libros clásicos son generalmente más difíciles y gruesos. Le sugiero que consulte el catálogo primero y elija los puntos clave. Aquellos que hayan estudiado este libro en la universidad pueden saltearlo.

Después de tener algunas teorías, puede comenzar a aprender la gramática SQL. Aquí hay un "MySQL Must Know and Know" recomendado, mientras lee el libro y escribe en la computadora.

Por supuesto, definitivamente preguntará sobre las cosas más difíciles de la entrevista. Debe comprender el principio de indexación, transacción ACID, bloqueo y preguntar a la base de datos estas cosas.

Arquitectura distribuida

Que aprender

La parte distribuida es un elemento adicional para la entrevista. Después de que la conteste, el entrevistador sentirá que tiene una sólida formación técnica. Si no responde bien, puede sobrevivir siempre que tenga una buena base. Por lo tanto, como persona técnica con persecución, no pierda la oportunidad de sumar puntos.

Hay una gran cantidad de contenido relacionado distribuido. Aquí hay algunos puntos de conocimiento que se encuentran a menudo en proyectos o entrevistas:

  • Transacción distribuida: compromiso de dos fases (2PC), transacción de compensación (TCC)
  • Bloqueo distribuido: basado en base de datos relacional (MySQL), basado en Redis, basado en Zookeeper
  • Identificación distribuida: copo de nieve, hoja de Meituan

¿Cómo aprender?

Esta parte del contenido es muy difícil de aprender bien y se introduce a la ligera en muchos libros sin una explicación detallada del principio, por lo que no se recomienda el libro.

¿Cómo lo aprendes? Puede buscar blogs de alta calidad en Internet para cada punto de conocimiento, y luego explicaré estos puntos de conocimiento gradualmente en más artículos, así que estad atentos, bienvenido a recordárselo.

para resumir

Finalmente, para facilitar que todos aprendan, he preparado puntos de conocimiento básicos de ava para todos + un conjunto completo de materiales y videos de aprendizaje de arquitectos + colecciones de entrevistas de fábrica importantes de primera línea + plantillas de currículum de entrevistas + Alibaba Meituan Netease Tencent Xiaomi iqiyi mano rápida Preguntas de la entrevista de Bilibili + Colección de código fuente de Spring + Libro electrónico de combate real de arquitectura Java para compartir con todos de forma gratuita.
¡Los amigos que lo necesiten pueden hacer clic aquí para comentar csdn y descargarlo ellos mismos !

Gracias por ver aquí. Por favor, corríjame si hay alguna deficiencia en el artículo. Si cree que el artículo es útil para usted, recuerde darme un pulgar hacia arriba. Compartirás artículos técnicos relacionados con Java o información de la industria todos los días. ¡Bienvenidos a todos a seguir y reenviar el artículo!

Supongo que te gusta

Origin blog.csdn.net/jiagouwgm/article/details/112174571
Recomendado
Clasificación