PHP面试题

1.用PHP打印出前一天凌晨的时间,格式是2006-6-10 22:22:22
echo date("Y-m-d 00:00:00", strtotime("-1 day"));
2.jQuery中当页面完全载入后使 <div id="test">test</div> 隐藏

$(document).ready(function(){
    $("#test").hide();
});

3.linux下改变文件权限的命令?如使test.php变为所有用户可读写不可执行。
chmod 666 test.php
4.MySQL如何取得当前时间的UNIX时间戳?如何格式化UNIX时间戳?

UNIX_TIMESTAMP();
FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y-%m-%d %H:%i:%s');

5.PHP中如何验证邮件格式是否正确?

filter_var('bob@example.com', FILTER_VALIDATE_EMAIL);
//或者正则 TODO

6.用户表a(user_id, user_name),发表文章的表b(a_id,user_id, create_time, content),其中a_id为文章id,用一个sql语句得到每一个用户在2010-1-1以后发表文章数量的列表

SELECT a.user_id AS user_id, COUNT(b.a_id) AS num FROM a LEFT JOIN b ON a.user_id = b.a_id WHERE a.create_time > '2010-1-1';

7.请用PHP遍历目录下所有文件和文件夹

function tree($dir) { 
    $mydir = dir($dir); 

    while($file = $mydir->read()) { 
        if((is_dir("$dir/$file")) 
        && ($file!=".") && ($file!="..")) {
            echo $file, "\\n"; 
            tree("$dir/$file"); 
        } else {
            echo $file, "\\n"; 
        }
    } 

    $mydir->close(); 
}

8.写出你知道的几个HTTP返回状态码,并说明用途

200 ok

301 永久重定向
302 临时重定向

对浏览器一样都做跳转,对搜索引擎不一样。
301 搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址,302 搜索引擎会抓取新的内容而保留旧的网址。
304 文档未修改 一般用在做静态资源缓存

403 拒绝
404 未找到

500 内部错误  常见错误可能是文件目录权限或数据库连接问题
501 未实现
502 错误网关
503 服务不可用

9.Linux命令,请用Linux命令获取文件log.txt的行数
wc -l log.txt //-c 字节数 -w 字数
10.请使用PHP描述冒泡排序和快排,对象可以是一个数组

$arr = array(1,3,4,5,9,6,2);

function maopao($arr) {  
  $len = count($arr);
  for($i=1; $i<$len; $i++) {
    for($k=0; $k<$len-$i; $k++) {
       if($arr[$k]>$arr[$k+1]) {
            $tmp=$arr[$k+1];
            $arr[$k+1]=$arr[$k];
            $arr[$k]=$tmp;
        }
    }
  }
  return $arr;
} 
//Ο(logN)
function quick($arr) {
    $len = count($arr);
    if($len <= 1) {
        return $arr;
    }

    $base = $arr[0];

    $left = array();  //小于 base
    $right = array();  //大于 base
    for($i=1; $i<$len; $i++) {
        if($base > $arr[$i]) {
            $left[] = $arr[$i];
        } else {
            $right[] = $arr[$i];
        }
    }

    $left = quick($left);
    $right = quick($right);

    return array_merge($left, array($base), $right);
}

11.PHP5中魔术方法函数有哪几个,请举例说明各自用法

    __construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __clone() 

__sleep()、 __wakeup()

对应 serialize()/unserialize(),__sleep 清理对象,__wakeup 预先准备对象需要的资源

__toString()用于一个类被当成字符串时应怎样回应

12.如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数?

$argv、getopt()

13.请写一段PHP代码、确保多个进程同时写入同一文件成功

$fd = fopen("test.txt", "a");
if(flock($fd, LOCK_EX)) { // or LOCK_NB 区别 阻塞 与 非阻塞
    fwrite($fd, "write");
    flock($fd, LOCK_UN);
} else {
    echo "locking";
}

fclose($fd);

14.请描述mysql的innodb和myisam的区别

Innodb支持事务处理与外键。
Innodb行级锁。MyISAM表锁。写入频繁时MyISAM可能会出现lock table。
MyISAM支持全文索引。
count(*)MyISAM比较快。
灾后恢复机制Innodb比较完善。
Innodb是官方推荐的引擎。

15.一个MySQL数据表,每天写入数据量非常大,该如何优化写效率
上下文没给全。具体问题具体分析。常规做法:检查索引是否过多,读写分离,切分(水平or垂直)。
16.如何进行防SQL注入

1)对特殊字符进行转义(mysql_escape_string、addslashes)、过滤或者使用预编译的SQL语句绑定变量
2)最小权限原则,不用root账户。
3)SQL语句运行出错时,不要显示错误信息给用户。```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,099评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,828评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,540评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,848评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,971评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,132评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,193评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,934评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,376评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,687评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,846评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,537评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,175评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,887评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,134评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,674评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,741评论 2 351

推荐阅读更多精彩内容