網站首頁 工作範例 辦公範例 個人範例 黨團範例 簡歷範例 學生範例 其他範例 專題範例

騰訊php開發工程師面試問題

欄目: 面試試題 / 釋出於: / 人氣:1.28W

騰訊php開發工程師問題

騰訊php開發工程師面試問題

一、php開發部分

1.合併兩個陣列有幾種方式,試比較它們的異同

2.請寫一個函式來檢查使用者提交的資料是否為整數(不區分資料型別,可以為二進位制、八進位制、十進位制、十六進位制數字)

的strtolower()和strtoupper()函式在安裝非中文系統的伺服器下可能會導致將漢字轉換為亂碼,請寫兩個替代的函式實現相容unicode文字的字串大小寫轉換

的is_writeable()函式存在bug,無法準確判斷一個目錄/檔案是否可寫,請寫一個函式來判斷目錄/檔案是否絕對可寫

的chmod()函式存在bug,無法保證設定成功,請寫一個函式在指定路徑下建立一個目錄/檔案並確保可以正確設定許可權掩碼

處理上傳檔案資訊陣列中的檔案型別$_files['type']由客戶端瀏覽器提供,有可能是黑客偽造的資訊,請寫一個函式來確保使用者上傳的影象檔案型別真實可靠

通過對資料的url編碼來實現與javascript的資料互動,但是對於部分特殊字元的編解碼與javascript的規則不盡相同,請具體說明這種差異,並針對utf-8字符集的資料,寫出php的編解碼函式和javascript的編解碼函式,確保php編碼資料可以被 javascript正確解碼 、javascript編碼的資料可以被php正確解碼

8.試闡述memcache的key多節點分佈的演算法?當任一節點出現故障時php的memcache客戶端將如何處置?如何確保memcache資料讀寫操作的原子性?

9.如何實現php的安全最大化?怎樣避免sql注入漏洞和xss跨站指令碼攻擊漏洞?

10.請設計一個數據結構可以實現無限級子選單的樹型選單功能並提供選單生成演算法,用uml描述設計並寫出相關php程式碼

二、系統相關部分

1.請簡述linux、freebsd、soalaris、mac os、windows幾種系統下程序與執行緒的核心實現方式、管理機制的異同

2.請簡述linux/bsd系統下程序間通訊的方式有哪些,並具體說明在php下如何實現

3.請簡述linux/bsd系統下系統的訊息/事件非同步通知機制有幾種,並加以比較

4.簡單比較tcp/udp協議的異同,對於php的socket擴充套件與stream擴充套件,試比較兩者基於tcp/udp協議的socket程式設計差異?

5.為什麼會出現僵死程序(孤兒程序)?怎樣檢視僵死程序?如何解決僵死程序問題?

6.對於system-v訊息佇列,如何解決系統本身對於訊息佇列條數、總容量(位元組數)的限制?如何設定訊息的優先級別?請比較阻塞模式和非阻塞模式的異同,並說明如何避免非阻塞模式下的訊息佇列堵塞?

7.請描述apache 2.x版本的mpm(multi-processing module)機制,並具體說明在不同的mpm機制下如何支援php?

8.請簡述php在apache下的幾種執行方式並加以比較?如何讓php在linux+apache下以fast cgi方式執行?

9. 請寫出讓php能夠在命令列下以指令碼方式執行時安裝php所必須指定的configure引數,並說明如何在命令列下執行php指令碼(寫出兩種方式)同時向php指令碼傳遞引數?

10.請簡述php 5.2的記憶體池及其記憶體管理機制、垃圾回收機制

 騰訊php開發工程師問題

1 . 請對 posix 風格和相容 perl 風格兩種正則表示式的主要函式進行類比說明

ereg preg_match

ereg_replace preg_replace

2 . 請說明在 php 中 safe_mode 開啟之後對於 php 系統 函式的影響

3 . php5 中魔術 方法 函式有哪幾個,請舉例說明各自的用法

__sleep

__wakeup

__tostring

__set_state

__construct,

__destruct

__call,

__get,

__set,

__isset,

__unset

__sleep,

__wakeup,

__tostring,

__set_state,

__clone

__autoload

4 . 請寫出讓,並說明如何在命令列下執行 php 指令碼(寫出兩種方式)同時向 php 指令碼傳遞引數?

1. php $agr1 $agr2

2. php –r “”

5 . php 的垃圾收集機制是怎樣的

6 .使物件可以像陣列一樣進行 foreach 迴圈,要求屬性必須是私有。

(iterator 模式的 php5 實現,寫一類實現 iterator 介面 )

7 .請寫一段 php 程式碼 ,確保多個程序同時寫入同一個檔案 成功

8 . 用 php 實現一個雙向佇列

9 . 使用正則表示式提取一段標識語言( html 或 xml )程式碼段中指定標籤的指定屬性值(需考慮屬性值對不規則的情況,如大小寫不敏感,屬性名值與等號間有空格等)。此處假設需提取 test 標籤的 attr 屬性值,請自行構建包含該標籤的串