zoukankan      html  css  js  c++  java
  • 一些总结

    1.本地IP$_SERVER['REMOTE_ADDR'] 服务器端IP$_SERVER['HTTP_HOST']

    2.对于大流量的网站,您采用什么样的方法来解决访问量问题?
    确认服务器硬件是否支持当前流量,用nginx作为服务器实现负载均衡,数据库读写分离,搭建主从、主主服务器,优化数据表、优化查询语句,程序功能规则、防止外部盗链、控制大文件的下载

    3.require和include的区别,为避免多次包含同一文件,可用(?)语句代替它们
    require是无条件包含,如果在一个流程内加入require,无论引入成功与否都会先执行require
    include有返回值,require 没有
    包含文件不存在时,require会返回一个致命的错误,而include会继续执行
    require_once include_once

    4.如何修改session的生命周期。
    session_set_cookie_params()

    5.http状态码。
    200:请求成功。
    301:页面已永久重定向
    303:查看其它地址
    304:所请求的资源未修改
    403:服务器已拒绝请求
    404:服务器无法找到页面
    500:服务器内部错误,无法完成请求。

    6.php中传值和传引用的区别。
    按值传递:函数范围内任何改变在函数外部都会被忽略。
    按引用传递:函数范围内任何改变在函数外部也能反映。
    按值传递时,必须复制值,在值的长度较长时,会影响效率。按引用传递时,不需要复制值,对于性能提高有好处。

    7.写一个函数,统计文件夹下所有文件的大小。
    答:
    function dirSize($path){

    //2.打开目录
    $resource = opendir($path);

    //定义一个统计大小的变量
    $count = 0;

    //3.读取目录
    while($file = readdir($resource)){

    //过滤特殊目录
    if($file=="." || $file==".."){
    continue;
    }

    //拼接完整的文件路径
    $filename = rtrim($path,"/")."/".$file;

    //判断是不是一个文件
    if(is_file($filename)){
    $count+=filesize($filename);
    }

    //判断是不是一个目录
    if(is_dir($filename)){
    $count += dirSize($filename);
    }
    }

    //4.关闭目录
    closedir($resource);

    //返回统计目录的大小
    return $count;
    }

    8.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?

    先用2根绳子,其中1根一头点火,另1根两头点火,当第2根烧完的时候(即半小时),把第1根的另一头也点火,则当第1根烧完的时候,时间为45分钟;再另外用第3根绳子两头同时点火,烧完为30分钟,加起来为1小时15分钟.

    9.8个铁球,中间有一个是空心的,请问用天平称最少几次称出?那18个呢?

    把8个铁球编号为1到8.
    在天平两边个放上3个.1到6号,如果相等 那么再把7、8号放上,即可
    如果1到6号不相等.1.2.3号或是4.5.6号 把1.2号放上,即可 ,如果是4.5.6号照做即可.
    所以8个铁球只用2次称.
    18个铁球,也按号1到18号
    先拿出17.18号
    一边各放8个铁球.如果1到8号和9到16号相等,那17.18称一次即可.只需两次
    如果不相等 责排除17.18 在1到8号 或是9到16号中 余下就按照上面的8个做法来做.
    则需要三次.

    10.什么是面向对象?主要特征是什么?
    面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。
    主要特征:封装、继承、多态

    11.date_default_timezone_set();设置默认时区

    12.开启php错误报告的方法。
    display_errors = On

    13.
    function myfunc($argument)
    {
    echo $argument + 10;
    }

    $variable = 10;

    echo "myfunc($variable)=".myfunc($variable);

    结果为:20myfunc(10)=

    14. php开发接口

    目录结构:App 项目目录
    Config 配置目录
    Core 核心目录

    15.php的闭包。
    闭包是引用了自由变量的函数,这个被应用的自由变量将和这个函数一同存在,即使离开了创建它的环境也一样,所以闭包也可认为是有函数和与其相关引用组合而成的实体。
    在一些语言中,在函数内定义另一个函数的时候,如果内部函数引用到外部函数的变量,则可能产生闭包。

    16.数据库优化。
      选取合适的字段:长度尽可能小、数字>时间>枚举>字符串,尽量不要使用null类型。

      数据库分库分表。

      数据库读写分离,搭建主从主主服务器

      中文分词 scws

      三范式标准:原子性、无冗余性、唯一性
      使用JOIN连接代替子查询
      使用UNION来代替手动创建的临时表
      多个语句后面跟一个UNION
      使用事务处理
        $pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8;', 'root', '');
        $pdo -> beginTransaction();
        $num1 = $pdo->exec();
        if (!num1){$pdo->rollback();}
        $pdo->commit();
      锁定表
        LOCK TABLE inventory WRITE SELECT Quantity FROM inventory WHERE Item='book';
        UPDATE inventory SET Quantity=11 WHERE Item='book';UNLOCKTABLES
      使用外键
      使用索引
      优化查询语句
        首先,最好是在相同类型的字段间进行比较的操作
        其次,在建有索引的字段上尽量不要使用函数进行操作
        最后,避免使用like关键字

    17.sql语句优化
      避免全表扫描,在where及order涉及的列上建立索引。
      应尽量避免判断null值。
      应尽量避免在where子句中使用!=和<>操作符,否则将放弃索引而进行全表扫描。
      应尽量避免在where子句中使用or来连接条件
      谨慎使用in和not in
      能用between就不要用in
      用exist代替in
      应尽量避免使用like关键字
      应尽量避免在where子句中对字段进行函数操作
      数据量大的表使用join,要先分页在join
      避免频繁创建和删除临时表。

  • 相关阅读:
    Git全局配置备忘
    Wpf之Microsoft.Extensions.DependencyInjection
    Wpf之Interaction.Triggers与Interaction.Behaviors
    Wpf之异步绑定
    Wpf之HandyControls与MaterialDesign混用之DataGrid
    WPF将log4net配置文件设置为资源来保护配置文件
    c# PInvoke根据工程配置自动引用正确的dlls
    Wpf的gRpc的Server/Client
    Python必会的单元测试框架 —— unittest
    网易centos yum源
  • 原文地址:https://www.cnblogs.com/peilanluo/p/7296249.html
Copyright © 2011-2022 走看看