• php 面试题一(看视频的学习量比网上瞎转悠要清晰和明了很多)(看视频做好笔记)(注重复习)


    php 面试题一(看视频的学习量比网上瞎转悠要清晰和明了很多)(看视频做好笔记)(注重复习)

    一、总结

    1、无线分类的本质是树(数据结构)(数的话有多种储存结构可以实现,所以对应的算法也有很多),想到这一点你有一万种方法来实现无限分类

    2、反斜杠()表示转义字符,在php和php正则中都是这样,c的话 ,echo preg_replace(‘’/(d+)/(d+)/(d+)/,’$3$1$2’,$date);

    二、php 面试题一

    1,用 PHP 获取当前时间并打印,打印格式:2006-5-10 22:21:21
    date_default_timezone_set('PRC');
    echo date('Y-n-d H:i:s');

    2,字符串转数组,数组转字符串,字符串截取,字符串替换,字符串查找的函数分别是什么?
    1) $str='www.baidu.com';
    print_r(str_split($str));
    explode()
    2) $arr=array("aaa","bbb","ccc");
    print_r(implode('',$arr)); //join()
    3)substr($str,1,10); mb_substr mb_strcut
    4) $bodytag = str_replace("%body%", "black", "<body text='%body%'>");

    preg_replace();
    5) $string = 'April 15, 2003';
    $pattern = '/(w+) (d+), (d+)/i';
    $replacement = '${1}1,${3}';
    echo preg_replace($pattern, $replacement, $string);

    6)preg_match()
    preg_grep()
    strstr()

    strpos()
    strrpos()

    3,解释一下 PHP 的类中:protect,public,private,interface,abstract,final,static 的含义
    1)protect 被保护的
    2)public 公有的
    3)private 私有的
    4)interface 接口
    5)abstract 抽象类
    6)final 最后的类和方法
    7)static 静态方法属性

    4, 写出下列代码的数据结果
    $date='08/26/2003'; 2003/08/26
    1) $date='08/26/2003';
    echo preg_replace("/([0-9]+)/([0-9]+)/([0-9]+)/","${3}/${1}/${2}",$date);
    echo preg_replace(‘’/(d+)/(d+)/(d+)/,’$3$1$2’,$date);

    5,从表 login 中选出 name 字段包含 admin 的前 10 条结果所有信息的 sql 语句
    1)select * from login where name like "%admin%" limit 10 order by id;

    6,解释:左连接,右连接,内连接,索引
    1)left join
    2)right join
    3)inner join
    mysql> select t1.name,t2.addr from t1 inner join t2 on t1.id=t2.uid;
    select t1.name,t2.addr from t1,t2 where t1.id=t2.uid;
    mysql> select t1.name,t2.addr from t1,t2 where t1.id=t2.uid;
    4)index
    Alter table t1 add index in_name(name);
    Alter table t1 drop index in_name;
    Alter table t1 add primary key(id);

    7,简述论坛中无限分类的实现原理。
    1)一张表,有 id,pid
    2)get
    id pid name
    prev > next
    
    id name pid path
    1 aaa 0 0

    2 bbb 1 0-1 aaa
    3 ccc 1 0-2

    8,写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
    例如:http://www.test.com.cn/abc/de/fg.php需要取出php或.php

    parse_url

    pathinfo

    extension

    basename

    dirname

    explode

    三、另一份解答

    1.date函数参数
    Y
    y
    m
    n
    d
    j
    t
    L
    H
    i
    s

    2.字符串转数组,数组转字符串,字符串截取,字符串替换,字符串查找
    explode();
    join();
    substr();
    mb_substr();
    str_replace();
    preg_replace();
    preg_match();

    3.左链接,右链接,内链接
    user left join post on user.id=post.user_id
    post right join user on post.user_id=user.id
    user inner join post on user.id=post.user_id
    #复习基础课中mysql的所有课程

    4.无限分类
    id name pid path
    #高级课24号课程

    5.从url地址中取出后缀
    第一种:
    <?php
    $url='http://www.baidu.com/index.php';

    $arr=pathinfo($url);

    echo "<pre>";
    print_r($arr);
    echo "</pre>";
     ?>

    第二种:
    <?php
    $url='http://www.baidu.com/index.php';

    $arr=explode('.',$url);

    echo array_pop($arr);
     ?>

    第三种:
    <?php
    $url='http://www.baidu.com/index.php';

    $pos=strrpos($url,'.');

    echo substr($url,$pos+1);
     ?>

    6.mvc理解:
    m model 数据模型
    v view  模板视图
    c control 类控制器

    7.解决大访问量
    web服务器:
    至少两台以上服务器来提交对客户的请求,web服务器负载均衡,apache并发人数3000左右,nginx并发人数20000左右
    mysql服务器:
    多台mysql服务器对外提供sql响应,数据库服务器负载均衡

    软件:
    1)静态缓存
    2)数据缓存

    数据库:
    1)字段加索引
    2)分表

    8.mysql优化
    1)服务器优化
        1)服务器负载均衡
    2)数据库优化
        1)myisam表引擎
    3)表优化
        1)分表
        2)字段索引
    4)sql语句优化
        1)写sql语句时,where后面的字段尽量使用加索引的字段,而且要小心有的sql语句会让索引失效.

    9.安全登录系统
    1)验证码
    2)限制登录时间
    3)动态口令
    4)短信验证

    10.防sql注入
    1)mysql服务器用户权限问题
    2)用addslashes函数把表单数据进行转义处理
    3)用htmlspecialchars函数把表单数据进行实体化
    4)使用mysql预处理机制发送执行sql语句
    5)及时给mysql软件更新补丁

    11.防盗链
    $_SERVER['HTTP_REFERER'];
    #获取上一个页面的来源url,通过url中的域名或ip可以判断是否是来自本机的某一个脚本

    12.heredoc标记
    $str=<<<x
    <html>
    <head>
        <title></title>
    </head>
    <body>
        <div>
            <h1>{$name}</h1>
            <h1>{$name}</h1>
            <h1>{$name}</h1>
            <h1>{$name}</h1>
        </div>
    </body>
    </html>
    x;

    13.运算符
    <?php
    $a=0;
    $b=4;

    if($a=3 || $b=5){
        $a++; //true
        $b++; //5
    }

    echo $a; //1
    echo '<br>';
    echo $b; //5
    ?>

    <?php
    $a=0;
    $b=4;

    if($a=3 & $b=4){
        $a++;
        $b++;
    }

    echo $a;
    echo '<br>';
    echo $b;

    13.web服务器返回的状态码:
    1)200 正常响应
    2)404 文件找不到
    3)302 地址重定向
    4)403 拒绝访问
    5)500 内部程序错误
    6)304 没有更新

    14.冒泡排序
    function ss($arr){
        for($i=0;$i<count($arr);$i++){
            for($j=$i+1;$j<count($arr);$j++){
                if($arr[$i]>$arr[$j]){
                    $x=$arr[$i];
                    $arr[$i]=$arr[$j];
                    $arr[$j]=$x;
                }
            }
        }
        return $arr;
    }











  • 相关阅读:
    【转】 linux iio子系统
    【转】eclipse -- the project was not built due to a resource exists with a different case...
    Android常用的一些make命令(转载)--不错
    【转】Android Recovery模式
    chain rule 到 Markov chain
    chain rule 到 Markov chain
    贝叶斯统计(Bayesian statistics) vs 频率统计(Frequentist statistics):marginal likelihood(边缘似然)
    贝叶斯统计(Bayesian statistics) vs 频率统计(Frequentist statistics):marginal likelihood(边缘似然)
    企业文化与发展战略
    企业文化与发展战略
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9038951.html
Copyright © 2020-2023  润新知