zoukankan      html  css  js  c++  java
  • 新浪面试题

    在网上看到别人的新浪面试题,拿过来留着自己学习。http://www.mianwww.com/html/2012/03/14142.html

    1、COOKIE、SESSION的联系和区别,多台web服务器如何共享SESSION?
    使用session_start()调用session,服务器端在生成session文件的同时,生成session ID哈希值和默认值为PHPSESSID的session name,并向客户端发送变量为(默认的是)PHPSESSID(session name),值为一个128位的哈希值.服务器端将通过该cookie与客户端进行交互.
    session变量的值经php内部系列化后保存在服务器机器上的文本文件中,和客户端的变量名默认情况下为PHPSESSID的coolie进行对应交互.
    即服务器自动发送了http头:header(‘Set-Cookie: session_name()=session_id(); path=/’);
    即setcookie(session_name(),session_id());
    当从该页跳转到的新页面并调用session_start()后,PHP将检查与给定ID相关联的服务器端存贮的session数据,如果没找到,则新建一个数据集.
    2、HTTP协议中的POST和GET有何区别?
       其中请求方法是请求一定的Web页面的程序或用于特定的URL。可选用下列几种:
      GET: 请求指定的页面信息,并返回实体主体。
      HEAD: 只请求页面的首部。
      POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。
      PUT: 从客户端向服务器传送的数据取代指定的文档的内容。
      DELETE: 请求服务器删除指定的页面。
    3、一段php代码,写出输出结果,

    /**** 这个程序****/
    $a=0;
    $b=0;
    if(($a=3)>0 || ($b=3)>0){

    $a++;
    $b++;

    echo $a ;
    echo $b; //输出b的值
    }
    答案:4 1
    /**** 这个程序****/
    $a=0;
    $b=0;
    if(($a=3)>0 | ($b=3)>0){

    $a++;
    $b++;

    echo $a ;
    echo $b; //输出b的值
    }
    答案:4 4
    4、reqiure的include都可包含文件,二者的区别何在?
    5、php中WEB上传文件的原理是什么,如何限制上传文件的大小?
    1,上传文件的表单使用post方式(和get的区别不用说了);还要加上enctype=’multipart/form-data’。
    2,一般要加上隐藏域:,位置在file域前面。value的值是上传文件的客户端字节限制。据说可以减少文件超标时客户端的等待时间,不过我没觉得有什么区别。
    3,出于安全考虑,file域是不许赋值的。随便在file域输入字符串,然后按submit也不会有反应。必须是第二个字符是冒号的时候(比如空格跟随冒号可以上传一个长度为0字节的“文件”),submit才同意“服务”——不过这个是客户端的措施,跟MAX_FILE_SIZE一样很容易绕过去。
    限制上传文件大小的因素有
    1,客户端的隐藏域MAX_FILE_SIZE的数值(可以被绕开)。
    2,服务器端的upload_max_filesize,post_max_size和memory_limit。这几项不能够用脚本来设置。
    3,自定义文件大小限制逻辑。即使服务器的限制是能自己决定,也会有需要个别考虑的情况。所以这个限制方式经常是必要的。
    4,$_FILE['fn']['size']
    is_uploaded_file() , move_uploaded_file()

    6、写一个函数,可以遍历文件夹下的所有文件和文件夹。
    function myscandir($path)
    {
    $files = array();
    if($handle = opendir($path)){
    while(($f = readdir($handle)) !== false){
    $p = $path .’/’. $f;
    if($f == ‘..’ || $f == ‘.’) continue;
    if(is_file($p)){
    $files[] = $f;
    }elseif(is_dir($p)){
    $files[$f] = myscandir($p);
    }
    }
    closedir($handle);
    }
    return $files;
    }
    //$f = myscandir(‘./misc/doo’);
    //print_r($f);
    7、8、中间有几个unix shell的题目(好像是两个),因为不懂,不记得这些题目了
    9、有mail.log的一个文档,内容为若干邮件地址,其中用’ ’将邮件地址分隔。要求从中挑选出sina.com的邮件地址(包括从文件读取、过滤到列印出来)。
    mail.log内容如下:
    [ft=#222266,,
    [ft=#222266,,
    [ft=#222266,,
    [ft=#222266,,
    [ft=#222266,,
    答案:
    cat mail.log | grep sina.com
    或者:
    #!/bin/bash
    while read row ;
    do
    case $row in
    *sina.com*) echo $row ;;
    esac
    done < mail.log

    10、js中网页前进和后退的代码




    11、window(A)中用window.open()打开了window(B),如何从窗口B调用窗口A中的内容?A、B仅仅是窗口的代号,不是窗口名字
    window.opener.document.getElementById()
    12、了解ajax吗?用过吗?……
    var xmlhttp = new XMLHttpRequest();
    var xmlhttp = new ActiveXObject(“Microsoft.XMLHttp”);
    xmlhttp.open(‘get’,url,true);
    xmlhttp.onreadystatechang=function(){
    if(xmlhttp.readyState ==4){
    if(xmlhttp.status==200){alert(xmlhttp.responseText);xmlhttp=null;}
    }
    }
    xmlhttp.send(null);

    Ajax.open(“POST”,url,true);
    //如果是POST方式提交数据,下两行必不可少
    Ajax.setrequestheader(“content-length”,sendData.length);
    Ajax.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded”);
    Ajax.send(sendData);//要POST的数据
    13、什么是MVC?用过吗?使用时遇到了什么问题,怎么解决的?

    14.写出 访问 http://www.sina.com.cn 所需的报文头,嘿嘿,这是超级猪自己想起来地。
    答案:可以用get_heards(http://www.sina.com.cn)查看

  • 相关阅读:
    文件系列--截取路径字符串,获取文件名
    ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同
    大小写字母,特殊字符,数字,四选一组合或者全组合,长度至少八位,验证
    设计模式-23种设计模式介绍
    &和&&区别
    GridView中Button多参数传参
    HTTP 错误 500.19
    Windows系统添加端口号
    win10安装IIS服务
    2019最新整理PHP面试题附答案
  • 原文地址:https://www.cnblogs.com/usa007lhy/p/4832831.html
Copyright © 2011-2022 走看看