- PHP基础知识
- Javascript、jQuery、ajax基础知识
- Linux基础知识
- MySQL数据库的基础与优化
- 程序设计题
- PHP框架基础知识
- 算法、逻辑思维
- 高并发解决方案
一、PHP基础知识
- 引用变量
概念:在PHP中引用意味着用不同的名字访问同一个变量内容
定义方式:使用&符号
COW机制(Copy on Write) 写时复制机制
unset() 只会取消引用,而不会销毁占用空间
对象本身就是引用传递
<?php
$a = new Person();
//此种情况对a或者b进行修改,不会开辟内存并复制对象
$b = $a;
- 常量及数据类型
字符串定义方式:单引号、双引号、heredoc、newdoc
区别:
- 单引号不解析变量;双引号解析变量,变量可以用特殊字符和{}包含
- 单引号不解析转义字符,直解析单引号和反斜线本身;双引号解析所有转义字符
- 变量和变量、变量和字符串、字符串和字符串之间可以用.连接
- 单引号效率更高
heredoc类似于双引号 newdoc类似于单引号
<?php
//heredoc定义方式
$str=<<<EOF
...
EOF
//newdoc定义方式
$str=<<<'EOF'
...
EOF
三大数据类型:标量、复合类型、特殊类型
- 浮点类型不能用于比较运算(相等判断)
- false的7种情况:0 , 0.0 , '' , '0' , false , array() , NULL
- null的3种情况:直接赋值为null,未定义的变量,unset()销毁的变量
超全局数组 $GLOBALS
、$_GET
、$_POST
、$_REQUEST
、$_SESSION
、$_COOKIE
、$_SERVER
、$_FILES
、$_ENV
-
$GLOBALS
包含所有超全局数组 -
$_REQUEST
包含$_GET
、$_POST
、$_COOKIE
常量定义:
<?php
//const是语言结构,速度快,可定义类常量
const NAME = '张三';
//define是函数
define('AGE',18);
预定义常量:
__FILE__
,__LINE__
,__DIR__
,__FUNCTION__
,__CLASS__
,__TRAIT__
,__METHOD__
,__NAMESPACE__
- 运算符及流程控制
错误控制符@
,将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都将被忽略。
运算符优先级
递增/递减 >
!
> 大小比较 > (不)相等比较 > 引用 > 位运算符(^)> 位运算符(|)> 逻辑与 > 逻辑或 > 三目 > 赋值 > and > xor > or
建议使用()增加可读性
- 递增/递减 不影响布尔值
- 递减null 没有效果
- 递增null 为 1
短路作用
<?php
$a = 0;
//此处$a 转换为false,由于短路作用 &&后面的表达式不执行
$a && $a = 2;
- 自定义函数及内部函数
- 正则表达式
- 文件及目录处理
- 会话控制
- 面向对象
- 网络协议
- 开发环境相关
二、Javascript、jQuery、ajax基础知识
三、Linux基础知识
四、MySQL基础知识
- MySQL基础知识
- MySQL如何创建高性能索引
- MySQL的sql语句的编写和优化
- MySQL的高可扩展和高可用性及安全性
五、程序设计题
六、PHP框架基础知识
七、常见算法、逻辑思维考察点
- 常见数据结构特征
- 算法的工作原理
- 时间复杂度
- 空间复杂度
- 其他逻辑算法
- PHP内置函数实现
八、高并发解决方案
- 如何理解高并发
- PV
- UV
- QPS
-
优化时机——QPS阶段性优化
-
优化案例
- 防盗链
- 减少HTTP请求
- 浏览器缓存
- CDN
- 数据库缓存(memcache、nosql)
- MySQL读写分离
- 分区以及分库分表
- LVS负载
常见经典面试题
- 什么是引用变量?在PHP中用什么符号定义引用变量?
- 要求写出jQuery中可以处理ajax的几种方法。
- 写出尽可能多的Linux命令。
- 写出三种以上MySQL数据库存储引擎的名称。
- 编写一个在线留言本,实现用户的在线留言功能。
- 谈谈你对mvc的认识,介绍几种目前比较流行的mvc框架。
- 请写出常见的排序算法。
- PHP如何解决网站大流量与高并发的问题?
网友评论