PHP
1. Básico
1, la diferencia entre sesión y cookie
-
La sesión es una estructura de datos guardada en el servidor para rastrear el estado de los usuarios. Estos datos se pueden guardar en grupos, bases de datos y archivos.
-
La cookie es un mecanismo para que el cliente guarde la información del usuario, se utiliza para registrar cierta información del usuario y también es una forma de implementar la sesión.
2, ¿Ha utilizado PHP7? Conozca las nuevas funciones
PHP7 ha logrado grandes mejoras en el rendimiento, nuevos operadores, sintaxis de variables unificadas, etc.
3, la variable mágica
Cuando se le preguntó el significado de __dir__, este es el directorio donde se encuentra el archivo de respuesta
4. Método mágico
Esta es una pregunta que se hace a menudo. Recuerdo las que se usan comúnmente. Cuando pregunté __invoke () de repente, estaba confundido
__construct (), __destruct (), __call (), __callStatic (), __get (), __set (), __isset (), __unset (), __sleep (), __wakeup (), __toString (), __invoke (), __set_state (), __clone () y __debugInfo ()
2. Estructura y algoritmo de datos
1, estructura de datos de pila
Siempre que el código pueda usarse para lograr la estructura de datos de la pila
2, tipo de burbuja
Siempre que la clasificación de burbujas se pueda realizar con código
3, la diferencia entre un árbol binario completo y un árbol binario completo
Solo el grado de nodo de dos niveles más bajo puede ser menor que 2, y los nodos de nivel más bajo se concentran en la posición más a la izquierda del árbol binario es un árbol binario completo
y una profundidad de h y 2 ^ h-1 Árbol binario completo
3. Relacionados con la arquitectura
1, ¿Cuál es la diferencia entre Laravel y ThinkPHP, y de qué debería quejarme laravel?
Presenté las diferencias entre enrutamiento, middleware y controlador, acceso a datos, vista, etc.
Tucao puede ser un poco pesado en comparación con algunos proyectos.
2, ¿Composer ha lanzado alguna vez su propio paquete? (Basado en el desarrollo modular PHP de Composer)
Respondí que no, acabo de aprender
El entrevistador dijo que su marco es un marco de desarrollo secundario basado en Discuz, y basado en su excelente base, la gestión de la dependencia del compositor también se ha introducido en blabla.
3, habla sobre la comprensión de MVC
Combine la plantilla de descripción del proyecto, la vista, la relación del controlador y la composición básica
Cuatro. Protección
1, ataque de secuencias de comandos entre sitios XSS
2, ataque de tráfico DDOS
3. Ataque de falsificación de solicitud entre sitios CSRF
4, inyección SQL
Controlar o restringir la entrada del usuario en formularios de front-end
Filtrar al pasar parámetros y datos en el backend, etc.
Proyecto V.
1, Cómo resolver el problema de concurrencia en el proyecto.
Mi solución es controlar primero las solicitudes válidas en el front-end, como una solicitud normal una vez por minuto.
Luego, el back-end también considera las solicitudes no válidas y luego coloca la operación en la cola para su implementación.
Un entrevistador preguntó, ¿está tu cola bloqueada? Si dos usuarios compran al mismo tiempo y dos usuarios esperan para completar, todavía usan el mismo hilo para completar. ¿Has considerado usar otros métodos para lograrlo
? Dije que no, él simplemente Dijo que puede usar el mecanismo de bloqueo, el segundo espera a que se complete el primero, uno por uno
2, el proceso de implementación específico del pago WeChat
1) La página H5 inicia una solicitud de pago y solicita generar una orden de pago.
2) Llame a la API de pedido unificado para generar un pedido prepago.
3) Genere y firme los parámetros de pago llamados por la página JSAPI.
4) El navegador WeChat invoca automáticamente la interfaz JSAPI de pago para pagar.
5) Confirmar pago
6) Notificar de forma asincrónica al comerciante sobre el resultado del pago, y el comerciante recibe la notificación y la información de confirmación de devolución
7) Devuelve el resultado del pago y muestra la información del pago al usuario
3. Realización sencilla de la función de inicio de sesión y registro
Cada marco considera diferentes aspectos, así que simplemente escriba el código correspondiente según su propio entendimiento
4. Cómo diseñar un centro comercial
Primero me definí como un centro comercial B2C, y luego comencé desde la hoja de datos, y luego presenté brevemente la lógica de implementación de front-end y back-end
MYSQL
La optimización de mysql es básicamente la máxima prioridad, especialmente la tecnología de prueba
1. Básico
1, ¿Cuál es la diferencia entre InnoDB y MyISAM?
InnoDB proporciona procesamiento de transacciones, bloqueos a nivel de fila, admite claves externas y admite varios formatos de fila.
MyISAM solo admite bloqueos a nivel de tabla, índices de texto completo y tablas de montón.
2, ¿Cuáles son las características de la transacción?
Atomicidad, consistencia, aislamiento, durabilidad.
3, el nivel de aislamiento de la transacción
Lectura no confirmada, lectura enviada, lectura repetible, serializable
4. Hay un campo de tabla de O_Id, OrderDate, OrderPrice, Customer. Queremos encontrar clientes cuyo monto total del pedido sea inferior a 2000
SELECT Customer,SUM(OrderPrice) FROM
Orders
GROUP BY Customer
HAVING SUM(OrderPrice)<2000
5. Consultar los datos en la tabla de alumnos, si es mayor a 60, es un pase, de lo contrario falla
select 分数,类别=Case
WHEN 分数 >=60 THEN '及格'
ELSE '不及格 '
END
from 成绩表
6, consulta la identificación del estudiante y el nombre de los estudiantes que no han completado todos los cursos
SELECT a.SNO ,a.SNAME
FROM student a
WHERE a.`SNO` NOT IN
( SELECT b.`SNO` FROM SC b
GROUP BY b.`SNO` HAVING COUNT(*) =
( SELECT COUNT(*) FROM course)
);
2. Optimización
1, “seleccione * del estudiante donde nombre = 'rojo'”, “seleccione * del estudiante donde nombre = 'azul'” , 优化 语句
select name from student where
name='red'
union
select
name from student where name='blue'
Si usa la condición o, la tabla myisam puede usar el índice, pero innodb no.
Innodb reemplaza OR con UNION (para columnas indexadas)
2, ¿Cómo optimizas generalmente la base de datos?
Caché de consultas, EXPLICAR, índice (conjunto), usar una tabla estática de longitud fija
servidor
1. Protección
Cómo proteger el servidor
Solo abra puertos limitados, restrinja la IP de inicio de sesión, restrinja las cuentas de inicio de sesión
También es una pregunta para un libro, que se puede responder según el proyecto.
2. Acuerdo
¿Cuál es la diferencia entre Get y Post?
Los parámetros de obtención se incluyen en la URL y el navegador almacenará activamente en caché las solicitudes de GET. Está codificado en URL y existen restricciones de caracteres. Los parámetros son caracteres ASCII.
La publicación pasa los parámetros a través del cuerpo de la solicitud y hay varios métodos de codificación
3. NginX
¿Cuál es el proceso de solicitud de script php al configurar nginx?
La configuración predeterminada es reenviar al procesamiento FastCGI
4. Redis
1. ¿Qué datos usas redis para almacenar en caché?
Según el proyecto, algunos datos de uso frecuente que guardé en caché
2. ¿Cómo hace Redis la persistencia y qué frecuencia de actualización configurar?
Configure la persistencia AOF, actualice el archivo AOF cada segundo de forma predeterminada
3. ¿Redis tiene varios subprocesos?
Un solo hilo (en realidad respondí de varios hilos, 233)
4. ¿Cómo configura Redis un maestro y varios esclavos, y cuánto tiempo lleva?
Puede utilizar la solución de clúster oficial de Redis, que no se ha practicado, y puede llevar varias semanas completar
V. Gestión de códigos
¿Has usado git? Cuando dos personas envían el código incorrecto, cómo solucionarlo
He usado git para enviar el código. Si esto sucede, primero puede git extraer el código remoto al local, luego modificar el código en conflicto o el contenido de la marca Git correctamente y luego volver a enviar el código
otro
1. Por qué irse
Respondió ingeniosamente y mencionó un poco sobre la empresa o sobre sí misma.
2. Tu equipo ideal
Pasión por la tecnología, resolver problemas activamente y cooperar juntos
3. Planificación de carrera
Front-end en profundidad, back-end en profundidad, recopilación de análisis de optimización de datos, penetración del servidor blabla
4. Preguntas para hacer
Suele preguntar a la empresa qué proyectos, estructura técnica, rentabilidad, etc.
Las pilas de tecnología de diferentes empresas son diferentes, y los puntos de preocupación también son diferentes. Hasta cierto punto, preguntarán sobre la solución de bloqueo específica en el problema de la cola. Algunos prestarán más atención a la eficiencia del proyecto y algunos también prestarán atención a la construcción del servidor. Con una comprensión de los marcos populares, es posible que pueda encontrar la dirección de desarrollo que desea en el proceso
posdata
9 7 ofertas en 5 días, me siento bien. Durante la entrevista, la mayoría de las empresas harán preguntas detalladas basadas en los elementos del currículum. Durante la entrevista, puede ver la amplitud de la tecnología (cuántos proyectos o habilidades se han experimentado) y la profundidad de la tecnología (optimización de datos, Marco que comprende la producción, el ataque al servidor y la penetración de la defensa), espero que todos puedan continuar practicando y aprendiendo tecnología a medida que se desarrolla el proyecto. (• ㅂ •) / ♥ animarnos ~
Presta atención, no te pierdas
Muy bien, todos, lo anterior es todo el contenido de este artículo. Las personas que pueden ver aquí son todos talentos . Como dije antes, hay muchos puntos técnicos en PHP, porque hay demasiados, es realmente imposible de escribir, y no leerás demasiado después de escribirlo, así que lo organizaré en PDF y documentos aquí, si es necesario. Poder
Haga clic para ingresar el código secreto: PHP + 「Plataforma」
Para obtener más contenido de aprendizaje, puede visitar el Catálogo [Comparative Standard Factory] de excelentes tutoriales de arquitecto PHP, siempre que pueda leerlo para asegurarse de que el salario aumentará un paso (actualización continua)