• PHP面试(二):程序设计、框架基础知识、算法与数据结构、高并发解决方案类


    一、程序设计

    1、设计功能系统——数据表设计、数据表创建语句、连接数据库的方式、编码能力

    二、框架基础知识

    1、MVC框架基本原理——原理、常见框架、单一入口的工作原理、模板引擎的理解

    2、常见框架的特性——PHP框架的差异和优缺点

    三、算法与数据结构

    1、常见算法——算法的概念、时间复杂度和空间复杂度、常见排序算法、常见查找算法

    2、常见数据结构——数组、链表、栈、队列、树、集合、字典、图

    3、逻辑思维能力

    4、对PHP内置函数熟悉的程度、字符串和数组的处理能力

    四、高并发解决方案

    1、高并发和大流量解决方案

    (1)高并发架构相关概念

    高并发:QPS—每秒响应请求数(指HTTP请求);吞吐量—单位时间内处理的请求数量;响应时间—从请求发出到收到响应花费的时间;PV—综合浏览量,即页面浏览量或 点击量;UV—独立访客,即一定时间范围内多次访问网站的相同访客计算为1个独立访客;带宽—峰值流量和页面的平均大小;日网站带宽=PV/统计时间(秒)*平均页面大小 (kb)*8;压力测试—测试能承受的最大并发,测试最大承受的QPS值

    (2)高并发解决方案案例

             流量优化:防盗链的处理

        前端优化:减少HTTP请求;添加异步请求;启用浏览器缓存和文件压缩;CDN加速;建立独立图片服务器

        服务端优化:页面静态化;并发处理;队列处理

        数据库优化:数据库缓存;分库分表、分区操作;读写分离;负载均衡

        web服务器优化:负载均衡

    2、web资源防盗链——防盗链:防止别人通过一些技术手段绕过本站的资源展示页面,盗用本站的资源,让绕开本站资源展示页面的资源链接失效;实现方法:Referer、加密签名

    3、减少HTTP请求——原因、方式:图片地图、CSS精灵、合并多个脚本、图片Base64编码

    4、浏览器缓存和压缩优化技术——HTTP缓存机制、Naginx配置缓存策略、前端代码和资源的压缩

    JavaScript代码压缩工具:UglifyJS、YUI Compressor、Closure Complier

    图片压缩工具:tinypng、JpegMini、ImageOptim

    5、CDN加速

    CDN:内容分发网络——本地Cache加速、跨运营商的网络加速、远程访问用户智能选择服务器

    工作原理——适用场景——CDN的实现

    6、独立图片服务器的部署

    独立的必要性—采用独立域名—独立后的问题

    7、动态语言静态化

     什么是动态语言静态化——为什么要静态化——静态化的实现方式

    8、动态语言的并发处理

    什么是进程、线程、协程——什么是多进程、多线程——同步阻塞模型——异步非阻塞模型——PHP并发编程实践

    9、数据库缓存

    什么是数据库缓存—为什么要使用缓存—使用MySQL查询缓存—使用Memcache缓存—使用Redis缓存

    10、MySQL数据库的优化

    优化方向——优化方案

    11、Web服务器的负载均衡

    七层负载均衡的实现—四层负载均衡的实现

  • 相关阅读:
    求24点
    关于参数和返回值的常量性
    点到平面的距离公式
    大端序与小端序
    Quake3中的绝对值函数
    整数超出范围时如何表示?
    关于数组的几道面试题
    在移位数组中查找数
    时间复杂度O(n),空间复杂度O(1)的排序
    C++之对象切割
  • 原文地址:https://www.cnblogs.com/darklights/p/9275751.html
Copyright © 2020-2023  润新知