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

2019-01-26  本文已影响18人  少年不要动
  • 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

三大数据类型:标量、复合类型、特殊类型

超全局数组 $GLOBALS$_GET$_POST$_REQUEST$_SESSION$_COOKIE$_SERVER$_FILES$_ENV

常量定义

<?php
//const是语言结构,速度快,可定义类常量
const NAME  = '张三';
//define是函数
define('AGE',18);

预定义常量:
__FILE__,__LINE__,__DIR__,__FUNCTION__,__CLASS__,__TRAIT__,__METHOD__,__NAMESPACE__

  1. 运算符及流程控制

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

运算符优先级

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

建议使用()增加可读性

短路作用

<?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如何解决网站大流量与高并发的问题?
上一篇 下一篇

猜你喜欢

热点阅读