程式設計師找工作必備 PHP 基礎面試題 - 第二十天

viphper發表於2020-04-03

“PHP學習網” 公眾號會每天分享一些面試題,正在找工作的小夥伴們可以來看看哦。

一、寫出你認為語言中的高階函式(其實就是寫熟悉的函式)

array_pop():彈出陣列的最後一個元素

explode():按特點符號,分隔字串,返回陣列

implode();按特點符號,連線陣列成為字串

substr();取出字串中的一部分

strrpos();獲得字元出現的最後的個位置

二、簡述Cookie的設定及獲取過程

設定cookie setCookie(‘名字’,’值’,時間,’位置’)

獲取cookie COOKIE[‘名字’]

三、物件導向中介面和抽象類的區別及應用場景

抽象類:

1 //1.定義一些方法,子類必須完全實現這個抽象中所有的方法

2 //2.不能從抽象類建立物件,它的意義在於被擴充套件

3 //3.抽象類通常具有抽象方法,方法中沒有大括號

4 //4.抽象方法不必實現具體的功能,由子類來完成

5 //5.在子類實現抽象類的方法時,其子類的可見性必須大於或等於抽象方法的定義

6 //6.抽象類的方法可以有引數,也可以為空

7 //7.如果抽象方法有引數,那麼子類的實現也必須有相同的引數個數

介面:

1 //如果要使用介面,必須定義介面類中的所以方法少一個都不可以(abstract除外)。

2 //這樣如果在一個大專案中不管別人怎麼去做下面的方法,但是他必須實現本介面中的所有方法才可以!

四、用物件導向來實現A物件繼承B和C物件

Class C{

}
Class B extends C{

}
Class A extends B{

}

五、寫一個函式Check_ip,使用正規表示式檢測一個IPV4的IP是否正確,正確返回1,錯誤返回0,例如 Check_ip(‘127.0.01’)。

function get_preg($ip){
    if(preg_match('/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/ims',$ip)){
        return 1;
    }else{
        return 0;
}

六、有一陣列 $a=array(4,3,8,9,2); 寫一個排序函式對陣列進行排序操作,要求使用快速排序法.快速排序的基本思想是:在待排序記錄序列中,任取其中的一個記錄(這裡取了第一個)並以該記錄的關鍵字作為基準,經過一趟排序後,所有關鍵字比它小的記錄都交換到它的左邊,比它大的記錄都交換到它的右邊.然後再分別對劃分到它左,右兩部分記錄序列重複上述過程,直至每一部分最終劃分為一個記錄時為止即完成了排序工作.

function quick($arr)
{
        $left=array();
        $right=array();
        if(count($arr)<=1)
    {
            return $arr;
        }
        for($i=1;$i<count($arr);$i++){
            if($arr[0]>$arr[$i]){
                $left[]=$arr[$i];
            }else{
                $right[]=$arr[$i];
            }
        }
        $left1=quick($left);
        $right1=quick($right);
        return array_merge($left1,array($arr[0]),$right1);
}

七、在開發專案中,需要上傳超過8M的檔案,請說明在php.ini需要修改的配置項。

Post_max_size=8M

Upload_max_filesize=8M

最後各位可以掃下方二維碼關注我公眾號,目前我正在更新基礎面試題,之後會更新中高階、redis、liunx面試題

本作品採用《CC 協議》,轉載必須註明作者和本文連結

和PHP學習網一起努力學習

相關文章