一、單選題(共28題,每題5分)
1.Apache與Nginx大訪問下性能描述正確的是?
A、Apache所采用的epoll網路I/O模型非常高效
B、Nginx使用了最新的kqueue和select網路I/O模型
C、Apache行程執行PHP、輸出HTML都得干,占用的資源多
D、nginx不可以做反向代理服務器
參考答案:C
答案決議:1、Apache所采用的select網路I/O模型非常低效 2、Nginx使用了最新的epoll(Linux 2.6內核)和kqueue(freebsd)網路I/O模型 3、Apache行程干的事情多:執行PHP、輸出HTML都得干,占用的資源就多(CPU、記憶體)
2.下列哪種PHP運行模式在PHP5.3之后不再支持?
A、CGI
B、FASTCIG
C、ISIPA
D、CLI
參考答案:C
答案決議:在PHP5.3以后,PHP不再有ISAPI模式,安裝后也不再有php5isapi.dll這個檔案,要在IIS6上使用高版本PHP,必須安裝FastCGI擴展,然后使IIS6支持FastCGI,
3.yii小部件描述錯誤的是?
A、小部件是面向物件方式來重用視圖代碼
B、創建小部件時仍需要遵循 MVC 模式,通常邏輯代碼在小部件類,展示內容在視圖中
C、小部件設計時應不是獨立的,也就是說使用一個小部件時候,不可以直接丟棄它而不需要額外的處理
D、當小部件需要外部資源如 CSS, JavaScript圖片等會比較棘手幸運的時候 Yii 提供資源包來解決這個問題,
參考答案:C
答案決議:小部件設計時應是獨立的,也就是說使用一個小部件時候,可以直接丟棄它而不需要額外的處理,
4.以下關于結構型模式說法錯誤的是?
A、結構型模式可以在不破壞類封裝性的基礎上,實作新的功能
B、結構型模式主要用于創建一組物件
C、結構型模式可以創建一組類的統一訪問介面
D、結構型模式可以在不破壞類封裝性的基礎上,使得類可以同不曾估計到的系統進行互動
參考答案:B
答案決議:結構型(structural):處理類或物件間的組合,
5是PHP魔術方法的是?
A、__function
B、__to
C、__line
D、__invoke
參考答案:D
答案決議:__construct __destruct __call __callStatic __get __set __isset __clone __unset __sleep __wakeup __toString __invoke __set_state
6.substr函式的作用是?
A、查找字串
B、替換字串
C、截取字串
D、截取長度
參考答案:C
答案決議:截取字串的部分字串,
7.以下的哪一個資料庫產品是采用了 pureXML技術的資料服務器:
A、SQL Server
B、DB2
C、MySQL
D、JSON
參考答案:B
答案決議:暫無
8.作為一個管理員,你希望在每一個新用戶的目錄下放一個檔案.bashrc, 那么你應該在哪個目錄下放這個檔案,以便于新用戶創建主目錄時自動將這個檔案復制到自己的目錄下,
A、/etc/skel/
B、/etc/default/
C、/etc/defaults/
D、/etc/profile.d/
參考答案:A
答案決議:/etc/skel/目錄是用來存放新用戶組態檔的目錄,當我們添加新用戶的時候,這個目錄下的所有檔案會自動被復制到新添加的用戶的家目錄下, 這個目錄下的所有檔案都是隱藏檔案(以.點開頭的檔案),
9.在MySQL中,可用于創建一個新資料庫的SQL陳述句為()
A、CREATE DATABASE
B、CREATE TABLE
C、CREATE DATABASES
D、CREATE DB
參考答案:A
答案決議:
A選項正確,創建庫陳述句為:CREATE DATABASE 資料庫名,
B選項CREATE TABLE,是創建表的陳述句,
C和D選項語法錯誤,
10.關于判斷檔案型別,以下說法正確的是?
A、根據檔案的擴展名可以正確判斷檔案的型別
B、根據檔案的特征值可以正確判斷檔案型別
C、根據檔案的大小及特征值可以正確判斷檔案型別
D、通過任何方法也無法100%確定檔案型別
參考答案:D
答案決議:任何方式都可以偽造,所以我們只能通過方法無限接近,而無法完全保證可以判斷正確,
很多人在剛接觸這個行業的時候或者是在遇到瓶頸期的時候,總會遇到一些問題,比如學了一段時間感覺沒有方向感,不知道該從那里入手去學習,對此我整理了一些資料,需要的可以免費分享給大家(11年架構師帶你解讀年薪50萬面試通關秘籍,)
如果喜歡我的文章,想與一群資深開發者一起交流學習的話,獲取更多相關大廠面試咨詢和指導,歡迎加入我的學習交流群點擊此處PHP高級交流
11.在mysql中用a,b,c三個欄位建立一個復合索引a_b_c,請問以下哪個查詢效率最差?
A、select * from test where a=10 and b>50
B、select * from test where a=10 and b>10 order by c
C、select * from test where a=10 and b=10 order by a
D、select * from test where a=10 and b = 10 order by c
參考答案:B
答案決議:最左匹配原則:該復合索引包含a,a_b,a_b_c, 復合索引只有在前面的欄位為精確查詢時,才會用上后面的復合索引,一旦出現不精確查詢,則不會使用復合索引, A選項中,使用a_b索引, B選項中,使用了a_b索引,且有order by c故效率最差, C選項中,使用a_b索引, D選項中,使用a_b_c索引,
12.關于PHP陣列key和value的限制條件,說法正確的是?
A、key只能是int或string型別,value可以使任何型別
B、key可以是任何型別,value可以是任何型別
C、key可以是任何型別,value只能是int或string型別
D、key只能是int或string型別,value只能是int或string型別
參考答案:A
答案決議:key只能是int或string型別,value可以使任何型別.,
13.以下代碼有什么漏洞?
A、沒有漏洞
B、適當用規則可洗掉服務器全部檔案
C、適當用規則可獲取想要的任何檔案內容
D、適當用規則可以更改管理員密碼
參考答案:C
答案決議:如果我們提交 demo.php?dir=| cat /etc/passwd 則可以獲取服務器上所有管理員的賬戶資訊,
14.以下shell代碼描述正確的是?
read -p "please input ip:" IPping $IP -w &> /dev/null && echo $IP is up || echo $IP is down
A、查詢本機ip
B、查找訪問該服務器的ip
C、通過ip查找訪問檔案
D、通過輸入IP判斷主機是否關機
參考答案:D
答案決議:read -p "please input ip:" IP 提示輸入要判斷主機的ip ping $IP -w &> /dev/null && echo $IP is up || echo $IP is down :ping 該ip判斷是否已關機,
15.以下哪個模式是利用一個物件,快速地生成一批物件?
A、抽象工廠(Abstract Factory)模式
B、合成(Composite)模式
C、原型(Prototype)模式
D、橋接(Bridge)模式
參考答案:C
答案決議:原型模式:利用原型實體來“克隆”創建新的物件,
16.一個漢字在計算機內部保存的編碼是?
A、區位碼
B、國標碼
C、機內碼
D、機器碼
參考答案:C
答案決議:機內碼是一個漢字在計算機內部保存的編碼,
17.一下哪個不是PHP的運行模式?
A、CGI
B、FastCGI
C、apache2handler
D、apache
參考答案:D,答案決議:前三個是常用的運行模式,apache是web服務器軟體,
18.關于PHP模式修飾符說法錯誤的是?
A、i 大小寫不敏感匹配
B、m ^將只匹配字串的開頭
C、x 空白和#注釋將被忽略
D、將替換后的字串作為php代碼評估執行
參考答案:B
答案決議:m為增強的行錨點模式,\\n的前后也會被認為結束和開始,
19.挑出來一個與眾不同的命令
A、vi
B、vim
C、ll
D、nano
參考答案:C
答案決議:vi,vim和 nano都是編輯器,用于編輯檔案,而ll是顯示目錄下的檔案資訊,
20.以下哪個函式不是PHP的檔案指標操作?
A、ftell()
B、fseek()
C、file()
D、feof()
參考答案:C
答案決議:ftell() 回傳檔案指標位置 fseek() 在檔案指標中定位 feof() 測驗檔案指標是否在結尾,
21.關于php配置選項錯誤的是
A、開啟 short_open_tag 允許使用PHP 代碼開始標志的縮寫形式(<? ?>)
B、如果啟用了 magic_quotes_runtime,大多數回傳任何形式外部資料的函式,包括資料庫和文本段將會用反斜線轉義引號
C、因為可以在運行時使用ini_set對配置選項進行設定,所以display_errors可以一直開啟
D、PHP 的安全模式是為了試圖解決共享服務器(shared-server)安全問題而設立的
參考答案:C
答案決議:盡管 display\_errors 也可以在運行時設定 (使用 ini\_set()), 但是腳本出現致命錯誤時任何運行時的設定都是無效的, 因為在這種情況下預期運行的操作不會被執行,這樣將會暴露敏感資訊,
22 題6.3個不同元素依次進堆疊,有()不同的出堆疊序列
A、A、4
B、B、5
C、C、6
D、D、7
參考答案:B
答案決議:對于n個不同的元素進堆疊,出堆疊序列的個數為6\*5\*4/4\*3\*2\*1為5,也就是卡特蘭數,
23.與 HTTP1.0 相比,HTTP1.1 的優點不包括( )
A、減少了 RTTs 數量
B、支持持久連接
C、減少了 TCP 慢啟動次數
D、提高了安全性
參考答案:D
答案決議:HTTP 1.1優化了HTTP1.0的缺點,從而可以支持久連接,在一個TCP連接上可以傳送多個HTTP請求和回應,減少了建立和關閉連接的消耗和延遲即減少了 TCP 慢啟動次數,同時允許客戶端不用等待上一次請求結果回傳,就可以發出下一次請求,減少了 RTTs 數量以及下載程序所需要的時間,HTTP 1.1還提供了與身份認證、狀態管理和Cache快取等機制相關的請求頭和回應頭,然而在安全性能并不是HTTP1.1的特點,不過使用HTTPS解決了HTTP的安全問題,即安全的超文本傳輸協議(SHTTP).
24.下面有關內核執行緒和用戶執行緒說法錯誤的是?
A、用戶執行緒因<br>I/O 而處于等待狀態時,整個行程就會被調度程式切換為等待狀態,其他執行緒得不到運行的機會
B、內核執行緒只運行在內核態,不受用戶態背景關系的影響
C、用戶執行緒和內核執行緒的調度都需要經過內核態
D、內核執行緒有利于發揮多處理器的并發優勢,但卻占用了更多的系統開支
參考答案:C
答案決議:用戶執行緒不需要,不然golang就沒有存在的意義了,
25.以下關于參考說法錯誤的是?
A、參考不是C的指標
B、參考不允許用兩個變數來指向同一個內容
C、用參考可以傳遞變數
D、可以將一個變數通過參考傳遞給函式,這樣該函式就可以修改其引數的值,
參考答案:B
答案決議:參考是允許用兩個變數來指向同一個內容的,
26.以下代碼輸出的結果是?
A、1
B、2
C、3
D、4
參考答案:A
答案決議:考察運算子優先級, 題目$a=(2>2)?2:3?++$a:--$a; 相當于$a=(2>2)?2:(3?++$a:--$a); 先計算括號內的運算 得出結果1.
27.以下代碼執行結果是?

A、0
B、1
C、2
D、3
參考答案:B
答案決議:如果你回答 2 ,恭喜,你掉入陷阱了, 其實這道題主要考兩點,第一點是static靜態型別,這種的值永遠都是靜態的,第一次呼叫宣告等于0,并且自增等于1,第二次呼叫,1再自增就等于2,但其實這里還有一道陷阱,那就是++a與a++的區別,前++是先自增,后++是先回傳值再自增,所以結果等于 1,
28.PHP執行的時候有如下執行程序:Scanning(Lexing) - Compilation - Execution - Parsing,其含義分別為:
A、將PHP代碼轉換為語言片段(Tokens)、將Tokens轉換成簡單而有意義的運算式、順次執行Opcodes、將運算式編譯成Opocdes
B、將PHP代碼轉換為語言片段(Tokens)、將運算式編譯成Opocdes、順次執行Opcodes、將Tokens轉換成簡單而有意義的運算式
C、將PHP代碼轉換為語言片段(Tokens)、將Tokens轉換成簡單而有意義的運算式、將運算式編譯成Opocdes、順次執行Opcodes
D、將PHP代碼轉換為語言片段(Tokens)、將運算式編譯成Opocdes、將Tokens轉換成簡單而有意義的運算式、順次執行Opcodes
參考答案:C
答案決議:
正確答案為C
1.Scanning(Lexing) ,將PHP代碼轉換為語言片段(Tokens)
2.Parsing, 將Tokens轉換成簡單而有意義的運算式
3.Compilation, 將運算式編譯成Opocdes
4.Execution, 順次執行Opcodes,每次一條,從而實作PHP腳本的功能,
二、多選題(共1題,每題5分)
1.在MYSQL中,關于HASH索引,下列描述正確的是?
A、如果將一個MYISAM表改為HASH索引的MEMORY表,不會影響查詢的執行效率
B、只用于使用=或者<=>運算子的等式比較
C、優化器不能使用HASH索引來加速Order By操作
D、只能使用整個關鍵字來搜索一行
參考答案:B,C,D
答案決議:
A 效率會降低, 簡單地說,哈希索引就是采用一定的哈希演算法,把鍵值換算成新的哈希值,檢索時不需要類似B+樹那樣從根節點到葉子節點逐級查找,只需一次哈希演算法即可立刻定位到相應的位置,速度非常快, B+樹索引和哈希索引的明顯區別是: 如果是等值查詢,那么哈希索引明顯有絕對優勢,因為只需要經過一次演算法即可找到相應的鍵值;當然了,這個前提是,鍵值都是唯一的,如果鍵值不是唯一的,就需要先找到該鍵所在位置,然后再根據鏈表往后掃描,直到找到相應的資料; 從示意圖中也能看到,如果是范圍查詢檢索,這時候哈希索引就毫無用武之地了,因為原先是有序的鍵值,經過哈希演算法后,有可能變成不連續的了,就沒辦法再利用索引完成范圍查詢檢索; 同理,哈希索引也沒辦法利用索引完成排序,以及like ‘xxx%’ 這樣的部分模糊查詢(這種部分模糊查詢,其實本質上也是范圍查詢); 哈希索引也不支持多列聯合索引的最左匹配規則; B+樹索引的關鍵字檢索效率比較平均,不像B樹那樣波動幅度大,在有大量重復鍵值情況下,哈希索引的效率也是極低的,因為存在所謂的哈希碰撞問題,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/136625.html
標籤:PHP
