商汤科技php工程师一面

  1. 从你的经验方面谈一下如何构建高性能web站点? 需要哪些环节? 步骤? 每个步骤需要注意什么如何优化等?
  2. 观察者模式是如何实现的?工厂模式是如何实现的?适配器模式是如何实现的?
  3. pHp5中魔术方法函数有哪几个,请举例说明各自的用法
  4. 试阐述Memcache的key多节点分布的算法?当任一节点出现故障时PHP的Memcache客户端将如何处置?如何确保Memcache数据读写操作的原子性?
  5. arp协议和rarp协议,说下arp劫持
  6. 假如你是技术组长? 如何提高团队效率?
  7. 为什么要对数据库进行主从分离?
  8. 你采用mysql的引擎是什么. mysql innodb与myisam 这两种引擎本质区别是什么, 要能够从底层数据实现来说.
  9. 一个6位的密码,使用MD5加密,破解需要多久:说的是这样的,因为6位的密码排列组合有一定的种数,然后每一种通过hash函数去破解,需要多久
  10. 如何修改 SESSION 的生存时间?
  11. 如果让你来设计秒杀系统,你的设计思路是什么,为什么要这样设计?
  12. php序列化和反序列化用的函数是什么?
  13. 请写一个正则表达式对下面情况进行匹配:匹配一个金额,要能全部匹配如下四个字符串:"$200.49"、"$1,999.00"、"$99"、"50.00美元"。
  14. mysql_fetch_row() 和mysql_fetch_array之间有什么区别?
  15. 什么是盗链?说主PHP做好防盗链的基本思想
  16. 事务a嵌套事务b,会发生什么?
  17. 什么情况下不宜建立索引?
  18. 写一段脚本实现将nginx的access.log日志中ip按访问量排行
  19. 一个字节占多少bit ? 一个IPv4地址占几个字节? 一个IPv6地址呢?
  20. 对于System-V消息队列,如何解决系统本身对于消息队列条数、总容量(字节数)的限制?如何设置消息的优先级别?请比较阻塞模式和非阻塞模式的异同,并说明如何避免非阻塞模式下的消息队列堵塞?
  21. 网络模型有哪些 分别有哪些协议?
  22. 高并发场景下如何防止死锁,保证数据的一致性?
  23. 请说明在php.ini中safe_mode开启之后对于pHp系统函数的影响
  24. 说说TCP 协议,三次握手、四次挥手,详细一些,握手过程中可能出什么问题?
  25. MYSQL中主键与唯一索引的区别
  26. MySQL数据库中的字段类型varchar和char的主要区别是什么?那种字段的查找效率要高,为什么?

编程题

给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。

回文字符串 是正着读和倒过来读一样的字符串。

子字符串 是字符串中的由连续字符组成的一个序列。

具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。

  • 示例 1:

    输入:s = "abc"
    输出:3
    解释:三个回文子串: "a", "b", "c"
    
  • 示例 2:

    输入:s = "aaa"
    输出:6
    解释:6个回文子串: "a", "a", "a", "aa", "aa", "aaa"