美团php工程师一面面经

  1. Redis Cluster?其他开源集群方案?
  2. Php 实现有序数组中二分查找某个元素
  3. epoll的常用模式是哪两种?区别是什么?
  4. AOP了解吗?你会如何去使用AOP,你编写代码的时候还会去考虑哪些设计思想?
  5. 死锁有什么现象,数据库死锁如何解决?
  6. 如果有很大的数据,你需要把他读取出来,进行数据清理,然后展示到前端去,如果这个系统交给你去设计,那么你会分成哪几个部分去设计他
  7. 如果有一个登陆请求,特别慢,怎么排查
  8. 简单说一下socket 连接步骤
  9. 写一段shell脚本实现备份mysql指定库(如test)到指定文件夹并打包,并删除30天前的备份,然后将新的备份推送到远端服务器,完成后送邮件通知。
  10. 现在编程中经常采取MVC三层结构,请问MVC分别指哪三层,有什么优点?
  11. 为什么会出现僵死进程(孤儿进程)?怎样查看僵死进程?如何解决僵死进程问题?
  12. 并发修改数据库并回写Redis 如何保证数据一致性?
  13. 假如让你来写一个函数实现Utf-8转gb2312,那么函数的名称应该怎么命名?
  14. 试阐述Memcache的key多节点分布的算法?当任一节点出现故障时PHP的Memcache客户端将如何处置?如何确保Memcache数据读写操作的原子性?
  15. 看你对 MySQL 掌握的很熟练,说说 MySQL 的隔离级别
  16. 一个php文件的解释过程是? 一般加速php有哪些? 提高php整体性能会用到哪些技术?
  17. 在程序的开发中,如何提高程序的运行效率?
  18. 事务的四个特性?事务的隔离级别?讲讲MySQL 的事务隔离?RR解决了什么问题?
  19. 请设计一个数据结构可以实现无限级子菜单的树型菜单功能并提供菜单生成算法,用UML描述设计并写出相关PHP代码
  20. 一致性hash原理是什么?
  21. php常用的缓存技术有哪些?
  22. MySQL的索引,为什么是B+而不是平衡二叉树

编程题

  • 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。
  • 你可以按 任何顺序 返回答案。

示例 1:

输入:n = 4, k = 2
输出:
[
  [2,4],
  [3,4],
  [2,3],
  [1,2],
  [1,3],
  [1,4],
]

示例 2:

输入:n = 1, k = 1
输出:[[1]]