• 墨玉县发展农村电商破解脱贫难题 2019-07-15
  • 晋中市通报五起违反中央八项规定精神问题 2019-07-14
  • 五月呼声报告: 陕11家单位上黑榜 官方回复房产投诉满意度低 2019-07-14
  • 高明农家乐地图出炉 教你玩出新花样清凉乐翻天 2019-07-13
  • 超出你想象  大胡子“绣郎”斩获刺绣界“奥斯卡”  2019-07-10
  • 澳媒:亚洲人别来了?悉尼再现种族歧视海报 2019-07-03
  • 为丰富百姓餐桌提供更多选择(打开对外开放新局面) 2019-07-03
  • 爬窗户干瞪眼  云南文山一小区惊现倭蜂猴 2019-07-02
  • 以古鉴今,习近平多次提及屈原 2019-07-02
  • 统一标尺严把关口 防止留置权滥用 2019-06-28
  • 四川医疗巡诊走进松潘为在乡优抚对象送健康 2019-06-25
  • 人民网驻乌克兰记者报道集 2019-06-23
  • 十九大代表杨峰:解决市民身边小事 汇集成民生大事 2019-06-23
  • 浙江舟山定海区一国企非党管理人员涉嫌受贿被查 2019-06-22
  • 中共中央组织部“12380”举报网站 2019-06-19
  • Jquery中文网 南粤风采36选7开奖公告 www.77402m.com
    Jquery中文网 >  脚本编程  >  php  >  正文 php面试题分享(正在找工作的朋友有福了)

    36选7中奖规则及奖金:php面试题分享(正在找工作的朋友有福了)

    发布时间:2015-07-13   编辑:南粤风采36选7开奖公告 www.77402m.com
    php面试题分享,找工作的同学有福了,祝大家找到好工作,新年更上一层楼。1.nginx使用哪种网络协议? nginx是应用层 我觉得从下往上的话 传输层用的是tcp/ip 应用层用的是http fastcgi负责调度进程<br /> <br />

    南粤风采36选7开奖公告 www.77402m.com 1.nginx使用哪种网络协议?
    nginx是应用层 我觉得从下往上的话 传输层用的是tcp/ip 应用层用的是http
    fastcgi负责调度进程

    2. <? echo 'hello tusheng' ; ?> 没有输出结果, 可能是什么原因, 简述的解决此问题的过程(提示: 语法没有问题)
    可能服务器上面没有开启短标签short_open_tag =设置为Off,,php.ini开启短标签控制参数: short_open_tag = On

    3. 简述下面程序的输出结果, 简要说明为什么, 如何解决这类问题?
     

    复制代码 代码如下:
    <?php
    $tmp = 0 == "a"? 1: 2;
    echo $tmp;
    ?>

    结果 1 int和string类型强制转换造成的,0==="a"

    0 == 0 肯定是true啊
    PHP是弱类型。。
    $tmp = 0 === "a"? 1: 2;
    echo $tmp; 这样就是2

    4. 已知一个字符串如下: $str = "1109063 milo 1";
    用一行代码将该字符串里面的1109063赋值给$uid, milo赋值给$user, 1赋值给$type
    空格如下
    list($uid, $user, $type) = explode(" ", $str);
    \t如下
    list($uid, $user, $type) = explode("\t", $str);
    list($uid, $user, $type) = sscanf($str, "%d %s %d");
    $n = sscanf($auth, "%d\t%s %s", $id, $first, $last);

    5. 分别列出如下类型的有符号和无符号范围 TINYINT SMALLINT MEDIUMINT INT
    TINYINT-2^7 - 2^7-10 ~ 2^8-1
    SMALLINT-2^15 - 2^15-1 0 ~ 2^16-1
    MEDIUMINT-2^23 - 2^23-1 0 ~ 2^24-1
    INT-2^31 - 2^31-1 0 ~ 2^32-1

    6. 将下面的数组用一行拼装成一个字符串i am milo! day day up!
     

    复制代码 代码如下:
    <?php
    $arr = array(
    'I', 'AM', 'MILO!', 'DAY', 'DAY', 'UP!'
    );
    ?>
    $str = strtolower(implode(" ",$arr));

    7. 调用如下函数获取函数并获取count的值
     

    复制代码 代码如下:
    <?php
    function get_list($cnd = array(), &$count = false)
    {
    // 伪代码 处理$cnd 并赋值datas
    $datas = 'i am call back';
    $count && $count = rand(1, 10000);
    return $datas;
    }
    ?>
    $count=1;
    $data = get_list($cnd,&$count);
    echo $count;

    8. 几种方式去取代session机制, 简单描述各自的优劣
    mysql、memcache、cookie保持一种唯一状态标识码

    9. 下列HTTP状态码出现的可能原因, 如何处理
    200, 301, 404, 502, 503
    200
    请求已成功,请求所希望的响应头或数据体将随此响应返回。
    301
    被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。   新的永久性的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超链接及简短说明。   如果这不是一个 GET 或者 HEAD 请求,因此浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。

    注意:对于某些使用 HTTP/1.0 协议的浏览器,当它们发送的 POST 请求得到了一个301响应的话,接下来的重定向请求将会变成 GET 方式。

    404
      请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。
    502
      作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
    503
      由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。如果能够预计延迟时间,那么响应中可以包含一个 Retry-After 头用以标明这个延迟时间。如果没有给出这个 Retry-After 信息,那么客户端应当以处理500响应的方式处理它。   注意:503状态码的存在并不意味着服务器在过载的时候必须使用它。某些服务器只不过是希望拒绝客户端的连接。

    200 OK 一切正常,对GET和POST请求的应答文档跟在后面。
    301 Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL
    404 Not Found 无法找到指定位置的资源。这也是一个常用的应答。
    502 Bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。
    503 Service Unavailable 服务器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个Retry-After头。

    10. 有如下数据库, 用原生态mysql扩展去连接并查询user表的前十行
    host: 192.168.0.254
    port: 3306
    user: one
    pass: piece
    database: db_user
    table: user
    <?php
     

    复制代码 代码如下:
    $link = mysql_connect("192.168.0.254:3306","one","piece") or die('Could not connect: '.mysql_error());
    mysql_select_db('db_user',$link);
    $query = mysql_query("select * from user limit 10");
    while($rs = mysql_fetch_array($query,MYSQL_ASSOC))
    {}

    11. 用autoload($class) 实现Lib目录下的类的自动加载并可以兼容子目录
     

    复制代码 代码如下:

    $request->action = lcfirst(implode(array_map(
    'ucfirst',
    explode('-', strtolower($request->action))
    )));
    ------------------------------------------------
    function __autoload($class)
    {
    $cls = strtolower(str_replace("_","/",$class));


    if(file_exsits(LIB.$cls.'.php'))
    {
    include_once(LIB.$cls.'.php');
    }
    else
    {
    die("not found {$class} class");
    }
    }
    defined("LIB",'/data/wwwroot/www.xx.com/lib/');
    $author = new Lib_Author();
    -----------------------------------------------------------
    function __authload($class)
    {
    $cls = explode("_",$class);
    if(@is_dir($cls[1]))
    {
    if(@is_file($cls[2]))
    {
    include_once("CON_PATH".$cls[1].'/'.$cls[2].".php");
    }
    else
    {
    dir('error');
    }
    }
    else if(@is_file($cls[1].".php"))
    {
    include_once("CON_PATH".$cls[1].".php");
    }
    else
    {
    dir('error');
    }
    }
    ---------------------------------------
    function __autoload($class)
    {
    $cls = explode("_",$class);
    $file = get_file($cls);
    if($file=='error')
    {
    die('error');
    }
    include_once($file);
    }
    function get_file($dir)
    {
    if(is_array($dir))
    {
    foreach($dir as $k=>$v)
    {
    $tmpdir .= $v.'/';
    if(is_dir('CON_PATH'.$tmpdir))
    {
    continue();
    }
    else if(is_file('CON_PATH'.$tmpdir.".php"))
    {
    return 'CON_PATH'.$tmpdir.".php";
    }
    else
    {
    return 'error';
    }
    }
    return 'error';
    }
    return 'error';
    }

    defined("CON_PATH","/data/wwwroot/www.xx.com/app/cntroller/");
    $sb = new controller_sb();
    ------------------------------------
    function __autoload_my_classes($classname)
    {
    # ... your logic to include classes here
    }
    spl_autoload_register('__autoload_my_classes');
    -----------------------------------------------------------

    12. 用set_error_handle 去捕获错误并输出, 级别自己定
     

    复制代码 代码如下:

    set_error_handle(callback,level)
    function callback(int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]] ){
    }

    function dealErrorHandler($errno,$errstr,$errfile,$errline)
    {
    switch($errno){
    case E_USER_ERROR:
    echo "error [$errno] $errstr fatal error on line $errline in file $errfile";
    break;
    case E_USER_WARNING:
    echo "my warning [$errno] $errstr":
    break;
    case E_USER_NOTICE:
    echo "my notice[$errno] $errstr";
    break;
    default:
    echo "unkonwn error type :[$errno] $errstr";
    break;
    }
    }
    set_erro_handler(dealErrorHandler);

    trigger_error("notice", E_USER_NOTICE);
    trigger_error("warning", E_USER_WARNING);
    trigger_error("error", E_USER_ERROR);

    13. 简述两种屏蔽php程序的notice警告的方法
    初始化变量,文件开始设置错误级别或者修改php.ini 设置error_reporting
    set_error_handler 和 @抑制错误

    1.在程序中添加:error_reporting (E_ALL & ~E_NOTICE);
    2.或者修改php.ini中的:error_reporting = E_ALL
    改为:error_reporting = E_ALL & ~E_NOTICE
    3.error_reporting(0);或者修改php.inidisplay_errors=Off

    您可能感兴趣的文章:
    php面试题分享(正在找工作的朋友有福了)
    php随机输出名人名言的函数
    解决jquery操作checkbox火狐下第二次无法勾选问题
    深入理解php中require/include的顺序
    使用正则表达式进行查找替换
    Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
    php与mysql时区设置的一些总结
    什么是Node.js?Node.js使用详细介绍
    php的mssql扩展SQL查询中文字段名的解决方法
    10条PHP编程好习惯

    关键词: php面试题   
    [关闭]
  • 墨玉县发展农村电商破解脱贫难题 2019-07-15
  • 晋中市通报五起违反中央八项规定精神问题 2019-07-14
  • 五月呼声报告: 陕11家单位上黑榜 官方回复房产投诉满意度低 2019-07-14
  • 高明农家乐地图出炉 教你玩出新花样清凉乐翻天 2019-07-13
  • 超出你想象  大胡子“绣郎”斩获刺绣界“奥斯卡”  2019-07-10
  • 澳媒:亚洲人别来了?悉尼再现种族歧视海报 2019-07-03
  • 为丰富百姓餐桌提供更多选择(打开对外开放新局面) 2019-07-03
  • 爬窗户干瞪眼  云南文山一小区惊现倭蜂猴 2019-07-02
  • 以古鉴今,习近平多次提及屈原 2019-07-02
  • 统一标尺严把关口 防止留置权滥用 2019-06-28
  • 四川医疗巡诊走进松潘为在乡优抚对象送健康 2019-06-25
  • 人民网驻乌克兰记者报道集 2019-06-23
  • 十九大代表杨峰:解决市民身边小事 汇集成民生大事 2019-06-23
  • 浙江舟山定海区一国企非党管理人员涉嫌受贿被查 2019-06-22
  • 中共中央组织部“12380”举报网站 2019-06-19
  • 湖北11选5开奖时间 排列五重号走势图 少儿围棋比赛 江苏十一选五任八 四川金7乐官网下载 排列5幸运选号一注 欢乐麻将 20112012西甲 规律一波中特 香港赛马会一肖中特料一己公开 福利彩票双色球复式中奖规则及奖金 nba胜分差是谁让谁 新浪彩票双色球预测 接排球的正确手法图片 体彩超级大乐透走势图坐标标准版