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

viphper發表於2020-03-29

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

一、使用PHP語言自定義一個函式,此函式作用是將一個句子按單詞反序。例如”One World One Dream”,反序後變為 “Dream One World One”。

function get_rev($str){
        $arr=explode(‘ ’,$str);
        for($i=count($arr)-1;$i>=0;$i--){
            $res.=$arr[$i]. ;
}
return $res;
}

二、兩條查詢語句,一條是Select * from table1 where id>10 and id<100

一條是Select * from table2 where id>200 and id<500
請嘗試只寫一條SQL語句,完成相應的查詢任務。

Select * from table1 as t1,table2 as t2 where t1.id>10 and t1.id<100 and t2.id>200 and t2.id<500;

三:有兩個檔案,一大一小,其中之一有8,000,000個電話號碼,另一個檔案有500個電話號碼,請說明一種方法找出重複的電話號碼。

1、讀取檔案裡的內容,以某字元作為分割標誌(使用explode()函式),分隔800000的字串,然後用500個電話號碼作為值,作為判斷條件(使用in_array()函式)判斷,是否存在於其中,存在則拿出

2、要是效率的話,使用hash演算法

3、array_intersect()效果更佳

四、有一夥海盜,俘虜了三個漁民A、B、C。海盜船長決定殺他們之前給他們一次機會。他當漁民的面拿出三頂黑帽子,兩頂白帽子,然後給這三個可憐人各戴一頂,分別問他們頭上帽子的顏色。

每個漁民只能看到另外兩個漁民帽子的顏色,看不到自己的,而且他們不能通訊,不能討論,如果猜對了,放一條生路,否則立即處死。
船長先問漁民A,結果漁民A猜錯了,被殺死了。船長又問漁民B,結果還是猜錯了,同樣被殺死了。海盜船長再問漁民C時,結果漁民C猜對被釋放了。
考慮到船長及A、B、C都很聰明,問為什麼漁民C一定能猜中?

答案:偶不會,會的留言說一下答案吧!

五、請用正規表示式寫一個函式,驗證電子郵件的格式是否正確。

    function get_url($email){
        if(preg_match('/^([0-9a-zA-Z_]+)*\w+@(\w)+\.com|\.cn$/ims',$email)){
    echo 2;
    }
  }

六、列舉流行的Ajax框架?(每個1分)說明Ajax實現原理是什麼及Json在Ajax中起什麼作用?

jQuery extjs

原理:通過XMLHttpRequest建立物件,根據客戶端的請求,傳遞到伺服器端進行資料處理,然後接收伺服器端返回來的資料

以json格式組裝從伺服器端返回來的資料

七、我們常可以看到,一些商場買200元的商品可以返100元優惠券(可在本商場代替現金)。請問實際上商品的折扣是多少?

如果買完200元的商品 不用優惠券 折扣沒有,多了1張100元優惠券
如果買完200員的商品 使用優惠券(將這個100員優惠券又去買完了商品) 相當於200元的現金 買來了 300員的商品 200/300=66%

八、我們希望開發一款撲克遊戲,請給出一套洗牌演算法,公平的洗牌並將洗好的牌儲存在一個整形陣列裡。

$a=54;
for($i=1;$i<=$a;$i++){
    $str[$i]=$i;
}
for($i=1;$i<=$a;$i++){
    $t=rand(0,$a-$i);
    $s[$i]=$str[$t];
    unset($str[$t]);
    $str=array_values($str);
}
echo '<pre>';
print_r($s);

九、我們希望開發一個門戶系統,資料儲存採用MySQL,使用者數量為1000萬,預計文章總數為10億,日更新量至少為10萬,日訪問量為5000萬,對資料庫的讀寫操作比例超過10:1,你如何設計該系統,以確保其高效,穩定的執行?

(提示:可以從資料庫設計,系統框架及網路架構方面進行描述,自由發揮)

網路
DNS輪循
Nginx主 從伺服器(2臺以上 用於負載均衡)
叢集伺服器->PHP分發器(根據隨機數對應ip連線資料庫)
資料庫叢集(多臺以上)
資料庫(2臺以上)互為主從

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

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

和PHP學習網一起努力學習

相關文章