标签:
一次小小的笔试面试经历,虽然是一些简单的问题,但是自己在这儿总结一下,也查一些资料,得出一些较好的答案,也能帮助自己成长。
1.自己熟悉的http状态码及其意义
其实这个题答案随处可见。这儿也还是记录一下我们常见的http状态码
200:请求返回的状态正常。
301:url永久性重定向。
302:url暂时性重定向。
400:错误请求。
401:未授权访问。
403:禁止访问。
404:未找到
500:服务器错误。
502:bad gateway.错误网关。
504:Gateway Timeout,网关超时。
想了解详细的http状态码内容,请参考http状态码。
2.include与require的区别以及include_once、require_once
require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。
为了防止出现重复引入文件,选择使用include_once()、require_once()
3.php 垃圾回收机制
php 5.3之前使用的垃圾回收机制是单纯的“引用计数”,也就是每个内存对象都分配一个计数器,当内存对象被变量引用时,计数器 1;当变量引用撤掉后,计数器-1;当计数器=0时,表明内存对象没有被使用,该内存对象则进行销毁,垃圾回收完成。
“引用计数”存在问题,就是当两个或多个对象互相引用形成环状后,内存对象的计数器则不会消减为0;这时候,这一组内存对象已经没用了,但是不能回收,从而导致内存泄露;
php5.3开始,使用了新的垃圾回收机制,在引用计数基础上,实现了一种复杂的算法,来检测内存对象中引用环的存在,以避免内存泄露。
详细可参考 PHP垃圾回收机制 ,了解详细解释。
4.php 常用魔术方法与魔术常量
1). 魔术方法:
5.传值与传引用
传值:是把实参的值赋值给行参 ,那么对行参的修改,不会影响实参的值
传引用 :真正的以地址的方式传递参数传递以后,行参和实参都是同一个对象,只是他们名字不同而已对行参的修改将影响实参的值
6.斐波那契数列递归
1 <?php 2 function test($n){ 3 if($n>2){ 4 $array[$n-1] = test($n-1); 5 $array[$n-2] = test($n-2); 6 $array[$n] = $array[$n-1] + $array[$n-2]; 7 return $array[$n]; 8 }elseif ($n==2) { 9 return 1; 10 }elseif ($n==1) { 11 return 1; 12 } 13 }
标签:
原文地址:http://www.cnblogs.com/lingshao/p/5572652.html