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