php程序員面試題
面試是通過書面、面談或線上交流(視頻、電話)的形式來考察一個(gè)人的工作能力與綜合素質(zhì),通過面試可以初步判斷應(yīng)聘者是否可以融入自己的團(tuán)隊(duì)。是一種經(jīng)過組織者精心策劃的招聘活動(dòng)。在特定場(chǎng)景下,以面試官對(duì)應(yīng)聘者的交談與觀察為主要手段,由表及里測(cè)評(píng)應(yīng)聘者的知識(shí)、能力、經(jīng)驗(yàn)和綜合素質(zhì)等有關(guān)素質(zhì)的考試活動(dòng)。面試是公司挑選職工的一種重要方法。
騰訊php程序員面試題目及答案
設(shè)計(jì)任務(wù):
1、最近總有人騷擾我們的投票模塊,需要你來設(shè)計(jì)一個(gè)投票限制的東東
要求如下:
1)要求每個(gè)QQ號(hào)碼(假設(shè)此QQ號(hào)碼在UNIT32 內(nèi)可以表示)10分鐘這內(nèi)只能投5票。
2)我們的用戶很踴躍,平均每天要有2000萬人左右通過此程序投票。
說明:
1)無需寫代碼,只需要圖跟文字即可。
2)對(duì)于關(guān)鍵邏輯,請(qǐng)用圖加代碼表示出來,這也是對(duì)你文字表達(dá)能力的一個(gè)考驗(yàn)。
3)對(duì)你能想到的所有的邊界條件列出來,這是對(duì)你邏輯思維全面與敏捷性的'考驗(yàn)。
4)存儲(chǔ)部分,盡你所能吧。如果,你需要一個(gè)自己設(shè)計(jì)的存儲(chǔ)層,那么把這個(gè)存儲(chǔ)層的實(shí)現(xiàn),用文字+圖片方式描述清楚,要是設(shè)計(jì)合理,你會(huì)獲得華麗的獎(jiǎng)分.
解答:
核心問題:如何統(tǒng)計(jì)10分鐘之內(nèi)投了5票?
首先:以秒為鍵切分?jǐn)?shù)據(jù)集,10*60=600個(gè)時(shí)間戳桶,并添加一個(gè)Forbid令牌桶
然后:每個(gè)數(shù)據(jù)集內(nèi),以qq號(hào)碼為鍵,vote次數(shù)為值
OK,已經(jīng)成功轉(zhuǎn)換為key-value方式存儲(chǔ),2000萬的日投票,除以86400秒,并發(fā)231.48rps,使用memcache能夠輕松勝任。
數(shù)據(jù)集ID:201006072134
【QQ號(hào)碼:Vote次數(shù)】
201006072134 | 201006072135 | 201006072136
【12345:3】 | 【12345:3】 | 【12345:3】
【88888:2】 | 【88888:3】 | 【88888:3】
php程序員面試題
請(qǐng)列舉你能想到的UNIX信號(hào),并說明信號(hào)用途。
請(qǐng)列舉、你能想到的所有的字符串查找算法,并加注釋簡(jiǎn)單說明。
有一個(gè)IP地址(192.168.0.1),請(qǐng)寫出其32位無符號(hào)整數(shù)形式。
寫出、你能想到的所有HTTP返回狀態(tài)值,并說明用途(比如:返回404表示找不到頁(yè)面)
向php傳入?yún)?shù)的兩種方法。
(mysql)請(qǐng)寫出數(shù)據(jù)類型(int char varchar datetime text)的意思; 請(qǐng)問varchar和char有什么區(qū)別;
error_reporting 等調(diào)試函數(shù)使用
您是否用過版本控制軟件? 如果有您用的版本控制軟件的名字是?
posix和perl標(biāo)準(zhǔn)的`正則表達(dá)式區(qū)別;
Safe_mode 打開后哪些地方受限.
您是否用過模板引擎? 如果有您用的模板引擎的名字是?
請(qǐng)介紹Session的原理,大型網(wǎng)站中Session方面應(yīng)注意什么?
測(cè)試php性能和mysql數(shù)據(jù)庫(kù)性能的工具,和找出瓶頸的方法。
您寫過的PHP框架的特點(diǎn),主要解決什么問題,與其他框架的不同點(diǎn)。
sort()、assort()、和 ksort() 有什么分別?它們分別在什么情況下使用?
reference 跟一個(gè)正規(guī)的變量有什么分別?如何 pass by reference?在什么情況下我們需要這樣做?
你如何替 PHP 的應(yīng)用程式偵錯(cuò)?