PHP面试知识点
发布于 2021-09-04 14:32 ,所属分类:软件编程学习资料
这些是 PHP 面试经常被问到的知识点做汇总。仅是针对性指出知识点,相应的还需自己查找相关资料系统学习。我希望各位能不仅仅了解是什么,还要了解为什么,以及背后的原理。
如果你现在处于以下几种状态,本资料非常适合你:
准备换工作,不知道从哪开始准备
技术遇到瓶颈,不知道该学什么
准备学 PHP,但不知道领域有多深
基础篇
了解大部分数组处理函数
字符串处理函数 区别 mb_ 系列函数
& 引用,结合案例分析
== 与 === 区别
isset 与 empty 区别
全部魔术函数理解
static、$this、self 区别
private、protected、public、final 区别
OOP 思想
抽象类、接口 分别使用场景
Trait 是什么东西
echo、print、print_r 区别 (区分出表达式与语句的区别)
__construct 与 __destruct 区别
static 作用(区分类与函数内)手册 、SOF
__toString () 作用
单引号’与双引号” 区别
常见 HTTP 状态码,分别代表什么含义
301 什么意思 404 呢?
进阶篇
实践篇
给定二维数组,根据某个字段排序
如何判断上传文件类型,如:仅允许 jpg 上传
不使用临时变量交换两个变量的值 $a=1; $b=2; => $a=2; $b=1;
strtoupper 在转换中文时存在乱码,你如何解决?php echo strtoupper (‘ab 你好 c’);
Websocket、Long-Polling、Server-Sent Events (SSE) 区别
“Headers already sent” 错误是什么意思,如何避免
算法篇
快速排序(手写)
冒泡排序(手写)
二分查找(了解)
查找算法 KMP(了解)
深度、广度优先搜索(了解)
LRU 缓存淘汰算法(了解,Memcached 采用该算法)
数据结构篇(了解)
堆、栈特性
队列
哈希表
链表
对比篇
Cookie 与 Session 区别
GET 与 POST 区别
include 与 require 区别
include_once 与 require_once 区别
Memcached 与 Redis 区别
MySQL 各个存储引擎、及区别(一定会问 MyISAM 与 Innodb 区别)
HTTP 与 HTTPS 区别
Apache 与 Nginx 区别
define () 与 const 区别
traits 与 interfaces 区别 及 traits 解决了什么痛点?
Git 与 SVN 区别
数据库篇
服务器篇
查看 CPU、内存、时间、系统版本等信息
find 、grep 查找文件
awk 处理文本
查看命令所在目录
自己编译过 PHP 吗?如何打开 readline 功能
如何查看 PHP 进程的内存、CPU 占用
如何给 PHP 增加一个扩展
修改 PHP Session 存储位置、修改 INI 配置参数
负载均衡有哪几种,挑一种你熟悉的说明其原理
数据库主从复制 M-S 是怎么同步的?是推还是拉?会不会不同步?怎么办
如何保障数据的可用性,即使被删库了也能恢复到分钟级别。你会怎么做。
数据库连接过多,超过最大值,如何优化架构。从哪些方便处理?
502 大概什么什么原因?如何排查 504 呢?
架构篇
框架篇
设计模式
单例模式(重点)
工厂模式(重点)
观察者模式(重点)
依赖注入(重点)
装饰器模式
代理模式
组合模式
安全篇
SQL 注入
XSS 与 CSRF
输入过滤
Cookie 安全
禁用 mysql_ 系函数
数据库存储用户密码时,应该是怎么做才安全
验证码 Session 问题
安全的 Session ID (让即使拦截后,也无法模拟使用)
目录权限安全
包含本地与远程文件
文件上传 PHP 脚本
eval 函数执行脚本
disable_functions 关闭高危函数
FPM 独立用户与组,给每个目录特定权限
了解 Hash 与 Encrypt 区别
高阶篇
PHP 数组底层实现 (HashTable + Linked list)
Copy on write 原理,何时 GC
PHP 进程模型,进程通讯方式,进程线程区别
yield 核心原理是什么
PDO prepare 原理
PHP 7 与 PHP 5 有什么区别
Swoole 适用场景,协程实现方式
前端篇
网络篇
IP 地址转 INT
192.168.0.1/16 是什么意思
DNS 主要作用是什么?
IPv4 与 v6 区别
网络编程篇
TCP 三次握手流程
TCP、UDP 区别,分别适用场景
有什么办法能保证 UDP 高可用性 (了解)
TCP 粘包如何解决?
为什么需要心跳?
什么是长连接?
HTTPS 是怎么保证安全的?
流与数据报的区别
进程间通信的几种方式,最快的是哪种?
fork () 会发生什么?
API 篇
RESTful 是什么
如何在不支持 DELETE 请求的浏览器上兼容 DELETE 请求
常见 API 的 APP_ID APP_SECRET 主要作用是什么?阐述下流程
API 请求如何保证数据不被篡改?
JSON 和 JSONP 的区别
数据加密和验签的区别
RSA 是什么
API 版本兼容怎么处理
限流(木桶、令牌桶)
OAuth 2 主要用在哪些场景下
JWT
PHP 中 json_encode ([‘key’=>123]); 与 return json_encode ([]); 区别,会产生什么问题?如何解决
相关资源