这些天php面试的总结

面试总结

记录一些本人在面试中遇到的觉得有些掌握不好的面试题,下面的答案都是本人回答的,如果哪里不对的话,希望各位能够指出.

1.Git fetch和git pull的区别

Git fetch相当于从远程获取最新版本到背地,但是不会自动合并.
Git pull相当于从远程获取更新版本并合并到本地.

2.session的工作原理

Session是在客户端初次访问的时候由服务器端创建,并将其存储在客户端,如果浏览器禁止掉cookie的话,那么就不能保存session信息,这时可以考虑将session存储在url里或者数据库内,一般都是存储在redis或者是memcache内.

3.xss攻击是什么?怎么预防.

XSS又叫CSS英文缩写为CrossSite Script,中文意思为跨站脚本攻击,具体内容指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的.
预防:1.输入检测(常见的有base64编码,十六进制编码,script关键字等.),2.输出编码,3.cookie防盗(不在cookie里面存放重要的信息).

4.require和include的区别

include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。
require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。
Include在用到时加载,require在初始的时候就加载.
在实际的应用场景中,如果遇到必须要引用某个文件,这时我们就需要使用require.如果遇到有他没他一样的文件,这个时候可以使用include.

5.数据库里面int类型后面的数字代表什么

这个数字代表补位.

6.假如一个数组里面的元素是0-49随机分布的,并且缺少一个元素.怎么样快速的查找到这个元素.

最佳答案就是:用另一个(0-49)的数组与其相加.这样可以根据差值快速找到缺少的那个值.

7.html,css,js,php,mysql的执行顺序是什么?

执行顺序为:PHP => MySQL => HTML => CSS 和 JS,当用户访问一个网站的时候,服务器会调用php解析器来解析php代码,然后php代码会查询数据库.最好将页面上的东西组织好发送给浏览器,然后浏览器再根据html来调用css和js.

8.写出你最熟悉的一种排序函数

function quickSort($array)
{
   $len = count($array);
    if($len <= 1) return $array;
    $mid = $array[0];
    $left = array();
    $right = array();
    for($i = 1; $i < $len; $i++)
    {
        if($array[$i] < $mid)
        {
            $left[] = $array[$i];
        }
        else
        {
            $right[] = $array[$i];
        }
    }
    $left = $this->quickSort($left);
    $right = $this->quickSort($right);
    return array_merge($left,array($mid),$right);
}

9.redis里面常见的数据类型

1.string(字符串)
2.hash(哈希)
3.list(链表)
4.sets(集合)
5.sorted sets(有序集合)

原文地址:https://www.cnblogs.com/ontheway1024/p/5509199.html