- 相關(guān)推薦
騰訊php開發(fā)工程師面試問題
騰訊PHP開發(fā)工程師問題
一、PHP開發(fā)部分
1.合并兩個(gè)數(shù)組有幾種方式,試比較它們的異同
2.請(qǐng)寫一個(gè)函數(shù)來檢查用戶提交的數(shù)據(jù)是否為整數(shù)(不區(qū)分?jǐn)?shù)據(jù)類型,可以為二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制數(shù)字)
3.PHP的strtolower()和strtoupper()函數(shù)在安裝非中文系統(tǒng)的服務(wù)器下可能會(huì)導(dǎo)致將漢字轉(zhuǎn)換為亂碼,請(qǐng)寫兩個(gè)替代的函數(shù)實(shí)現(xiàn)兼容Unicode文字的字符串大小寫轉(zhuǎn)換
4.PHP的is_writeable()函數(shù)存在Bug,無法準(zhǔn)確判斷一個(gè)目錄/文件是否可寫,請(qǐng)寫一個(gè)函數(shù)來判斷目錄/文件是否絕對(duì)可寫
5.PHP的chmod()函數(shù)存在Bug,無法保證設(shè)置成功,請(qǐng)寫一個(gè)函數(shù)在指定路徑下創(chuàng)建一個(gè)目錄/文件并確?梢哉_設(shè)置權(quán)限掩碼
6.PHP處理上傳文件信息數(shù)組中的文件類型$_FILES['type']由客戶端瀏覽器提供,有可能是黑客偽造的信息,請(qǐng)寫一個(gè)函數(shù)來確保用戶上傳的圖像文件類型真實(shí)可靠
7.PHP通過對(duì)數(shù)據(jù)的URL編碼來實(shí)現(xiàn)與Javascript的數(shù)據(jù)交互,但是對(duì)于部分特殊字符的編解碼與Javascript的規(guī)則不盡相同,請(qǐng)具體說明這種差異,并針對(duì)UTF-8字符集的數(shù)據(jù),寫出PHP的編解碼函數(shù)和Javascript的編解碼函數(shù),確保PHP編碼數(shù)據(jù)可以被 Javascript正確解碼 、Javascript編碼的數(shù)據(jù)可以被PHP正確解碼
8.試闡述Memcache的key多節(jié)點(diǎn)分布的算法?當(dāng)任一節(jié)點(diǎn)出現(xiàn)故障時(shí)PHP的Memcache客戶端將如何處置?如何確保Memcache數(shù)據(jù)讀寫操作的原子性?
9.如何實(shí)現(xiàn)PHP的安全最大化?怎樣避免SQL注入漏洞和XSS跨站腳本攻擊漏洞?
10.請(qǐng)?jiān)O(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu)可以實(shí)現(xiàn)無限級(jí)子菜單的樹型菜單功能并提供菜單生成算法,用UML描述設(shè)計(jì)并寫出相關(guān)PHP代碼
二、系統(tǒng)相關(guān)部分
1.請(qǐng)簡(jiǎn)述Linux、FreeBSD、Soalaris、Mac OS、Windows幾種系統(tǒng)下進(jìn)程與線程的內(nèi)核實(shí)現(xiàn)方式、管理機(jī)制的異同
2.請(qǐng)簡(jiǎn)述Linux/BSD系統(tǒng)下進(jìn)程間通訊的方式有哪些,并具體說明在PHP下如何實(shí)現(xiàn)
3.請(qǐng)簡(jiǎn)述Linux/BSD系統(tǒng)下系統(tǒng)的消息/事件異步通知機(jī)制有幾種,并加以比較
4.簡(jiǎn)單比較TCP/UDP協(xié)議的異同,對(duì)于PHP的Socket擴(kuò)展與Stream擴(kuò)展,試比較兩者基于TCP/UDP協(xié)議的SOCKET編程差異?
5.為什么會(huì)出現(xiàn)僵死進(jìn)程(孤兒進(jìn)程)?怎樣查看僵死進(jìn)程?如何解決僵死進(jìn)程問題?
6.對(duì)于System-V消息隊(duì)列,如何解決系統(tǒng)本身對(duì)于消息隊(duì)列條數(shù)、總?cè)萘?字節(jié)數(shù))的限制?如何設(shè)置消息的優(yōu)先級(jí)別?請(qǐng)比較阻塞模式和非阻塞模式的異同,并說明如何避免非阻塞模式下的消息隊(duì)列堵塞?
7.請(qǐng)描述Apache 2.x版本的MPM(Multi-Processing Module)機(jī)制,并具體說明在不同的MPM機(jī)制下如何支持PHP?
8.請(qǐng)簡(jiǎn)述PHP在Apache下的幾種運(yùn)行方式并加以比較?如何讓PHP在Linux+Apache下以Fast CGI方式運(yùn)行?
9. 請(qǐng)寫出讓PHP能夠在命令行下以腳本方式執(zhí)行時(shí)安裝PHP所必須指定的configure參數(shù),并說明如何在命令行下運(yùn)行PHP腳本(寫出兩種方式)同時(shí)向PHP腳本傳遞參數(shù)?
10.請(qǐng)簡(jiǎn)述PHP 5.2的內(nèi)存池及其內(nèi)存管理機(jī)制、垃圾回收機(jī)制
騰訊PHP開發(fā)工程師問題
1 . 請(qǐng)對(duì) POSIX 風(fēng)格和兼容 Perl 風(fēng)格兩種正則表達(dá)式的主要函數(shù)進(jìn)行類比說明
ereg preg_match
ereg_replace preg_replace
2 . 請(qǐng)說明在 php .ini 中 safe_mode 開啟之后對(duì)于 PHP 系統(tǒng) 函數(shù)的影響
3 . PHP5 中魔術(shù) 方法 函數(shù)有哪幾個(gè),請(qǐng)舉例說明各自的用法
__sleep
__wakeup
__toString
__set_state
__construct,
__destruct
__call,
__get,
__set,
__isset,
__unset
__sleep,
__wakeup,
__toString,
__set_state,
__clone
__autoload
4 . 請(qǐng)寫出讓,并說明如何在命令行下運(yùn)行 PHP 腳本(寫出兩種方式)同時(shí)向 PHP 腳本傳遞參數(shù)?
1. Php filename.php $agr1 $agr2
2. php –r “”
5 . PHP 的垃圾收集機(jī)制是怎樣的
6 .使對(duì)象可以像數(shù)組一樣進(jìn)行 foreach 循環(huán),要求屬性必須是私有。
(Iterator 模式的 PHP5 實(shí)現(xiàn),寫一類實(shí)現(xiàn) Iterator 接口 )
7 .請(qǐng)寫一段 PHP 代碼 ,確保多個(gè)進(jìn)程同時(shí)寫入同一個(gè)文件 成功
8 . 用 PHP 實(shí)現(xiàn)一個(gè)雙向隊(duì)列
9 . 使用正則表達(dá)式提取一段標(biāo)識(shí)語言( html 或 xml )代碼段中指定標(biāo)簽的指定屬性值(需考慮屬性值對(duì)不規(guī)則的情況,如大小寫不敏感,屬性名值與等號(hào)間有空格等)。此處假設(shè)需提取 test 標(biāo)簽的 attr 屬性值,請(qǐng)自行構(gòu)建包含該標(biāo)簽的串
【騰訊php開發(fā)工程師面試問題】相關(guān)文章:
騰訊php程序員面試題目及答案08-03
PHP高級(jí)開發(fā)工程師崗位職責(zé)03-24
PHP高級(jí)開發(fā)工程師崗位的具體職責(zé)03-24
PHP中級(jí)開發(fā)工程師的具體職責(zé)范圍09-15
PHP中級(jí)開發(fā)工程師的基本職責(zé)11-23
PHP高級(jí)開發(fā)工程師的崗位職責(zé)11-22
騰訊校招面試常見問題11-29