4399服务端开发工程师现场面经

  1. 大数据量高并发、吞吐网站的设计(画示意图配合文字说明)
  2. PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode文字的字符串大小写转换
  3. Redis hash的实现
  4. Redis有哪些结构时间复杂度较高
  5. 如果多个人管理员要同时修改博客,那么用乐观锁和悲观锁如何解决?
  6. arp协议和rarp协议,说下arp劫持
  7. 你说你熟悉并发编程,那么你说说Redis锁有哪些种类,以及区别
  8. PHP是否适合做守护进程,为什么(内存管理这一块)
  9. 数组内置的排序方法有哪些?
  10. 联合索引的(a,b,c)中,a和b谁在前谁在后有什么讲究吗?
  11. 滑动窗口是为了解决什么问题?如何实现?
  12. 为什么用b+树做索引,io次数少?
  13. 如何保存会话状态,有哪些方式、区别如何
  14. PHP中如何判断一个字符串是否是合法的日期模式:2007-03-13 13:13:13。要求代码不超过5行
  15. 请说明 PHP 中传传值与传引用的区别。什么时候传值什么时候传引用?优缺点。
  16. 如果在进度排满的前提下插入任务,你该如何保证总进度不延期?
  17. 对于System-V消息队列,如何解决系统本身对于消息队列条数、总容量(字节数)的限制?如何设置消息的优先级别?请比较阻塞模式和非阻塞模式的异同,并说明如何避免非阻塞模式下的消息队列堵塞?
  18. 数据库设计时,一般多少数据量开始分表? 分库? 分库分表的目的? 什么是数据库垂直拆分? 水平拆分? 分区等等?可以举例说明
  19. 请写出PHP5的构造函数和析构函数,构造函数和析构函数可以接受参数吗?
  20. 假如你现在是12306火车订票的设计师,你该如何设计满足全国人民订票?
  21. MYSQL优化方案有哪些?

编程题

  • 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。
  • 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。

    注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。

示例 1:

输入:x = 4
输出:2

示例 2:

输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。