金山云php开发工程师线上面经

  1. 简单说一下socket 连接步骤
  2. 优先级队列如何实现?
  3. 一个安全的用户登录系统需要注意注意哪些方面?
  4. 如果有的工程师今天预定任务没有完成,你该如何解决?
  5. 数据库端的常用优化策略?
  6. 子类重写父类的protected方法有什么限制?
  7. PHP定界符如何使用?
  8. pHp5中魔术方法函数有哪几个,请举例说明各自的用法
  9. 写一个方法获取文件的扩展名
  10. 有个鸡圈,有一只公鸡,一只母鸡,母鸡每天生一个蛋,鸡蛋一个星期后生小鸡,小鸡半年后能生蛋,请问一年后能得多少蛋?
  11. 如果需要原样输出用户输入的内容,在数据入库前,要用哪个函数处理?
  12. 写出、你能想到的所有HTTP返回状态值,并说明用途(比如:返回404表示找不到页面)
  13. 一个函数的参数不能是对变量的引用?
  14. chrome号称为多线程的,所以多线程和多进程的区别为?
  15. 在当前目录下,如何查找包含keyword文件?
  16. 写出将一个数组里的空值去掉的语句
  17. 缓存的实现原理,设计缓存要注意什么?
  18. 有一个网页地址,比如教育在线主页:http://www.eol.cn/index.html,如何得到它的内容
  19. 数组内置的排序方法有哪些?
  20. 为什么用swoole?swoole的优势是什么?

编程题

  • 给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。
  • 返回被除数 dividend 除以除数 divisor 得到的商
  • 整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2

示例 1:

输入: dividend = 10, divisor = 3
输出: 3
解释: 10/3 = truncate(3.33333..) = truncate(3) = 3

示例 2:

输入: dividend = 7, divisor = -3
输出: -2
解释: 7/-3 = truncate(-2.33333..) = -2