腾讯互动娱乐事业群php开发工程师二面

  1. 如何追踪bug,线上遇到一个bug,没找到原因也很难复现,怎么处理
  2. 给你两个路径a和b,写一个算法或思路计算a和b差距几层并显示a和b的交集?
  3. php常用的缓存技术有哪些?
  4. 如何只使用(传输层)TCP/IP协议,传输数据?
  5. MyISAM 和 InnoDB 的基本区别?
  6. 如果多个人管理员要同时修改博客,那么用乐观锁和悲观锁如何解决?
  7. 简单比较TCP/UDP协议的异同,对于PHP的Socket扩展与Stream扩展,试比较两者基于TCP/UDP协议的SOCKET编程差异?
  8. 写出使用header函数跳转页面的语句
  9. PDO、adoDB、PHPLib 数据库抽象层比较
  10. 从你的经验方面谈一下如何构建高性能web站点? 需要哪些环节? 步骤? 每个步骤需要注意什么如何优化等?
  11. php输出图片需要什么?该功能如果包含缓存,需要什么?
  12. 写出SQL查询,A表id,a,b,c字段与B表id,a_id,d,e,f字段关联查询
  13. 合并两个数组有几种方式,试比较它们的异同
  14. 进程间通信方式
  15. 数据库分库分表需要怎样来实现?
  16. 抓取远程图片到本地,你会用什么函数?
  17. 在Smarty模板语法中怎么能遍历数组ids
  18. 预定义变量、魔术变量、魔术方法比较,及作用举例

编程题

索引从0开始长度为N的数组A,包含0到N - 1的所有整数。找到最大的集合S并返回其大小,其中 S[i] = {A[i], A[A[i]], A[A[A[i]]], ... }且遵守以下的规则。

假设选择索引为i的元素A[i]为S的第一个元素,S的下一个元素应该是A[A[i]],之后是A[A[A[i]]]... 以此类推,不断添加直到S出现重复的元素。

  • 示例 1: ``` 输入: A = [5,4,0,3,1,6,2] 输出: 4 解释: A[0] = 5, A[1] = 4, A[2] = 0, A[3] = 3, A[4] = 1, A[5] = 6, A[6] = 2.

其中一种最长的 S[K]: S[0] = {A[0], A[5], A[6], A[2]} = {5, 6, 2, 0}


- 示例 2:

- 示例 3:

- 示例 4: