PHP面试知识脉络(更新中)

  • PHP基础知识
  • Javascript、jQuery、ajax基础知识
  • Linux基础知识
  • MySQL数据库的基础与优化
  • 程序设计题
  • PHP框架基础知识
  • 算法、逻辑思维
  • 高并发解决方案

一、PHP基础知识

  1. 引用变量

概念:在PHP中引用意味着用不同的名字访问同一个变量内容
定义方式:使用&符号

COW机制(Copy on Write) 写时复制机制

unset() 只会取消引用,而不会销毁占用空间
对象本身就是引用传递

 <?php
$a = new Person();
//此种情况对a或者b进行修改,不会开辟内存并复制对象
$b = $a;
  1. 常量及数据类型

字符串定义方式:单引号、双引号、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__

  1. 运算符及流程控制

错误控制符@,将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都将被忽略。

运算符优先级

递增/递减 > ! > 大小比较 > (不)相等比较 > 引用 > 位运算符(^)> 位运算符(|)> 逻辑与 > 逻辑或 > 三目 > 赋值 > and > xor > or

建议使用()增加可读性

  • 递增/递减 不影响布尔值
  • 递减null 没有效果
  • 递增null 为 1

短路作用

<?php
$a = 0;
//此处$a 转换为false,由于短路作用 &&后面的表达式不执行
$a &&  $a = 2;

  1. 自定义函数及内部函数
  2. 正则表达式
  3. 文件及目录处理
  4. 会话控制
  5. 面向对象
  6. 网络协议
  7. 开发环境相关

二、Javascript、jQuery、ajax基础知识

三、Linux基础知识

四、MySQL基础知识

  1. MySQL基础知识
  2. MySQL如何创建高性能索引
  3. MySQL的sql语句的编写和优化
  4. MySQL的高可扩展和高可用性及安全性

五、程序设计题

六、PHP框架基础知识

七、常见算法、逻辑思维考察点

  1. 常见数据结构特征
  2. 算法的工作原理
  3. 时间复杂度
  4. 空间复杂度
  5. 其他逻辑算法
  6. PHP内置函数实现

八、高并发解决方案

  1. 如何理解高并发
  • PV
  • UV
  • QPS
  1. 优化时机——QPS阶段性优化

  2. 优化案例

  • 防盗链
  • 减少HTTP请求
  • 浏览器缓存
  • CDN
  • 数据库缓存(memcache、nosql)
  • MySQL读写分离
  • 分区以及分库分表
  • LVS负载

常见经典面试题

  1. 什么是引用变量?在PHP中用什么符号定义引用变量?
  2. 要求写出jQuery中可以处理ajax的几种方法。
  3. 写出尽可能多的Linux命令。
  4. 写出三种以上MySQL数据库存储引擎的名称。
  5. 编写一个在线留言本,实现用户的在线留言功能。
  6. 谈谈你对mvc的认识,介绍几种目前比较流行的mvc框架。
  7. 请写出常见的排序算法。
  8. PHP如何解决网站大流量与高并发的问题?
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 12,407评论 5 115
  • 1.认识php php是服务端嵌入到HTML中的脚本语言。php的功能包括但不限于: 收集表单数据 生成动态网页 ...
    楠哥哥_0b86阅读 4,369评论 3 1
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,339评论 0 10
  • 一、php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语...
    空谷悠阅读 8,403评论 4 97
  • 【2019年第1本】 说到"教练”,容易联想到各种体育项目。 这项技术来源于一个网球教练,他偶然发现:肯定一个人的...
    梨子莹阅读 2,425评论 0 0

友情链接更多精彩内容