Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 11174|Respuesta: 1

Preguntas de entrevista para arquitecto programador senior en php

[Copiar enlace]
Publicado en 23/12/2016 9:10:09 | | |


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.





Anterior:Windows PowerShell para encontrar la IP del atacante
Próximo:C# identifica la ubicación del código QR en la pantalla
Publicado en 23/12/2016 21:53:52 |
Lo destrozas todo.
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com