¿Qué opinas de los programadores que hablan de alta concurrencia pero tienen habilidades de codificación mediocres?
Soy un tipo que mueve ladrillos y responderé.
El principio central de la alta concurrencia es el mecanismo de procesamiento de eventos de la red IO. En términos de detalles, algunos enlaces importantes, como la división de paquetes y el procesamiento de agrupación del protocolo, todavía son relativamente complicados, pero para. En la mayoría de las entrevistas, para el trabajo diario, es casi suficiente comprender verdaderamente el núcleo del mecanismo del reactor. Con respecto a la alta concurrencia, puede leer más sobre el libro de Chen Shuo.
El problema clave es que si la capacidad de programación es muy escasa, entonces el problema es enorme. En pocas palabras, si asignas una tarea o resuelves un problema, si la capacidad práctica es débil, es posible. Lleva mucho tiempo completarlo y es fácil cometer errores. Para los puestos de desarrollo, no importa cuán grande o pequeña sea la empresa ahora, el trabajo diario no implicará un desarrollo extremadamente difícil o a gran escala. En otras palabras, quien tenga mejores habilidades básicas generalmente completará sus tareas rápida y bien.
Si tiene pocas habilidades prácticas, existe una forma muy simple y directa de mejorarlas, que es escribir el código primero usando leetcode o similar. Independientemente del idioma, escribe más primero. Cuanto más escribes, más escribes.
Luego, desde el simple orientado a objetos hasta los dos o tres patrones de diseño más básicos, de serie a paralelo, combinado con su propio lenguaje de programación, comprenda gradualmente las características del lenguaje y el proceso es el mismo que el de responder preguntas. , escribir código profundiza continuamente la impresión. Esto incluye aprender un nuevo lenguaje de programación.
Para la mayoría de las personas, no es fácil convertirse en un maestro de programación, pero es completamente posible convertirse en un empleado calificado. Solo con esforzarse lo suficiente, un buen cerebro no es tan bueno como una mala escritura. El requisito previo para hablar de alta concurrencia es que realmente haya estado expuesto a sistemas de alta concurrencia o que actualmente sea responsable de sistemas de alta concurrencia.
Si nunca ha estado expuesto a sistemas de alta concurrencia, o ni siquiera ha sido responsable de sistemas con millones de usuarios, no hable de alta concurrencia. Porque el 99% de los programadores no tienen acceso a sistemas de alta concurrencia.
El término "alta concurrencia" no me resulta desconocido ni a mí ni a mi equipo de proyecto, porque lo que estamos haciendo es un sistema verdaderamente de alta concurrencia. Por supuesto, no es tan "alto". ¡Puede considerarse como una concurrencia generalmente alta! El QPS del clúster es de alrededor de 150.000.
Otro problema al que se enfrentan los sistemas de alta concurrencia es la inclinación "alta". Según el principio "28", el 80% de las solicitudes ocurren dentro del 20% del tiempo. En otras palabras, el sistema solo enfrenta solicitudes de alta concurrencia el 20% del tiempo, y el resto del tiempo no son solicitudes de alta concurrencia. En este caso, necesitamos hacer un buen trabajo en la expansión y contracción elástica del sistema. Podemos expandir o reducir de manera flexible la máquina según el QPS (SLB), la CPU y otros indicadores del balanceador de carga frontal. De esta manera, cuando la cantidad de solicitudes sea grande, automáticamente expandiremos más máquinas para manejar las solicitudes. Cuando la cantidad de solicitudes sea pequeña, reduciremos las máquinas y reduciremos los costos.
En resumen, la tecnología involucrada en los sistemas de alta concurrencia es muy compleja. Si desea hablar sobre el concepto de alta concurrencia, debe practicar personalmente los negocios de alta concurrencia. A través de la operación práctica de negocios de alta concurrencia, podemos tener una comprensión más profunda de la esencia de la alta concurrencia. En cuanto a la codificación... creo que es el nivel más bajo de trabajo. Siempre que las ideas sean claras, escribir código es una tarea laboriosa.
Entrevista para construir un portaaviones y trabajar para apretar tornillos
Mi primera impresión es que esta persona puede haber salido de una clase de formación, porque la clase de formación los utiliza para engañar a la gente. Todos los días, más del 90% de ellos La empresa no tiene una alta concurrencia, y decir esto simplemente me hace lucir increíble. Simplemente les sonrío a esas personas. Todos en la industria conocen los conceptos básicos, ¡así que puedes engañar al profano!
¿Cómo lograr una alta concurrencia? Tome el marco escrito por otros y configure algunos subprocesos más. El código interno es básicamente una lógica de procesamiento de un solo subproceso, como máximo, puede crear un bloqueo mutex. Cuando encuentre una alta concurrencia, elija un servidor o componente no concurrente para evitarlo. y luego distribuir los datos a varios subprocesos.
¿Cuántas personas escriben sobre simultaneidad ahora? Muy pocos
No tendrán alta concurrencia.
Yo mismo escribí un marco, un servidor de nivel de entrada en 2000. Tal vez sólo pueda admitir unos pocos cientos de concurrencia. Luego lo usé para hacer un proyecto, pero luego salió la ley y dejó de hacerlo.
Sin embargo, desde un punto de vista técnico, si se requieren 150.000 concurrencias, la forma más rápida es utilizar el equilibrio de carga de hardware. Luego, el servidor se acumula y los datos se transfieren directamente a la base de datos de la memoria y luego se transfieren lentamente a la base de datos relacional en segundo plano.
Después de todo, soy el único aquí. Si necesito lograr una gran concurrencia en poco tiempo, es más fácil usar el equipo.
Simplemente memorice las preguntas de la entrevista.
Al contratar ahora, especialmente para empresas de Internet, en primer lugar, verifique si las calificaciones académicas son consistentes y, en segundo lugar, si las preguntas de la entrevista memorizadas son 6.
En cuanto a la capacidad de escribir código normal, a quién le importa, todo es cuestión de tornillos.
La alta concurrencia surge con solo abrir la boca. Al principio, fue una tendencia que surgieron de las clases de capacitación. Lo hicieron principalmente para atraer estudiantes. Luego, gradualmente se convirtió en el 90% del desarrollo de aplicaciones. No tengo esta tendencia. Alta concurrencia
Rara vez hablo de alta concurrencia, pero a menudo hablo de programación concurrente, dos conceptos. La alta concurrencia implica demasiados puntos de conocimiento, no solo programación concurrente. Y la mayoría de las empresas no necesitan una alta concurrencia. Sin embargo, la programación concurrente es diferente. La programación concurrente todavía se utiliza en muchos proyectos. Por lo tanto, para ser realista, puedes comenzar con la programación concurrente.
Se trata de encontrar trabajo, ¡no hay nada que decir! Sólo se puede decir que no existe una palabra fácil en el mundo de los adultos.