PHP面试总结

简介: PHP面试总结

1.awk的去重命令。

awk '!a[$0]++' filename

2.php-cgi,php-fpm,fastcgi的区别?

cgi一种协议

fastcgi也是一种协议,是在cgi上做了优化

php-cgi php对webserver提供的cgi协议的接口

php-fpm php对webserver提供的fastcgi协议的接口

3.Nginx如何处理请求和为什么高效。

client发送请求,worker会获取锁,获取到锁的worker进程继续处理请求,避免发生惊群现象。请求如果遇到阻塞,则挂起,worker继续等待接受下一个请求或者等待阻塞的回调。此处用到的是epoll事件模型,如果有新请求或者阻塞回调了,通知worker,继续往下执行,实现高并发。

4.进程和线程

进程是计算机资源分配到最小单位,线程是计算机调度的最小单位。

进程间通信靠TPC/IP端口,线程间通信靠共享内存。

进程切换设计虚拟内存的切换,线程切换则共享所在进程的虚拟内存。线程切换需要在内核空间才可以完成,所以涉及到内核空间和用户空间的转换,协程切换只需要在用户态即可。

5.虚拟内存

为了防止物理内存不够,所以设置了虚拟内存。

物理内存会根据最近经常使用的算法,将不经常使用的文件交换到内存里。

6.php缓存机制,垃圾回收机制

php会预先申请一大块内存,释放的时候也不是把内存回到系统,而是自己维护了起来。

当预先申请的内存不够时,php会继续申请扩容,当释放时掉这些变量后,内存不会恢复到初始值,是因为少的内存被符号表占去了。

refcount(指向该值的变量数量)等于0时,当作垃圾回收。

7.cdn原理。

浏览器访问cdn服务器,返回对应的ip。浏览器继续访问该ip节点,如果没有,则回源查找。



目录
相关文章
|
8月前
|
PHP Python
最新【Python】 实现循环最快的方式_python while循环加速,2024年最新阿里php面试题
最新【Python】 实现循环最快的方式_python while循环加速,2024年最新阿里php面试题
|
4月前
|
算法 程序员 Go
PHP 程序员学会了 Go 语言就能唬住面试官吗?
【9月更文挑战第8天】学会Go语言可提升PHP程序员的面试印象,但不足以 solely “唬住” 面试官。学习新语言能展现学习能力、拓宽技术视野,并增加就业机会。然而,实际项目经验、深入理解语言特性和综合能力更为关键。全面展示这些方面才能真正提升面试成功率。
66 10
|
设计模式 算法 关系型数据库
|
8月前
|
PHP
PHP 面试常见对比
PHP 面试常见对比
47 0
|
前端开发 NoSQL PHP
PHP面试题
权限管理(RBAC)的实现?
102 0
|
负载均衡 Linux 应用服务中间件
Linux下各种锁地理解和使用以及总结解决一下epoll惊群问题(面试常考)
Linux下各种锁地理解和使用以及总结解决一下epoll惊群问题(面试常考)
Linux下各种锁地理解和使用以及总结解决一下epoll惊群问题(面试常考)
|
XML SQL 存储
PHP面试题大全
PHP面试题大全
335 0
下一篇
开通oss服务