|
Recientemente, entrevisté a varias empresas una tras otra, y grabé algunas preguntas importantes, animándome a estudiar y mejorar, y al mismo tiempo esperando ayudar a mis amigos. Hay mucho contenido, poco a poco, aprendizaje paso a paso. Algunas se preguntan en entrevistas, otras son requisitos de reclutamiento y algunas se añaden por sí solas.
1. Conocimientos relacionados con MySQL 1. Método de optimización MySQL Métodos comunes de optimización con MYSQL Esquema de optimización del rendimiento MySQL
2. Cómo dividir la base de datos y las tablas Referencia: http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Cómo hacer standby en caliente para dos máquinas y balanceo de carga en Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. ¿Cuáles son los tipos de tablas de datos? MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV, etc Mi ISAM: Maduro, estable, fácil de manejar, rápido de leer. Algunas funciones no son compatibles (transacciones, etc.), bloqueos a nivel de tabla. InnoDB: Soporta transacciones, claves extranjeras y bloqueos de fila. Ocupa mucho espacio y no soporta indexación de texto completo. Características clave de los motores myisam e Innodb: ¿Cuál es la diferencia entre el motor de almacenamiento MySQL, MyISAM, e InnoDB? 5. Método de inyección Anti-SQL mysql_escape_string(strip_tags($arr["$val"])); 6. Cómo resolver el problema de eficiencia de consultas de tablas cruzadas después de que MySQL divida una tabla grande en varias tablas [php] ver copia plana Ver segmentos de código derivados de mis segmentos de código en CODE /** * Nombre de la función: post_check() * Función función: Procesa las ediciones enviadas * Parámetro: $post: El contenido a enviar * Valor de devolución: $post: Devuelve contenido filtrado */ función post_check($post){ if(!get_magic_quotes_gpc()){// Determinar si el magic_quotes_gpc está abierto $post = barras adicionales($post); Realiza magic_quotes_gpc filtrado de los datos enviados sin abrirlos } $post = str_replace("_","\_", $post); Filtra '_' $post = str_replace("%","\%", $post); Filtra el '%' $post = nl2br($post); Entra en escena la conversión $post = htmlspecialchars($post); Conversión de marcado HTML regresar $post; } 7. Aplicación de índice Cuándo considerar la indexación Qué situaciones no son adecuadas para indexar Cómo juzgar si una afirmación utiliza un índice Escenarios frecuentes en los que no se utilizan índices: Como '%.....' Conversión implícita de tipos de datos o palabras clave más otras condiciones Índice de texto completo: Solo puede usarse para tablas MYIsAM, creadas sobre columnas de tipo CHAR, VARCHAR, TEXT.
8. ¿Cómo optimizar MySQL para tablas grandes (decenas de millones)? Referencia http://www.zhihu.com/question/19719997 9. Problema de consulta lenta de mysql De hecho, es una forma relativamente sencilla de analizar a través de registros de consultas lentos; si no quieres ver los registros, puedes usar herramientas para completarlo. Como mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter, etc., parece que necesitas mucha experiencia para analizar uno y es una pérdida de tiempo. 10. Sobre las ventajas y desventajas del estado de inicio de sesión del usuario, cookie, base de datos o http://www.dewen.org/q/11504/ En cuanto al estado de inicio de sesión del usuario, las ventajas y desventajas de la cookie%2C, la base de datos o la memcache 11. Los casos extremos se gestionan en las transacciones 12. SQL idioma se divide en 4 categorías, por favor enumera DDL—CREAR, ELIMINAR, ALTERAR DML--INSERTAR, ACTUALIZAR, ELIMINAR DQL-SELECT DCL--CONCEDER, REVOCAR, COMPROMETERSE, REVERTIR
2. PHP conceptos básicos Sesión Varias formas y diferencias entre la conexión de PHP a bases de datos MySQL MySQL: Orientado a procesos mysqli: orientado a objetos PDO: Alta portabilidad Por favor, consulte: Serie básica de PHP: Tres APIs que utiliza PHP para conectarse a bases de datos MySQL 3. PHP Avanzado Uso de conexiones largas y cortas Toma Cuestiones de seguridad de pago Orientado a objetos Tres características principales: encapsulación, herencia y polimorfismo (reescritura de métodos). Clase abstracta: abstracta, al menos un método es un método abstracto que no puede ser instanciado, definiendo una interfaz común para la subclase. Interfaz: interfaz, resuelve el problema de herencia única de PHP, todos los métodos son métodos abstractos de acceso público, no puedes declarar variables, solo constantes. Heredar una clase mientras se implementan múltiples interfaces la clase A extiende B implementa la interfaz 1, la interfaz 2..., la interfaz n() { Implementar métodos en todas las interfaces } Análisis de las causas de las diferencias en el rendimiento entre las arquitecturas web de LAMP y LNMP Análisis de rendimiento de lenguajes interpretados y compilados, ejemplos. 4. Regularidad Coincidencia de correo electrónico, html, js, etc. 5. Fundación de desarrollo Definiciones, distinciones y conexiones de procesos e hilos. El estado del proceso: corre, listo, espera 6. Base de datos Nosql Conexiones diferenciadas de Memcached, Redis, Mongodb 3 escenas, cosas completamente diferentes. 1.memcached: Si un solo valor clave se almacena en caché en la memoria, no hay sustituto para la caché distribuida de objetos; 2. redis: Es un conjunto de algoritmos y estructuras de datos, la operación rápida de estructuras de datos es su característica más importante, soportando la persistencia de datos; 3. MongoDB es una estructura BSON, entre RDB y NoSQL, que es más flexible y flexible, pero no soporta transacciones y solo se utiliza como un almacén de datos no importante. ¿Puedo referirme a MongoDB o redis como alternativa a memcached? 7. Comandos de Linux más usados Por ejemplo, enlaces blandos 8. Relacionado con la arquitectura Prueba de estrés antes de que el proyecto se active, el número de concurrencias soportadas por un solo servidor y el número de PVs. Asignación razonable de recursos del servidor CPU:Apache En un entorno de alta carga, demasiadas lecturas y escrituras de IO de disco consumirán sin duda muchos recursos, y la CPU inevitablemente consumirá demasiada CPU. Memoria: Banco de memoria, software de bases de datos
Disco duro: Archivos Selección de arquitectura Web2.0 MongoDB+Redis o MySQL+Memcached es una mejor combinación, y NOSQL se usa para lógica sencilla La arquitectura principal del sitio web es actualmente popular LÁMPARA、LNMP、LLMP Ahora también existe una arquitectura LNAMP en la red, es decir, combina las ventajas de nginx y Apache, usando Apache para cargar PHP, nginx es responsable de analizar otras solicitudes web y utiliza el módulo de reescritura de nginx, pero el puerto de Apache no está abierto al público, y muchos módulos de Apache pueden reducir recursos sin cargarse. |