zoukankan      html  css  js  c++  java
  • php 笔试面试 总结

    一次小小的笔试面试经历,虽然是一些简单的问题,但是自己在这儿总结一下,也查一些资料,得出一些较好的答案,也能帮助自己成长。

    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.传值与传引用

       传值:是把实参的值赋值给行参 ,那么对行参的修改,不会影响实参的值 
       传引用 :真正的以地址的方式传递参数传递以后,行参和实参都是同一个对象,只是他们名字不同而已对行参的修改将影响实参的值 

      优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。

          按引用传递则不需要复制值,对于性能提高很有好处。

    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 }
  • 相关阅读:
    String常用方法
    测试
    mongo aggregate group, group使用
    jquery ajax封装添加默认错误提示
    js时间格式化
    本地项目导入远程git仓库
    java设计模式:适配器模式
    mysql if示例
    hibernate指定查询字段
    js window resize延时
  • 原文地址:https://www.cnblogs.com/lingshao/p/5572652.html
Copyright © 2011-2022 走看看