PHP面試題2019年小米工程師面試題及答案解析


一、單選題(共29題,每題5分)

1.PHP面向對象方法重寫描述錯誤的是?

A、子類必須繼承父類

B、子類可以重寫父類已有方法

C、重寫之后子類會調用父類方法

D、子類也可以具有與父類同名的屬性,進行屬性覆蓋

參考答案:C

答案解析:重寫之后子類不會再去調用父類的方法,而是直接調用自身的方法。

 

2.php選項/信息函數作用錯誤的是?

A、phpinfo() 輸出關於 PHP 配置的信息

B、php_sapi_name() 返回 web 服務器和 PHP 之間的接口類型

C、ini_set() 為一個配置選項設置值

D、ini_get() 獲取所有配置選項

參考答案:D

答案解析:ini\_get() 是獲取一個配置選項,獲取所有配置選項的函數是ini\_get\_all()。

 

3.下列說法錯誤的是:

A、鏈表分為單向鏈表,雙向鏈表,循環鏈表

B、棧 先進后出

C、隊列 先進先出,可以從頭部插入

D、隊列 先進先出

參考答案:C

答案解析:鏈表分為單向鏈表,雙向鏈表,循環鏈表 棧 先進后出 隊列 先進先出。

 

4.數組的遍歷方式,下列錯誤的是?

A、foreach

B、each

C、for

D、list

參考答案:D

答案解析:list只能把數組的元素變成變量,並不是遍歷。

聯合使用list()、each()和while循環遍歷數組

each()函數需要傳遞一個數組作為一個參數,返回數組中當前元素的鍵/值對,並向后移動數組指針到下一個元素的位置。

list()函數,這不是一個真正的函數,是PHP的一個語言結構。list()用一步操作給一組變量進行賦值。

 

5.以下哪種方法不可以設置PHP的最大執行時間為120秒?

A、修改php的配置文件 php.ini 文件,max_executin_time = 120;

B、$max_execution_time = 120

C、ini_set("max_execution_time", "120");

D、set_time_limit(120);

參考答案:B

答案解析:第一種方式需要重啟服務器,第三種第四種直接在腳本中用函數設置,第二種只是一個普通變量,不管用。

 

6.正則中\w代表什么含義?

A、[0-9a-z]

B、[0-9a-zA-Z]

C、[0-9a-zA-Z_]

D、[0-9a-zA-Z_-\]

參考答案:C

答案解析:\w匹配字符數字和下划線。

7.Java類庫中,將信息寫入內存的類是(  )。

A、 java.io.FileOutputStream

B、 java.io.ByteArrayOutputStream

C、 java.io.BufferedOutputStream

D、 java.io.DataOutputStream

參考答案:B

答案解析:暫無。

 

8.以下PHP代碼運行結果正確的是?

A、Array ( [val1] => Array ( [0] => 1 [1] => 2 ) [val2] => 3 [val3] => Array ( [0] => 4 [1] => 5 ) )

B、array(2) { [0]=> int(4) [1]=> int(5) }

C、array(2) { [0]=> int(1) [1]=> int(2) }

D、null

參考答案:B

答案解析:

array_merge() 將一個或多個數組的單元合並起來,一個數組中的值附加在前一個數組的后面。返回作為結果的數組

 

10.關於php指針的函數作用,說法錯誤的?

A、current()返回數組中的當前單元

B、end() 將數組的內部指針指向最后一個單元

C、reset() 將數組的內部指針指向第一個單元

D、prev() 將數組的內部指針向前移動一位

參考答案:D

答案解析:prev()是 數組的內部指針倒回一位。

 

很多人在剛接觸這個行業的時候或者是在遇到瓶頸期的時候,總會遇到一些問題,比如學了一段時間感覺沒有方向感,不知道該從那里入手去學習,對此我整理了一些資料,需要的可以免費分享給大家(11年架構師帶你解讀年薪50萬面試通關秘籍。)

如果喜歡我的文章,想與一群資深開發者一起交流學習的話,獲取更多相關大廠面試咨詢和指導,歡迎加入我的學習交流群點擊此處PHP高級交流

 

11.下面哪一個正則表達式用來驗證電子郵件(如: zhang.san_123@scse.com.cn )的格式最正確()

A、[_\.0-9a-z]@([0-9a-z]+\.)+[0-9a-z\.-]{2,6}

B、[_\.0~9a~z-]*@([0~9a~z-]+\.)+[0~9a~z\.]+

C、[_\.0-9a-z-]+@([0-9a-z-]+\.)+[0-9a-z\.]+

D、[_\.0~9a~z-]+@([0~9a~z-]+\.)+[0~9a~z]{2,6}

參考答案:C

答案解析:C

 

 

12.PHP面向對象繼承特征描述錯誤的是?

A、類使用extends關鍵字,讓子類繼承父類

B、子類只能繼承父類的非私有屬性

C、類繼承父類后,相當於將父類的屬性和方法copy到子類可以直接使用$this調用

D、PHP只支持單繼承不支持一個類繼承多個類和多層繼承

參考答案:D

答案解析:PHP是單繼承只能繼承一個類,但是可以進行多層繼承。

 

13.下列哪種PHP運行模式在PHP5.3之后不再支持?

A、CGI

B、FASTCIG

C、ISIPA

D、CLI

 

14.為什么InnoDB表要建議用自增列做主鍵?

A、使用自增列(INT/BIGINT類型)做主鍵,這時候寫入順序是自增的,和B+數葉子節點分裂順序一致

B、無

C、該表不指定自增列做主鍵,同時也沒有可以被選為主鍵的唯一索引(上面的條件),這時候InnoDB會選擇內置的ROWID作為主鍵,寫入順序和ROWID增長順序一致

D、使用自增列(INT/BIGINT類型)做主鍵,這時候寫入順序是自增的,和B+數葉子節點分裂順序一致; 該表不指定自增列做主鍵,同時也沒有可以被選為主鍵的唯一索引(上面的條件),這時候InnoDB會選擇內置的ROWID作為主鍵,寫入順序和ROWID增長順序一致; 除此以外,如果一個InnoDB表又沒有顯示主鍵,又有可以被選擇為主鍵的唯一索引,但該唯一索引可能不是遞增關系時(例如字符串、UUID、多字段聯合唯一索引的情況),該表的存取效率就會比較差

 

15.哪項不是yii入口腳本主要工作?

A、定義全局常量

B、包含 [[Yii]] 類文件

C、加載應用配置

D、加載過濾器

參考答案:D

答案解析:入口文件主要工作如下: 定義全局常量; 注冊 Composer 自動加載器; 包含
\[Yii
\[Yii
\] 類文件; 加載應用配置; 創建一個應用實例並配置; 調用
\[yiibaseApplication::run()
\[yiibaseApplication::run()
\] 來處理請求。

 

16.棧和隊列具有相同的()

A、抽象數據類型

B、邏輯結構

C、存儲結構

D、運算

 

 

17.以下代碼中$third的結果是多少?

A、array(1,2,3,4)

B、array(1,2)

C、array(3,4)

D、以上都不對

 

18.正則表達式中,表示匹配非數字字符的字符是()?

A、\b

B、\d

C、\B

D、\D

 

18.正則表達式中,表示匹配非數字字符的字符是()?

A、\b

B、\d

C、\B

D、\D

 

19.以下代碼輸出的結果是?

A、1

B、2

C、3

D、4

參考答案:A

答案解析:if($str==0),字符串和數字比較是否相等, 相當於 把$str 字符串隱性轉換為數字,然后再比較,相當於 if( intval($str) == 0 ) 。if($str==0) 判斷 和 if( intval($str) == 0 ) 是等價的,而和 if ($str) 是不一樣的。if ($str) 可以判斷 $str值有沒有被初始化。有沒有付值,只要付值,就返回true。 當然你也可以使用 $str="字符串";if($str===0){ echo "返回了true.";} ,就是 判斷 $str的數據類型 和值 都和0的值 數據類型一樣,才可以返回true。

 

20.fopen()不支持哪種打開方式?

A、c

B、z

C、x

D、a

參考答案:B

答案解析:fopen()支持“r、r+、w、w+、a、a+、x、x+、c、c+”10種方式。

 

21.下列哪一項不是關系型數據庫的優勢?

A、保持數據的一致性

B、由於以標准為前提,數據更新的開銷小

C、可以進行join等復雜查詢

D、易擴展,加一台新的服務器很快

 

22.以下程序段 輸出結果是?

echo 24%(-5);

A、5

B、4

C、-4

D、19

 

23.大型信息系統是以信息技術和( )為支撐的大系統,具有規模龐大、分布廣闊、采用多級網絡結構、提供多種類型應用等特征。

A、通信技術

B、安全技術

C、數據處理技術

D、虛擬化技術

 

24.某銀行為用戶提供網上服務,允許用戶通過瀏覽器管理自己的銀行賬戶信息。為保障通信的安全,該Web服務器可選的協議是()。

A、POP

B、SNMP 

C、HTTP

D、HTTPS

 

25.mysql5.7中關於json類型的說明,不對的是那個

A、JSON數據可以做有效性檢查

B、json數據中,還是需要遍歷所有字符串才能找到數據

C、JSON使得查詢性能提升

D、JSON支持部分屬性索引,通過虛擬列的功能可以對JSON中的部分數據進行索引

 

26下面PHP運行模式是模塊模式的?

A、cgi

B、cli

C、apache2handler

D、fast-cgi

 

27.想匹配 字符串 "abc 123" 中的數字,哪個正則表達式是正確的?

A、/\d*/

B、/[0-9]*/

C、/[^a-z]*/

D、/\d+/

 

28.雖然Linux系統沒有文件擴展名的概念,但是我們通常認為以()結尾的文件是shell腳本

A、exe

B、doc

C、sh

D、py

 

29.php的運行模式不包含下面的那個?

A、IaSApi

B、fast-cgi

C、cli

D、apache2handler

 

二、多選題(共1題,每題5分)

1.如何讓PHP網站運行更快?

A、壓縮代碼,去除無用的注釋或空白

B、盡量使用PHP內置函數或擴展函數

C、用apc/xcache/opcache等緩存PHP的opcode

D、把服務器配置把FastCGI參數調整最大

 

 

 

  




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM