饿了么php工程师现场面试

  1. Type字段有1.2.3.4四个值,共500万条数据加索引的话会使用吗?
  2. Php 在进行数据库交互中如何防止sql注入
  3. redis与memcached对比,各自优缺点,redis与memcached如何实现分布式搭建?
  4. 请列举、你能想到的所有的字符串查找算法,并加注释简单说明。
  5. 数据库中一行记录大小10K,一个表只有主键索引,可以存多少条数据
  6. 写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉)
  7. 如何修改 SESSION 的生存时间?
  8. PHP7的新特性?
  9. 描述一下大流量高并发网站的解决方案。
  10. 负载均衡有接触过哪些开源框架,优劣势是什么?
  11. heredoc结构及用法
  12. linux的分段有了解吗?
  13. 说说redis的缓存失效策略和主键失效机制
  14. epoll的常用模式是哪两种?区别是什么?
  15. Redis 加锁方案?Zookeeper 加锁方案?各有什么优缺点?
  16. 简述 PHP 中自定义 class 的生命周期。
  17. join和left join 写个sql,结果有什么不一样?
  18. 如何提高缓存命中率? 如何对缓存进行颗粒化?

编程题

  • 给你一个 m x n 的矩阵 board ,由若干字符 'X' 和 'O' ,找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。

示例 1:

输入:board = [["X","X","X","X"],["X","O","O","X"],["X","X","O","X"],["X","O","X","X"]]
输出:[["X","X","X","X"],["X","X","X","X"],["X","X","X","X"],["X","O","X","X"]]
解释:被围绕的区间不会存在于边界上,换句话说,任何边界上的 'O' 都不会被填充为 'X'。 任何不在边界上,或不与边界上的 'O' 相连的 'O' 最终都会被填充为 'X'。如果两个元素在水平或垂直方向相邻,则称它们是“相连”的。

示例 2:

输入:board = [["X"]]
输出:[["X"]]