- 相關推薦
PHP招聘:如何面試應屆生求職者
為什么要招應屆生?不是因為便宜,有人說還沒跳過槽的人忠誠度能搞些,這也不盡然,有些人沒經受過工作的壓力,總以為自己碰巧找到個壓力大的工作,換換會好些。我的原因是……應屆生好調教。在他們沒有被各種枯燥乏味的工作折磨的以為寫程序本來就這么 SB 之前好好洗說服子。
1、2、3 是基礎題,4、5、6 問的是數據庫操作,7 算是綜合能力吧。
1。 進制運算
可以是讓他模擬一些簡單的字符串函數,類似 bin2hex、base_convert、base64_encode,或者單純的,讓他手動算一下 7 進制的 54321 顯示為 9 進制是多少。
應該高中或者之前就能接觸到 2 進制 10 進制之間的換算了吧,當然,他當時很可能沒聽懂。通常的情況,如果以前沒留意這個問題但有理解能力的,可能能在幾分鐘的做出一些成功不成功的嘗試。至少不應該很茫然。最糟糕的情況,連整數的最大值是多少都不知道,那就算了。
2。 描述一下常見的關于讀取文件內容的操作,及各自的特點
應該不用遲疑太久就把 file、fopen、file_get_contents、readfile 列出來。表現好點還可以提下 readfile 的流式讀取不占內存之類的。如果看的教材太老,可能只會說 fopen。最糟糕的辯解是不說跟數據庫打交道比較多,文件操作沒怎么接觸過,完全無視文件靜態(tài)化的存在。
3。 怎么模擬一個 POST 表單提交
答 socket 或者 cURL 都可以。
4。 列舉一些常規(guī)優(yōu)化方式
正確索引(就不強求完全理解多列索引了,最好能知道每個查詢只能用到一個索引),知道索引提高查詢速度、降低插入速度。正確的字段類型(能知道 char 和 varchar 的區(qū)別和優(yōu)缺點)。text 類字段可以單放一個表用主鍵關聯的?傊苷f的越多越好。順便問問他他所知道的最大處理能力是每秒多少條,哪怕是測試環(huán)境里的 benchmarking(今天看到份簡歷,號稱三年工作經驗,將半個月三萬條插入形容為他所遇到的最高的負載,寫在簡歷的醒目位置)。
5。 “你知道,把時間存在數據庫里有兩種方法,一種是用時間戳,就是 PHP 函數 time() 產生的那種整數,另一種是 MySQL 里字段類型設成 datetime。那么,為什么一定要后一種方式?”
最簡單的一個例子,如果存的是時間戳,你無法按類似“所有周三的數據”這種方式顯示內容。這表明了他的學習階段:是否接觸了類似日志分析類的東西。因為這些是早晚都要接觸到的。
6。 簡單聯表查詢
有這么兩個表
user 表:
id name
1 張三
2 李四
3 王五
4 趙六
apple 表:
id user number
1 1 5
2 3 3
3 1 8
4 4 6
5 3 2
6 4 2
apple 表的 user 字段跟 user 表的 id 對應,一條 SQL 語句查出每個人都有多少蘋果
如果他不知道 join,可能會這么寫
SELECT user。name, SUM(apple。number) FROM user, apple WHERE user。id = apple。user GROUP BY user。id
正確答案應該是這樣
SELECT user。name, SUM(apple。number) FROM user LEFT JOIN apple ON user。id = apple。user GROUP BY id
這兩條語句的差別是,不用 join 無法顯示出李四有 0 個蘋果 —_—
7。 假設我們要做一個公交系統(tǒng)的常見服務,就是做查公交車怎么倒車的。假設完全由你自己來搞,我只關心最后結果,你會怎么做這個項目。說的越詳細越好。
可能需要不斷提示?疾橐粋人的做事能力,比方說他首先會想到需要數據,數據庫應該怎么設計,有幾個表,什么樣的字段。
可以加分的地方可以有這么幾個點。給站名編 id,匹配數字的速度要遠大于匹配字符串。站點之間要距離的數據,這樣計算最優(yōu)倒車路線應該能考慮到站數,倒車次數、距離等權值。如果很有遠見,任意兩點之間的數據應該是提前算好的,比方說有 200 條公交線路和 2000 個站點,始發(fā)終點的組合可能是 2000 * 1000,每種線路可能有 1 — 6 種方案,有個表是來裝這近一千萬行結果的,如果有線路變化,再用本地的機器重新算一遍線路。這樣整個系統(tǒng)才有實用價值。不然可能每次查詢都需要耗費數秒或者更長時間,只能當單機軟件用。
這些題本身是交流的話題,而不是“做對 5 道以上我就招你”這種門檻。我面試時每道題都會給予充分的時間,如果他做不上來,也起碼能判斷他的思考方式,而忌諱說“如果你不知道就明說,咱們趕緊做下一題”。同時也能觀察出性格等方面。比方說第 6 題,有人把 SUM 寫成 COUNT,我就問他你看看前面寫的是否有問題,同時又怕太明顯,又補充一句“也可能什么錯誤也沒有、我在誤導你,你自己判斷”,于是他就不再理會、繼續(xù)接著寫完整個 SQL。再綜合他的其他一些表現,我的結論是此人主見極強的,我不會用。屬于出了 BUG 第一念頭是 BUG 在解釋器上、做出來的程序跟產品需求不符時會說是你產品沒說明白的那種。相反,我很欣賞那些在做完第一道題的 7 進制轉換后還知道驗算的,因為既然是筆算就很容易出錯。我覺得這種人思考嚴謹、負責任。
其他的一些知識,比方說 memcache、SVN、單元測試這些,都屬于經驗問題,應屆生很少需要接觸到這些東西(甚至文件靜態(tài)化也很少碰到),不像上面,我需要以此來判斷面試者對編程是否已經入門。
還是在 ngacn 上看到的一句話,團隊需要兩種人,要么 NB 的,要么聽話的。
【PHP招聘:如何面試應屆生求職者】相關文章:
如何從求職者的角度做招聘07-24
“暗中”面試 求職者如何應對08-09
如何把招聘原理運用到招聘面試中?08-09
應屆生“給予式招聘”倍受求職者歡迎07-28
應屆生如何面試03-20
企業(yè)如何招聘選拔應屆生07-16
看中外名企如何面試求職者07-20
面試官如何面試應屆生03-17
招聘HR如何寫好面試評語10-19
求職者面試時,如何巧問薪酬?面試技巧08-09