php面试题5

一、总结

二、php面试题5

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

2. SESSION 与 COOKIE 的区别是什么,请从协议,产生的原因与作用说明?
1) http 无状态协议,不能区分用户是否是从同一个网站上来的,同一个用户请求不同的页
面不能看做是同一个用户
2) SESSION 保存在服务器端,COOKIE 保存在客户端,SESSION 依赖 COOKIE 进行传
输,如果 COOKIE 被禁用了,SESSION 将不能继续使用

3. HTTP 状态中 302、403、 500 代码含义?
302 重定向、403 服务器拒绝访问、500 服务器内部错误

4. Linux 下建立压缩包,解压缩包的命令。
1) tar czf test.tar.gz test.php
2) tar xzf test.tar.gz

5. 请写出数据类型(int char varchar datetime text)的意思;请问 varchar 和 char 有
什么区别?
int 是数字类型,char 固定长度字符串,varchar 实际长度字符串,datetime 日期时间型,text
文本字符串,char 的场地固定为创建表设置的长度,varchar 为可变长度的字符

6. MyISAM 和 InnoDB 的基本区别?
1)在增、删、改和查方面,myisam 要优于 innodb 表引擎,当数据量特别大时,他们的速度
相差不大
2)innodb 支持 myisam 所不具备的事务支持、存储过程,行级锁定等等

7. 不使用 cookie 向客户端发送一个 cookie.
<?php
session_start();
echo $sn=session_name();
echo "<br>";
echo $sid=session_id();
echo "<a href='test2.php?{$sn}={$sid}'>url 传递 session</a>";
?>
//PHPSESSIONID=kkkkkaldfjaldfjladsf;

10. isset() 和 empty() 区别,对不同数据的判断结果
1)isset()是判断变量是否存在,是否定义
2)empty()是判断变量的值是否为空.

12. 如何在页面之间传递变量(至少两种方式) ?
1)get
2)post
3)ajax
4)curl
5)cookie
6)session

三、PHP 代码题
1. 写出匹配 URL 的正则表达式.

http://www.baidu.com/index.php?id=1&name=user1
(http|ftp):\/\/(www.)?(\S*)(\?\S*\&\S*)?
(.*)\/\/(.*)\?(.*)?

2. 请写出常见的排序算法,并用 PHP 实现冒泡排序,将数组$a = array()按照从小到大的
方式进行排序。
3 2 2 2 1
2 3 1 1 2
1 1 3
$i>$j
$tmp=$i;
$i=$j;
$j=$tmp;
<?php
Function mysort($arr){
For($i=0; $i<count($arr); $i++){
For($j=0; $j<count($arr)-1; $j++){
If($arr[$j] > $arr[$j+1]){
$tmp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$tmp;
}
}
}
Return $arr;
}
$arr=array(3,2,1);
print_r(mysort($arr));
//$a=10 $b=20 $tmp=$a $a=$b $b=$tmp

3. 在数据库 test 中的一个表 student,字段是 name,class,score。分别代表姓名、所
在班级,分数。
1) 算出每个班级中的学生,按照成绩降序排序;
select name,class,score from student order by score desc;
2) 查出每个班的及格人数和不及格人数,格式为:class、及格人数、不及格人数;
SELECT class,
SUM(CASE WHEN score>=60 THEN 1 ELSE 0 END),
SUM(CASE WHEN score<60 THEN 1 ELSE 0 END)
FROM tb1 GROUP BY class

3) 用 PHP 写入连接数据库("localhost","msuser","mspass")、执行以上 SQL、显示结果、
判断错误、关闭数据库的过程

$conn=mysql_connect(‘localhost’,'msuser’,’mspass′);
Mysql_select_db(‘test’);
$sql=" SELECT class,
SUM(CASE WHEN score>=60 THEN 1 ELSE 0 END),
SUM(CASE WHEN score<60 THEN 1 ELSE 0 END)
FROM tb1 GROUP BY class";
if($result=Mysql_query($sql)){
while($row=mysql_fetch_assoc($result)){
  print_r($row);
}
}
Mysql_close($conn);


; trans sid support is disabled by default.
; Use of trans sid may risk your users security.
; Use this option with caution.
; - User may send URL contains active session ID
;   to other person via. email/irc/etc.
; - URL that contains active session ID may be stored
;   in publicly accessible computer.
; - User may access your site with the same session ID
;   always using URL stored in browser's history or bookmarks.
; http://php.net/session.use-trans-sid
session.use_trans_sid = 0

如果客户端禁用cookie,可以通过这个在url上加session信息来达到cookie效果,就是登录效果,因为session是通过cookie实现的

在php.ini里面


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;
}

php面试题5的更多相关文章

  1. .NET面试题系列[8] - 泛型

    “可变性是以一种类型安全的方式,将一个对象作为另一个对象来使用.“ - Jon Skeet .NET面试题系列目录 .NET面试题系列[1] - .NET框架基础知识(1) .NET面试题系列[2] ...

  2. 关于面试题 Array.indexof() 方法的实现及思考

    这是我在面试大公司时碰到的一个笔试题,当时自己云里雾里的胡写了一番,回头也曾思考过,最终没实现也就不了了之了. 昨天看到有网友说面试中也碰到过这个问题,我就重新思考了这个问题的实现方法. 对于想进大公 ...

  3. 对Thoughtworks的有趣笔试题实践

    记得2014年在网上看到Thoughtworks的一道笔试题,当时觉得挺有意思,但是没动手去写.这几天又在网上看到了,于是我抽了一点时间写了下,我把程序运行的结果跟网上的答案对了一下,应该是对的,但是 ...

  4. 从阿里巴巴笔试题看Java加载顺序

    一.阿里巴巴笔试题: public class T implements Cloneable { public static int k = 0; public static T t1 = new T ...

  5. JAVA面试题

    在这里我将收录我面试过程中遇到的一些好玩的面试题目 第一个面试题:ABC问题,有三个线程,工作的内容分别是打印出"A""B""C",需要做的 ...

  6. C++常考面试题汇总

    c++面试题 一 用简洁的语言描述 c++ 在 c 语言的基础上开发的一种面向对象编程的语言: 应用广泛: 支持多种编程范式,面向对象编程,泛型编程,和过程化编程:广泛应用于系统开发,引擎开发:支持类 ...

  7. .NET面试题系列[4] - C# 基础知识(2)

    2 类型转换 面试出现频率:主要考察装箱和拆箱.对于有笔试题的场合也可能会考一些基本的类型转换是否合法. 重要程度:10/10 CLR最重要的特性之一就是类型安全性.在运行时,CLR总是知道一个对象是 ...

  8. 我们公司的ASP.NET 笔试题,你觉得难度如何

    本套试题共8个题,主要考察C#面向对象基础,SQL和ASP.NET MVC基础知识. 第1-3题会使用到一个枚举类,其定义如下: public enum QuestionType { Text = , ...

  9. 我设计的ASP.NET笔试题,你会多少呢

    本笔试题考查范围包括面向对象基础.HTML.CSS.JS.EF.jQuery.SQL.编码思想.算法等范围. 第1题:接口和抽象类有何区别? 第2题:静态方法和实例方法有何区别? 第3题:什么是多态? ...

  10. 猫哥网络编程系列:详解 BAT 面试题

    从产品上线前的接口开发和调试,到上线后的 bug 定位.性能优化,网络编程知识贯穿着一个互联网产品的整个生命周期.不论你是前后端的开发岗位,还是 SQA.运维等其他技术岗位,掌握网络编程知识均是岗位的 ...

随机推荐

  1. [ES6] Extends class in ES6 vs ES5 subclass

    ES6 class with extends and super: class Tree { constructor(size = ', leaves = {spring: 'green', summ ...

  2. poj3244(公式题)

    Difference between Triplets Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 2476   Acce ...

  3. 关于client浏览器界面文字内容溢出用省略号表示方法

    在实际的项目中,因为client浏览器文字内容的长度不确定性和页面布局的固定性,难免会出现文字内容超过div(或其它标签,下同)区域的情况.此时比較好的做法就是当文字超过限定的div宽度后自己主动以省 ...

  4. iOS Dev (51)加急审核

    https://developer.apple.com/appstore/contact/? topic=expedite

  5. Windows 98 二十岁了,这些功能都是从它开始的(虽然 Windows 98 不如 Windows 95 那样具有革命性,但完成度更高,更加成熟。到最后还是:相见不如怀念。)

    1998 年 6 月 25 日午夜,美国著名连锁零售店 CompUSA 门外挤满了狂热的消费者和媒体,他们在等待一款软件发售:Windows 98,即使明知它要到当天早上才正式上市. ▲ 在 Comp ...

  6. js40---享元模式

    /** * 享元模式是一个为了提高性能(空间复杂度)的设计模式 * 他使用与程序会生产大量的相类似的对象是耗用大量的内存的问题 */ (function(){ /** * 制造商 * 型号 * 拥有者 ...

  7. ::的类名前有个 & ,什么意思?

    转载自  http://www.imooc.com/qadetail/93985 MazePerson &MazePerson::setPersonPosition(int coordinat ...

  8. CODEVS——T1332 上白泽慧音 || 洛谷——P1726 上白泽慧音

    http://codevs.cn/problem/1332/|| https://www.luogu.org/problem/show?pid=1726#sub  时间限制: 1 s  空间限制: 1 ...

  9. 一些常用JS函数和技巧总结

    1.JS原生函数parseInt(),返回字符串的第一个数字,默认是十进制. 2.!!data.success  //强制转换成布尔类型

  10. .v 和 .sdf

    DC输出的.v(网表?)和.sdf(储存的是延时的信息) 用于后仿真