Skip to content

PHP 语言篇

L1 初级

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

L2 中级

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

L3 高级

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

基于 Apache License 2.0 开源