PHP基础知识总结(五) php面试题

1、Ajax跨域

  json:数据交换格式,{"name":"wangtianle"}

       jsonp:非官方跨域数据交换协议,可以通过动态添加<script/>标签来调用服务器提供的js脚本

  jsonp例子:

  (1)前端页面 test.html

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script src="jquery-1.9.1.min.js"></script>
<script src="ajax.js"></script>
</head>
 
<body>
</body>
</html>

       (2)test.html引用的脚本ajax.js 

$.ajax({
    type : "post",
    url : "ajax.php",
    dataType : "jsonp",
    jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
    jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
    success : function(json){
        alert('success, json return value=' + json );
    },
    error:function(){
        alert('fail');
    }
});

       (3)后端ajax.php:

<?php
 
$data = ".......";
$callback = $_GET['callback'];
var_dump($callback);

echo $callback.'('.json_encode($data).')';
exit;
 
?>

2、PHP模板引擎:分离PHP与HTML ,有smarty组件

3、论坛无限分类的实现原理:

   在DB的表中设计一个父字段即可

4、GD库:PHP处理图像的扩展库

5、mb_strlen($str); 计算字符串的长度

     mb_substr($str, $i, 10, $encoding);  获取$str中,从$i开始,长度为10的部分字符串

6、php_APC:Alternative PHP Cache 可选的PHP缓存

7、php开发框架:ThinkPHP, Laravel

8、php多线程:TSRM机制,复制空间(全局变量、局部变量),类似于java中的ThreadLocal。

  需要安装pthread扩展。

       Thread类有run、start、join、kill、isRunning等方法

9、接口:interface定义,class实现时,用implements关键字   (与java类似)

     抽象类:abstract class定义,class实现是,用extends关键字 (与java类似)
    访问控制:对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。 

10、Redis持久化:

  RDB方式:定期快照;     AOF方式:记录写操作,重启时执行

11、TCP三次握手和四次挥手

12、sort:对数组的值进行从低到高排序

       ksort:对数组的键名进行从低到高排序

<?php

$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
    echo "fruits[" . $key . "] = " . $val . "
";
}

?> 

     以上示例输出的内容:

  fruits[0] = apple
  fruits[1] = banana
  fruits[2] = lemon
  fruits[3] = orange

13、Memcache:分布式key-value DB,哈希表,两阶段哈希(two stage hash)结构

14、排序算法

  冒泡排序:稳定排序

       选择排序:不稳定

       插入排序:稳定

       快速排序:不稳定。

              基本思路:(1)先从数列中取出一个数作为基准数;(2)分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边(3)再对左右区间重复第二步,直到各区间只有一个数

原文地址:https://www.cnblogs.com/wangle1001986/p/8644484.html