algo-básico
Para permitir que todos lean mejor artículos técnicos de alta calidad, como algoritmos y conceptos básicos de computadora (incluidas redes de computadoras, sistemas operativos, MySQL, etc.), he organizado estos artículos en un PDF con una tabla de contenido de alta definición. Sin embargo, para la conveniencia de corregir errores más adelante y agregar contenido nuevo, tenemos este Github.
Por lo tanto, este Github compartirá artículos sobre estructuras de datos, algoritmos, conceptos básicos de informática, mi experiencia de aprendizaje, etc. Ya sea que esté lidiando con entrevistas, especialmente reclutamiento escolar, o quiera mejorar sus habilidades internas , creo que estos artículos míos pueden Le resultarán útiles. Estos artículos se actualizan básicamente aquí después de recibir elogios constantes de las principales plataformas de blogs.
Además, si te resulta útil después de leer el artículo, a Shuaidi le gustaría pedirte que me hagas un favor y me des una estrella para satisfacer mi vanidad. Si hay más estrellas, tal vez tenga la oportunidad de tomar una captura de pantalla y. envíalo a Moments, pretendiendo ser B, ji, ji.
Finalmente, si desea leer la versión PDF o epub del libro electrónico, puede ir a mi cuenta pública de WeChat Shuai Di Wan Programming y responder al entrenamiento de fuerza interna del programador . También puede obtener la versión PDF/epub del libro electrónico. Libro electrónico compilado por todos los artículos con una tabla de contenido de alta definición, puede simplemente escanearlos y seguirlos.
Tabla de contenido
- algoritmo de aprendizaje
- Intercambio de experiencias de algoritmos de aprendizaje.
- aprender recursividad
- Aprende programación dinámica
- Aprende la búsqueda binaria
- Reproduzca la escena de la entrevista del algoritmo de reclutamiento del campus.
- Aprenda algoritmos de coincidencia de cadenas
- Debe aprender habilidades y pensamiento algorítmico.
- Debe aprender el algoritmo de clasificación.
- Obtener un árbol binario
- Obtener la lista enlazada
- Aprender estructuras de datos
- Aprender red informática
- Resumen de experiencia escrito para estudiantes actuales.
- Experiencias y reflexiones personales.
- aprender sistema operativo
- mysql
- Java
- git
- Recomendaciones de libros de alta calidad que he leído.
- Hacer un seguimiento
- Agradecer
algoritmo de aprendizaje
Intercambio de experiencias de algoritmos de aprendizaje.
- ¿Qué algoritmos deben dominar los programadores?
- Como novato, ¿cómo debo aprender algoritmos?
- Después de completar 500 preguntas sobre leetcode, ¿es seguro aprobar la prueba escrita/entrevista?
aprender recursividad
- ¿Por qué no puedes aprender la recursividad? Dile adiós a la recursividad y hablo de algunas de mis experiencias.
- Entrenamiento 1: Encuentra la mediana superior en dos matrices ordenadas de igual longitud
- Entrenamiento 2: Encuentra el K-ésimo decimal de dos matrices ordenadas
- Entrenamiento 3: Encuentra la mediana de dos conjuntos ordenados (sobre la importancia de la transformación del pensamiento)
Aprende programación dinámica
- ¿Es difícil la programación dinámica? Después de responder 40 preguntas en DP, ¡resumí estas rutinas!
- Optimización de la programación dinámica.
- Entrenamiento 1: Explicación detallada de tres problemas de algoritmos de programación dinámica unidimensionales
- Entrenamiento 2: Explicación detallada de la pregunta leetcode221: Cuadrado máximo
Aprende la búsqueda binaria
- ¿Estás seguro de que puedes hacer una búsqueda binaria? ¿Se puede utilizar para diseñar estafas en la vida?
- Dos preguntas de algoritmo aparentemente simples
- Resumen de preguntas de dicotomía
Reproduzca la escena de la entrevista del algoritmo de reclutamiento del campus.
- Recuerde una pregunta de la entrevista sobre el algoritmo ByteDance: inversión de lista vinculada deformada
- Recuerde una entrevista con un algoritmo triturado a mano: el entrevistador de ByteDance me golpeó cuatro veces seguidas
- Una pregunta de prueba escrita de Alibaba: Cómo resolví el problema del anillo de Joseph con una línea de código
- Recuerde una entrevista con Alibaba: la entrevista se centró en el diseño del algoritmo de caché LRU
- La aplicación de prefijos y sumas comienza con una pregunta de prueba escrita de NetEase
- Abuso de la entrevista: recuerde una pregunta de la entrevista del algoritmo de Shopee: la solución óptima de la pila mínima
- Abuso de entrevistas: ¿Cómo se implementa el filtrado de palabras sensibles en el juego?
- Encuentre el número más frecuente entre 2 mil millones, 4 mil millones, 8 mil millones de enteros usando solo 2 GB de memoria
Aprenda algoritmos de coincidencia de cadenas
- Algoritmo KMP de coincidencia de cadenas gráficas
- Algoritmo de Boyer-Moore de coincidencia de cadenas: ¿Cómo se implementa la función de búsqueda en los editores de texto?
Debe aprender habilidades y pensamiento algorítmico.
- Luchando por la perfección: cómo convertí preguntas de algoritmos de nivel fácil en preguntas de nivel difícil
- Comparta un problema algorítmico con una solución inteligente
- ¿Factorial es simple? Para ser honesto, es posible que no necesariamente comprenda estas preguntas de la entrevista relacionadas con el factorial.
- Entrevistador, no me haga preguntas sobre algoritmos tan simples pero difíciles.
- ¡Impresionante! De hecho, una línea de código puede resolver tantos problemas de algoritmos que me han preocupado durante mucho tiempo.
- ¡Shuaidi ha resumido esta técnica de resolución de problemas de algoritmos de alta frecuencia para ayudarlo a resolver problemas más rápido!
- ¿Cuáles son los trucos de las estructuras de datos algorítmicas?
- Una guía para fingir ser un experto en bits
- Encuentra los números enteros que faltan
Debe aprender el algoritmo de clasificación.
- Cómic: Por favor, no me vuelvas a preguntar sobre la clasificación rápida
- Cómic: ¿Por qué la clasificación por base de complejidad O (n) no es tan rápida como la clasificación rápida?
- Cómic: Clasificación externa: ¿Cómo ordenar 2 mil millones de números enteros usando 2 GB de memoria? (En realidad, esta también es una pregunta común en las entrevistas)
- Deje de desplazarse, los programadores deben aprender los diez algoritmos de clasificación clásicos principales, solo lea este artículo
Obtener un árbol binario
- Recorrido previo al pedido de árboles binarios (versión no recursiva)
- Recorrido en orden de un árbol binario (versión no recursiva)
- Recorrido posterior al orden de árboles binarios (versión no recursiva)
- Imprimir árbol binario de arriba a abajo
- Construcción de árbol binario.
- Espejo de árbol binario
- subestructura del árbol binario
- Secuencia transversal de postorden del árbol de búsqueda binaria
- Reconstruir un árbol binario
Obtener la lista enlazada
- Entrenamiento de lista vinculada 1: eliminar el nodo Kth de una lista vinculada individualmente
- Entrenamiento de lista vinculada 2: eliminar el nodo intermedio de una lista vinculada individualmente
- Capacitación 3 sobre listas vinculadas: Cómo revertir con gracia una lista vinculada individualmente
- Entrenamiento de lista enlazada 4: problema de Joseph de lista circular individualmente enlazada
- Entrenamiento de listas enlazadas 5: Tres métodos le ayudarán a juzgar listas enlazadas palindrómicas con elegancia
- Entrenamiento de lista vinculada 6: divida la lista vinculada unidireccional de acuerdo con un cierto valor en forma de pequeña a la izquierda, igual en el medio y grande a la derecha
- Entrenamiento de lista vinculada 7: copie una lista vinculada que contenga nodos de puntero aleatorios
- Entrenamiento de lista enlazada 8: invertir el orden entre cada K nodos de la lista enlazada individualmente
- Entrenamiento de lista vinculada 9: convierta el árbol binario de búsqueda en una lista doblemente vinculada
Aprender estructuras de datos
- ¿Qué diablos es un montón binario?
- ¿Qué diablos es el tipo de montón?
- Cómic: ¿Qué es un árbol avl?
- Pregunta de la entrevista de Tencent: Con los árboles de búsqueda binarios, ¿por qué los árboles equilibrados necesitan árboles rojo-negro?
- Entrevista de alta frecuencia: ¿Qué es un árbol B? ¿Por qué los índices de archivos utilizan árboles B en lugar de árboles de búsqueda binarios?
- En el futuro, si un entrevistador le pregunta sobre la tabla de salto, simplemente envíele este artículo.
Aprender red informática
- Comprenda cómo una computadora envía datos a otra computadora en un artículo
- Charla aleatoria: ¿Qué es https? Este debería ser el mejor artículo de Internet sobre https.
- Ilustración: ¿Cómo logró un host que era un completo desconocido la entrega correcta de datos durante dos días?
- ¿Qué es una firma digital?
- ¿Qué es el control de la congestión?
- ¿Qué es el control de flujo TCP?
- ¿Qué es el algoritmo de enrutamiento de transmisión? ¿Cómo resolver la tormenta de transmisión?
- ¿Qué quiere ponernos a prueba el entrevistador sobre el apretón de manos de tres vías y el saludo de cuatro vías?
- ¿De dónde vino la IP de la computadora? Aún no lo he configurado
- La diferencia entre conmutación de circuitos y conmutación de paquetes.
Resumen de experiencia escrito para estudiantes actuales.
- He estudiado programación durante cuatro años y te recomiendo estas herramientas, sitios web y materiales de aprendizaje de alta calidad.
- Después de pensarlo mucho tiempo, esta es una ruta de aprendizaje apta para el público en general.
- Compilación básica: Esos conocimientos básicos de informática que te harán despegar: ¿qué aprender y cómo aprender?
- Bueno, fallé en dos entrevistas con Tencent en el reclutamiento de primavera. Permítanme compartir mi experiencia de entrevista fallida y tonta.
- Después de dos meses de reclutamiento de otoño, hablemos de algunos puntos de conocimiento importantes en el reclutamiento de primavera y otoño.
- Es necesario hablar sobre el próximo reclutamiento de primavera (experiencia + importancia + cómo prepararse)
- Cuénteme sobre los proyectos en los que trabajó durante el período de contratación de primavera y otoño y recomiéndeme algunos proyectos + videos de entrevistas.
Experiencias y reflexiones personales.
- El reclutamiento de otoño terminó, mis tres años de universidad han sido normales.
- En los últimos 15 meses escribiendo una cuenta pública, ¿qué he aprendido y ganado en el camino?
- mi 2019
- En el más de un año desde que comencé a escribir artículos sobre cuentas públicas, he sido troleado, bloqueado y elogiado. Me siento amargado.
- El primer artículo original de 2020: Cómo me hago mejor
- Déjame hablar sobre mi vida diaria reciente, estudio y pensamiento.
aprender sistema operativo
Esta parte del artículo es un poco escasa y se agregará gradualmente más adelante, así que estad atentos.
- Recuerda una entrevista: ¿Cuáles son los métodos de comunicación entre procesos? ¿Cómo comunicarse?
mysql
- Entrevista de Tencent: ¿Cuáles son las razones por las que una declaración SQL se ejecuta lentamente?
- Consejos para la entrevista: relacionado con el índice MySQL
- Déjame ir, estos dos pequeños trucos no solo permitieron que mis declaraciones SQL evitaran errores, sino que también las mejoraron 1000 veces.
Java
- Seguridad de subprocesos (Parte 1): comprenda a fondo la palabra clave volátil
- Seguridad de subprocesos (Parte 2): comprenda a fondo la sincronización (desde cerraduras sesgadas hasta cerraduras pesadas)
- En una oración, puede aprender varias cerraduras, como cerraduras pesadas, cerraduras giratorias, cerraduras livianas, cerraduras sesgadas, cerraduras pesimistas y cerraduras optimistas.
- El núcleo de la concurrencia: ¿qué es CAS? ¿Cómo optimiza Java8 CAS?
- ¿Te atreves a no aprender las clases de sincronización más importantes del paquete de concurrencia de Java?
- Estandarice su estilo de codificación
git
- Recientemente aprendí Git desde cero y resumí esta guía de comandos de Git.
Recomendaciones de libros de alta calidad que he leído.
- Libros recomendados de alta calidad que he leído durante mis cuatro años en la universidad.
- ¿Qué libros vale la pena leer sobre algoritmos y conceptos básicos de informática?
Hacer un seguimiento
Espero que este libro electrónico les resulte útil. Si todos responden bien, continuaré agregando contenido más adelante. Esta es actualmente una versión preliminar y puede tener muchas deficiencias, como errores tipográficos y redacción incorrecta de ciertos puntos de conocimiento. encuentro Si tiene alguna pregunta, puede encontrarme a través de mi cuenta oficial. Puede dejar un mensaje en mi cuenta oficial o agregar mi WeChat personal directamente.
Agradecer
No es fácil organizar libros electrónicos. Si te resulta útil y quieres recompensar al autor, puedes recompensarme a través de este código de pago. La cantidad no es importante, pero tu intención es lo más importante. Puedo usar este estado de recompensa. Espero que todos comenten sobre este libro electrónico, jeje.
Nota: Puede anotar su apodo al realizar un pago. Puede ser CSDN, WeChat, GitHub, etc.