PHP面试总结如何撰写更全面?
- 内容介绍
- 文章标签
- 相关推荐
本文共计554个文字,预计阅读时间需要3分钟。
1. `awk` 的重定向命令。+ 使用 `awk '!'a[$0]++' filename 2.php-cgi`,`php-fpm`,`fastcgi` 的区别?+cgi 是一种协议,fastcgi 也是一种协议。fastcgi 是在 cgi 基础上进行的优化,针对 `php-cgi` 对 webserver 提供的 cgi 协议进行了接口优化。+ `php-fpm` 是 php 对 webserver 提供的 “接口。”
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节点,如果没有,则回源查找。
本文共计554个文字,预计阅读时间需要3分钟。
1. `awk` 的重定向命令。+ 使用 `awk '!'a[$0]++' filename 2.php-cgi`,`php-fpm`,`fastcgi` 的区别?+cgi 是一种协议,fastcgi 也是一种协议。fastcgi 是在 cgi 基础上进行的优化,针对 `php-cgi` 对 webserver 提供的 cgi 协议进行了接口优化。+ `php-fpm` 是 php 对 webserver 提供的 “接口。”
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节点,如果没有,则回源查找。

