面試php工程師出什麼考題好?

來源:互聯網
上載者:User

回複內容:

1 介紹自己過去工作中,或學習中,最能體現自己價值的成就。
-> 等介紹完後,這個成就實現時,遇到過怎樣的困難,如何解決的。
2 解釋一下SQL注入的原理及危害,假設這裡有一個不嚴謹的登陸程式,如何利用SQL注入進入。
3 解釋一下跨站指令碼的原理及危害,假設這裡有一個不嚴謹的留言板,請構造跨站指令碼範例。
4 解釋一下資料索引為什麼能提高效率。
情境SQL select * from user where area='廣州‘ and sex='女‘ order by lastlogin desc limit 30;
如何設計索引?
現在有10萬條 IP地址對應區間表,格式為 startip, endip, area
要求每個使用者訪問時都能快速分析出對方地區,請設計實現。資料庫或不用資料庫,要求每秒鐘實現超過千次的查詢。
基本上到這些對我而言就已經足夠了,如果上面題目特別滿意的,再附加
5 現在有一個屏蔽詞列表,大約幾千個詞;假設有一個繁忙的論壇社區,發帖量巨大,要求使用者每發一篇文章就要快速分析是否包含屏蔽詞,請給出程式設計。
6 一個遊戲網站,有數千個小遊戲,每個遊戲要做積分排行,資料結構如下
gameid,userid,gamescore
每天數百萬積分提交,資料量巨大,目前要求分庫處理。
要求,可以基於每個遊戲id可以查詢積分熱門排行榜。 可以基於使用者id查詢,比如自己或好友的曆史遊戲積分記錄。請問如何處理分庫。

最後,你有什麼要問的?上面匿名使用者整理的挺全的,值得參考。
工程師能否勝任某個崗位很大程度上受專業程度、周邊知識、溝通能力、主動工作的意願等多方面因素影響,對每個Team來說需要考核的重點是有區別的,一般會在面試過程中根據實際情況組合考察。

專業程度體現在對PHP的基本功的掌握和一些進階知識的瞭解,比如對常見效能點、不同版本特性等,session的實現機制、include/require的差異,進一步的主流架構掌握程度、常見的效能最佳化策略、其作為指令碼語言所具備的一些特性、如何規避PHP的效能劣勢打造高並發的系統、如何保證高並發下的可用性和資料完整性等等。

周邊知識主要會包括MySQL效能最佳化、Memcache使用、Nginx/Apache的配合、對於PV/Click等資料收集和觀察的方法等。 同樣的,利用curl/socket操作http/tcp/udp,進一步的RPC調用(Web Service/JSONP/Thrift等)的前後端實現,進一步的包括更多的Cache策略(遠近、一致性雜湊、資料一致性)、對Sharding即分庫分表之類操作的瞭解、更多NoSQL產品知識、各類常見協議細節、安全性(注入和旁註、跨站和CC)等。

溝通能力從“簡單介紹下自己”、“說說你在最近參與的項目中所做的事情”開始,根據其回答,進一步細化到考察是否能和業務部門、產品經理、運營人員自如溝通的“需求總是變更怎麼辦”、“怎麼看待業務人員或產品經理提出的似乎並不合理的需求”、“作為一個開發人員,如何知道自己參與的某個項目在使用者眼裡做得好不好”等;考察團隊領導能力的“作為一個小團隊的Leader,你覺得帶好團隊最重要的點有哪些”、“團隊裡的工程師總是晚來早走/開小差,做為主管怎麼處理這些問題”、“被指派到一個重要項目,如何激勵團隊儘快完成項目”等;考察其作為工程師個體,是否具備更全面的視角(從產品、設計、業務等角度看待問題的能力)的“讓你運營一個論壇系統/企業微博帳號,你會怎麼做”、“作為一個XX產品的工程師,如何從技術的角度協助運營人員提高ROI”等;考察發現和總結問題能力的“我暫時沒有其他問題了,你有什麼問題需要問我嗎”。

主動工作的意願則往往是通過瞭解其對加班的看法、對代碼品質的態度、如何提高團隊工作效率、對其參與的項目的一些細節的追問、如何提高參與的項目的代碼品質或運營產出、個人興趣愛好、以往的得意之作等側面的瞭解。謝邀,在公司作為面試官只面試過初中級水平的PHP程式員,對他們的要求基本上是能夠幹活,進階的PHPer的面試需要面哪些知識點我並不是很有經驗,在這裡只談一下面試初中層級的PHPer。
先做一套面試題,題目基本上是基礎的PHP文法,資料庫設計和資料庫最佳化,Linux基礎,會在最後涉及一些深一點的內容。
根據簡曆和面試題的答題情況,針對他熟悉的項目進行深入。比如他做過使用者相關,那我就問問session、cookie區別;實際使用者登入時用戶端和伺服器端發生了哪些事情;改寫過session 的儲存嗎;資料庫設計是什麼樣的;密碼怎麼處理;怎麼實現一個定時退出的系統等等。如果用過架構,那就問問對於mvc模式有自己的考慮嗎;路由的原理是什麼。。。
基本上根據答題情況,能夠篩選一些還可以的PHPer,但是實際效果還是有一些不足之處。我以前招進來一個同事,面試的時候面的頭頭是道,但進入具體的項目中,對商務邏輯的理解讓人抓狂,出東西慢並且代碼寫的很不好。後來就增加了一些針對商務邏輯的面試題,並且要求面試人員手寫一些代碼。
感覺我的答案可能不對題啊,更像是對如何面試PHPer的答案。我諮詢了一下我身邊的一位很牛PHP程式員,他也是我的面試官,他的回答如下(非原話):
1.PHP基本功,字串與數組
2.網路功能,發起curl,socket編程等
3.對網路開發的理解,tcp/udp, http 協議的討論
PS:對具體函數的掌握要求不高,反正可以查手冊。

---------------
以上0.簡單做一下自我介紹,? 然後談一下近三年來你的得意之作?
1.看看簡曆,會問一些過去做的項目的使用者量、pv、輸送量、相關痛點和解決方案等
2.資料庫設計經驗,為什麼進行分表? 分庫?
一般多少資料量開始分表? 分庫? 分庫分表的目的? 什麼是資料庫垂直分割? 水平分割? 分區等等?可以舉例說明
3.資料庫最佳化有哪些? 分別需要注意什麼?
4.web開發方面會遇到哪些緩衝? 分別如何最佳化?
5.給你256M的記憶體,對10G的檔案進行排序(檔案每行1個數字),如何??
對10G的檔案進行尋找如何??
統計10G檔案每個關鍵字出現的次數如何??
6.假如你現在是12306火車訂票的設計師,你該如何設計滿足全國人民訂票?
7.假如有1億使用者的訪問量,你的伺服器架構是怎樣的? 使用者資訊的儲存方案如何設計?
8.如果你是技術組長,所帶團隊任務進度無法完成你該如何解決?
如果在進度排滿的前提下插入任務,你該如何保證總進度不延期?
如果有的工程師今天預定任務沒有完成,你該如何解決?
9.從你的經驗方面談一下如何構建高效能web網站? 需要哪些環節? 步驟? 每個步驟需要注意什麼如何最佳化等?
10. 為什麼要對資料庫進行主從分離?
11. 如何處理多伺服器共用session?
12. 一個10G的表,你用php程式統計某個欄位出現的次數,思路是?
13. 會告訴你一個nginx日誌例子,用你認為最佳的程式設計語言統計一下http回應時間超過1秒的前10個url?
14. 給你一個mysql設定檔,用你認為最佳的程式設計語言解析該檔案?
15. 給你兩個路徑a和b,寫一個演算法或思路計算a和b差距幾層並顯示a和b的交集?
16. 給你一個url,在nginx配置一下rewrite指定到某個具體路徑?
17. 一個php檔案的解釋過程是? 一般加速php有哪些? 提高php整體效能會用到哪些技術?
18. session和cookie生存周期區別? 儲存位置區別?
19. require、include、require_once、include_once區別? 載入區別? 如果程式按需載入某個php檔案你如何??
20. chrome號稱為多線程的,所以多線程和多進程的區別為?
21. php在2011年底出現hash碰撞,hash碰撞原理為? 如何進行修複?
22. web不安全因素有哪些? 分別如何防範?
23. 假如兩個單鏈表相交,寫一個最優演算法計算交點位置,說思路也可以?
24. 假如你是技術組長? 如何提高團隊效率?
25. nginx負載平衡有哪些? 如果其中一台伺服器掛掉,警示機制如何??
26. 不最佳化前提下,apache一般最大串連數為? nginx一般最大串連數為? mysql 每秒insert ? select ? update ? delete?
27. mysql 資料類型有哪些 ? 分別佔用多少儲存空間 ?
28. nginx設定緩衝js、css、圖片等資訊,緩衝的實現原理是?
29. 如何提高快取命中率? 如何對緩衝進行顆粒化?
30. php的記憶體回收機制是?
31. 我的所有問題都問完了,你有什麼問題問我沒有?不太認可目前排名第一的答案,有些問雖然面試的時候不知道,但是可以Google的啊.難道考曆史的時候,問:曹操出生於哪個時辰? 能夠知道的算是曆史瞭解得多嗎?不一定吧.

我覺得,一個程式員的能力,是如果把具體的問題抽象出模型來.把公司遇到過的問題或業務由易到難各抽一些,讓面試者提出解決方案或思路。感覺不要面試什麼過於理論的東西

而是解決實際問題的能力!面試php工程師取決於面試官的角色
1,面試官是業務面試官還是hr。兩個角色的思路和方向是不同的。
2,業務面試官的考題應該是針對專業技能方面。通常是由同崗位專業技能較強的同事來放任或是業務主管。但注意面試是為了瞭解對方的技能結構而不是要考倒他
3,hr方面則是從求職動機,期望的工作環境薪資待遇是否和公司匹配,注意用工風險方面。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.