Skip to content

PHP 语言篇 ​

L1 初级 ​

频率题目
高PHP 8.0 的 match 表达式与 switch 有什么区别?
高PHP 8.0 的 nullsafe 运算符(?->)是什么?与 ?? 有何区别?
高PHP 中 == 和 === 的区别是什么
高PHP 中引用传递与值传递的区别
高PHP 索引数组与关联数组的区别及常见操作
高PHP 浮点数精度问题是什么?如何用 bcmath 解决?
高declare(strict_types=1) 的作用是什么?严格模式与强制模式有何区别?
高isset() 与 empty() 有什么区别
中PHP 8.0 的命名参数(Named Arguments)是什么?有哪些使用场景?
中PHP 动态语言特性与静态语言的区别
中PHP 单引号与双引号字符串的区别
中PHP 类型强转有哪些方式?各种类型互转的规则是什么?
中PHP 的 never 返回类型表示什么?与 void 有何区别?
中PHP 的 union types(PHP 8.0)与交集类型(PHP 8.1)有何区别?各自有哪些使用约束?

L2 中级 ​

频率题目
高Composer 自动加载机制与 PSR-4 规范
高PHP 中 Error 与 Exception 的区别及异常处理最佳实践
高PHP 命名空间的解析规则与别名机制
高SOLID 设计原则是什么?各原则的核心意图是什么?
高PHP 中 Trait 的作用与冲突解决机制
高什么是依赖注入?它解决了什么问题?
高抽象类与接口的区别及使用场景
高PHP 魔术方法是什么?__get/__set/__call 各适用于哪些场景?
中Late Static Binding 是什么及 static:: 与 self:: 的区别
中PHP 多范式编程与场景选型

L3 高级 ​

频率题目
高OPcache 编译缓存的工作原理是什么?
高PHP 的垃圾回收机制是如何工作的
中Fiber 与 Generator 有栈协程与无栈协程的本质区别
中Fiber 与 Swoole 协程的能力边界对比
中PHP JIT 是什么?Tracing 与 Function 两种模式有何区别?
中PHP 请求生命周期的四个阶段
中WeakReference 与 WeakMap 如何避免引用计数陷阱?
中PHP zval 内部结构是什么?写时复制(COW)机制如何工作?

基于 Apache License 2.0 开源