结合实际PHP面试,以及网上其他人遇到的问题,尝试提供简洁准确的答案
- isset和empty的区别
- 单引号和双引号的区别
- error_reporting的作用
- include和requirer的区别
- php中的sql防注入
- 常见数组函数
- 什么是面向对象
- 对象的主要特征包括
- php怎么实现静态化
- 常见的设计模式
- MySQL、MySQLi、PDO的区别
- 链式调用实现
- 异常处理
- CSRF和XSS攻击分别是什么
- 抽象类和接口分别是什么
- 谈谈对设计模式的了解
- 谈谈对微服务的理解
- 说说垃圾回收机制
- 高并发解决方案
- 什么是时序攻击
- 面相对象的三大特性和五项原则
- TCP与UDP的区别
- PHP5和PHP7的区别
- PHP-FPM的两种模式
- PHP数组底层结构
- HTTPS加密位置
- SSL加密过程
- 魔术方法有哪些
- PHP读取大文件
- SESSION与COOKIE的区别
- HTTP状态中302、403、500代码含义
- PHP中传值与传引用的区别
- foo()和@foo()之间有什么区别
- 简述php的垃圾收集机制
- echo、print_r、print、var_dump区别
- AJAX的优势是什么
- PHP如何实现页面跳转
- 如何把一个GB2312格式的字符串装换成UTF-8格式
- 对json数据格式的理解
- 简述private、protected、public修饰符的访问权限
- 堆和栈的区别
- $this和self、parent这三个关键词分别
- __autoload()方法的工作原理是什么
- 简述高并发网站解决方案
- 串行、并行、并发的区别
- http状态码
- 延迟队列怎么实现
- composer的工作原理
- 使用composer创建并部署一个PHP包
- composer的自动加载机制是如何实现的
- 如何解决composer依赖冲突的问题
- composer中的require和require-dev有什么区别
- 如何优化composer的加载速度
- composer的全局安装和局部安装有什么区别
- composer的命令行常用命令及其作用
- MyISAM和InnoDB的区别
- 索引结构(解释B+树)
- 悲观锁和乐观锁
- select执行过程
- 事务隔离级别
- 索引回表
- 索引失效
- 分库分表
- 读写分离
- PG和Mysql的区别
- MySQL相对于PostgreSQL的优势
- explain用到那些信息
- PG和Mysql的区别
- 数据类型(int、char、varchar、datetime、text)分别的什么
- varchar和char的区别
- 主键、外键和索引的区别
- MySQL多表联合查询
- 常用的数据类型有哪些
- 常用命令有哪些
- 应用场景
- 数据过期策略
- 内存淘汰机制
- 事务机制
- 缓存击穿
- 缓存穿透
- 缓存雪崩
- 分布式锁
- 集群
- 持久化
- rdb优点和缺点
- AOF优点和缺点
- redis字符串类型底层实现
- 保证Redis缓存和数据库数据的一致性
- 对加班怎么看
- 请自我介绍一下
- 你还有什么问题想问我吗
- 说一下你的优点和缺点吧
- 给我选择你的理由
- 你的职业规划是什么
- 上家公司离职的原因是什么
- 工作遇到的最大困难以及解决方法是什么
- 工作中觉得最有成就感事是什么
fork 当前库到你的名下
在你的本地修改完成审阅过后提交到你的仓库
提交 PR 并描述你的修改,等待合并
MIT license