标题
- 面试岗位
-
- 1. udp 和 tcp 的区别
- 2. http 相比于 https 有什么区别?
- 3. cpu 调度原理
- 4. 线程和进程的区别
- 5. 非关系型数据库和关系型数据库的区别?
- 6. 非关系型数据库和关系型数据库各自的应用场景?
- 7. mysql 中有哪几种锁
- 8. 现在有个压测的场景,qps怎么压都压不上去,服务端cpu才70%左右,可能是什么问题?
- 9. 什么是cgi协议?
- 10. php zend引擎的生命周期?
- 11. 假设一个场景,php 创建一个mysql 链接,一个业务请求结束,变量都会被销毁?这么避免这种频繁创建的场景?
- 12. php 这么实现连接池?
- 13. php 里面有个函数叫ob_start 这个函数是用来做什么的?
- 14. 聊聊redis 实现一个互斥锁?
- 15. setnx 的机制?
- 16. setnx 解锁失败的问题这么处理?
- 17. 线上提供服务的redis 有个特别大的key ,他能直接删除吗
- 18. 如果检测到线上redis 的cpu 比较高需要怎么处理?
- 19. 怎么找到redis 访问量最高的key ?
- 20. 在单核机器上 运行一个多线程的程序,需要考虑加锁的问题吗?
- 21. redis 有个exist命令,这个命令的时间复杂度是多少?
- 22. 字典表会出现hash 冲突吗?
- 23. rehash 会阻塞主线执行吗?
- 24. 假如有个接口,需要频繁访问redis 的key ,之前的代码是通过for循环50次 访问redis 来获取,有什么优化空间?
- 25. 什么是覆盖索引?
- 26. 时间复杂度最好的,均匀洗牌算法?
- 小结
面试岗位
我的世界 --php开发工程师
1. udp 和 tcp 的区别
- tcp 是可靠的有链接的传输层协议 , udp 是无连接的
- tcp 三次握手四次握手
2. http 相比于 https 有什么区别?
3. cpu 调度原理
4. 线程和进程的区别
5. 非关系型数据库和关系型数据库的区别?
6. 非关系型数据库和关系型数据库各自的应用场景?
7. mysql 中有哪几种锁
有不同的分类方法:读写锁(排他,共享锁)
根据锁粒度:表锁,行锁,间隙锁
然后引出mvcc,mvcc 可以看成是一个特殊的行锁
8. 现在有个压测的场景,qps怎么压都压不上去,服务端cpu才70%左右,可能是什么问题?
- 有可能是发压机的问题,发压机起的线程数不够多,导致压不上去
- 如果单从业务上来说的话,php 有个最大进程数的设置,还有进程最大生命周期,可能是这两个值设置的有问题