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 . "\n";
} ?>
以上示例输出的内容:
fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange
13、Memcache:分布式key-value DB,哈希表,两阶段哈希(two stage hash)结构
14、排序算法
冒泡排序:稳定排序
选择排序:不稳定
插入排序:稳定
快速排序:不稳定。
基本思路:(1)先从数列中取出一个数作为基准数;(2)分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边(3)再对左右区间重复第二步,直到各区间只有一个数
PHP基础知识总结(五) php面试题的更多相关文章
- IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列
1.引言 消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一. 消息从发送者到接收者的典型传递方式有两种: 1)一种我 ...
- Python基础知识(五)
# -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...
- 菜鸟脱壳之脱壳的基础知识(五)——利用内存断点寻找OEP
经过第一节的基础知识,我们都知道了,加壳程序首先解把原来压缩的代码解压,然后放到所对应的区块中,当外壳程序执行完毕后,跳回到OEP执行,我们都知道,OEP是放在代码段中,也就是当外壳程序处理完毕后,跳 ...
- Java JDBC的基础知识(五)
本文主要记录JDBC基础知识之后的部分内容.另外,我看到<Java核心基础2>中第四章是主要介绍数据库编程的.里面有一些说明和应用特别灵活,有些部分也太容易理解,建议大家看一下.这篇是依然 ...
- Android学习之基础知识十五 — 最佳UI体验(Material Design实战)
一.前言 长久以来,大多数人都认为Android系统的UI并不美观,至少没有iOS系统的美观.以至于很多IT公司在进行应用界面设计的时候,为了保证双平台的统一性,强制要求Android端的界面风格必须 ...
- web前端基础知识-(五)jQuery
通过之前的学习我们已经了解了html.css.javascript的相关知识:本次我们就共同学习进阶知识:jQuery~ 一.什么是jQuery? jQuery其实就是一个轻量级的javascript ...
- java基础知识(五)java类
类是java的核心和本质,是java语言的基础. 一.java中的类 1.类class 一个类可以包含局部变量.实例变量.类变量(静态变量) 一个类至少有一个构造方法,如果没有,系统会默认给出一个无参 ...
- C#基础知识总结(五)
摘要 其他的数据类型:常量.枚举(enum).结构(struct).数组一.常量 语法:const 类型 变量名 = 变量值 常量称之为值不可变的变量! 在定义的地方赋值,其他的地方不能赋值. 常量变 ...
- EF基础知识小记五(一对多、多对多处理)
本文主要讲EF一对多关系和多对多关系的建立 一.模型设计器 1.一对多关系 右键设计器新增关联 导航属性和外键属性可修改 2.多对多关系 右键设计器新增关联 模型设计完毕之后,根据右键设计器根据模型生 ...
- java反射基础知识(五)反射应用实践
详解Java反射各种应用 Java除了给我们提供在编译期得到类的各种信息之外,还通过反射让我们可以在运行期间得到类的各种信息.通过反射获取类的信息,得到类的信息之后,就可以获取以下相关内容: Cl ...
随机推荐
- 配送单MYSQL ,一点都不机智
这是配送单制作,后面修改了下表 . 写的太乱. 不过也不想去修改了. 放在这里了.反正还能用. 不然就坑爹了. 以后写好一点. 这都是些神马, 太难受了. /* 配送单制作,缺少商品规格,以及库存查询 ...
- PHP DOMDocument操作 XML类 属性、方法
属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definition 以DTD或XML模式给出的节 ...
- MongoDB 3.6 开启慢查询
参考:Profiling Levels:支持一下级别.0 默认的profiler level,profiler 关闭并且不收集数据.1 profiler 收集超过slowms的操作数据.2 profi ...
- 如何让Jmeter压力测试减少压力机的资源消耗
如下是官方的一些建议: 1. 使用非gui模式,例如 jmeter -n -t test.jmx -l test.jtl 2. 尽量用较少的监听器(listeners):如果使用了-l 标致像上面一样 ...
- 2019PhpStrom注册码(破解)+汉化(中文)
PhpStrom破解使用 IDEA激活码: https://app.yinxiang.com/fx/bd2158ab-fea3-4382-966f-eaf54f5a4de7 phpStorm使用说明 ...
- equals方法重写
在java中常见的equals方法的重写: 举例:一个自定义类ball如下 public class Ball { private String name; private int weight; p ...
- MongoDB Windows之MSI安装
MSI安装 下载地址:https://www.mongodb.com/download-center/community Version根据自己所需要的版本下载,OS根据自己电脑选择(我是Window ...
- web 项目引入 maven jar 工具类异常
普通的web 项目引入 maven 子项目后,,启动web不会出现异常,登录web 页面异常提示: HTTP Status 500 - java.lang.NoSuchMethodError: o ...
- 这是什么b
用table表格标签渲染总排名和总分数据 <!DOCTYPE html> <html lang="zh"> <head> <meta ch ...
- Codeforces 500B New Year Permutation( Floyd + 贪心 )
B. New Year Permutation time limit per test 2 seconds memory limit per test 256 megabytes input stan ...