头条PHP面试题及详细答案.docxVIP

  • 2
  • 0
  • 约1.42万字
  • 约 16页
  • 2026-06-15 发布于河北
  • 举报

头条PHP面试题及详细答案

一、基础必考题(头条高频,侧重基础扎实度)

1.请说说PHP中值传递和引用传递的区别,结合实际场景说明什么时候用引用传递?

答案:

核心区别:值传递是复制变量的值创建一个新变量,两个变量互不影响;引用传递是给原变量起一个“别名”,两个变量指向同一个内存地址,修改其中一个,另一个会同步变化(用符号实现)。

实际场景:

1.值传递:适用于简单变量(int、string、bool),比如函数接收参数做只读操作,比如计算两个数的和,无需修改原变量,用值传递更安全,避免意外修改原数据。

2.引用传递:①当传递大数组/对象时,值传递会复制整个数据,消耗内存,引用传递仅传递内存地址,提升性能(头条业务中常处理大量用户数据、日志数据,这种场景常用);②当需要在函数内部修改原变量的值时,比如函数实现“数组去重并修改原数组”,用引用传递可以直接操作原数据,无需返回后重新赋值。

注意:对象默认是“传引用”(本质是传对象的引用地址,不是变量引用),但如果给对象变量重新赋值(比如$obj=newOtherClass()),不会影响原对象,这一点容易踩坑。

2.PHP的垃圾回收机制(GC)原理是什么?头条业务中如何避免内存泄漏?

答案:

PHP垃圾回收机制核心:基于“引用计数”,辅助“循环引用检测”(PHP5.3+引入)。

1.引用计数:每个变量都有一个

文档评论(0)

1亿VIP精品文档

相关文档