php 高級研發工程師面試題總結


最近一段時間, 在北京參加30多家大中小互聯網公司面試, 其中有百度, 騰訊, 蘑菇街, 滴滴, 美麗說, 互聯網金融等公司, 面試過程也是學習過程, 從中發現這些知識點范圍是固定的, 或者說如果你細心准備, 大概考點都差不多吧, 下面我會把這些知識點范圍總結下, 僅僅是問題,沒有答案. 同時也歡迎你在下面評論中進行補充. 如果列出問題,你能會80%以上, 我想你能夠拿到每月20k以上的薪水.

一 算法

基本排序算法要會寫,時間復雜度要會推算, 主要是冒泡排序, 快速排序, 選擇排序.
查找算法,要會寫二分查找法, 實際場景要會應用.
實例算法思路要明白,基本算法看多了, 我覺得是幾種思路的變換, 需要自己領悟.
面試中考過:

  1. 猴子選大王
  2. 斗地主項目設計
  3. 實現隨機函數
  4. 字符串中元素各種變形查找
  5. 123456 六個數放到三角形三個頂點及中點上,使每條邊上的數字和相等
  6. 一個超大文件里面存放關鍵,統計每個關鍵的個數, 問如何實現
  7. 一個10G的文件,里面存放關鍵字, 但內存只有10M, 問如何實現統計, 出現關鍵字次數最高的前100個
  8. 實現單鏈表與雙鏈表
  9. 實現有權重的隨機算法
    應該就這么多,其他想不起來, 做這些算法需要冷靜分析下, 不要輕易說no

二 php 知識

  1. 說說php的魔術變量, 要能全部說出來.
  2. php的設計模式, 要能清晰說出單例, 工廠, 注冊模式的實際應用.
  3. session與cookie的區別及如何解決session的跨域共享.
  4. 如何防止sql注入及數據安全問題.
  5. php的生命周期, 啟動流程, 多看TIPI.
  6. php的垃圾回收機制, php變量,數組 c源代碼如何實現.
  7. fastcgi 比 php-cgi 的優勢在哪里.
  8. 你用過那些框架, 各自有什么優缺點.
  9. 你是怎么理解php的.
  10. php運行模式有幾種,分別是什么.

三 網絡

  1. http code 碼含義 比如204, 304, 404
  2. apache與nginx對比,你覺得他們各自的優缺點.
  3. nginx與php數據通信原理是什么.
  4. http1.0與http1.1的區別, http與https的區別.
  5. 描述http請求的三次握手.
  6. 如何實現跨域請求.
  7. 關於header的各種參數的作用.
  8. 長連接的優勢在哪里.

四 數據庫

  1. 你采用mysql的引擎是什么. mysql innodb與myisam 這兩種引擎本質區別是什么, 要能夠從底層數據實現來說.
  2. mysql 字段類型有那些, 它們在內存能夠存儲多少字節數據, 比如 datetime timestamp date.
  3. 在正式服務器上, 如何操作一個存儲大數據表上增加一個字段或添加索引或改變數據字段類型.
  4. 索引最左原則的意思是什么.
  5. mysql分庫分表策略, 如何解決增表,減表問題.
  6. redis與memcached對比,各自優缺點.
  7. redis與memcached如何實現分布式搭建.
  8. 一致性hash原理是什么.
  9. mongodb與mysql對比,優勢在什么地方.

五 LINUX

  1. 如何查看服務器負載
  2. 說說你常用的命令
  3. 如何統計日志文件中訪問次數最多的十個ip地址.
  4. 源碼編譯過lamp 或 lnmp 軟件嗎
  5. 在當前目錄下,如何查找包含keyword文件.
  6. 如何重啟php 或 nginx.
  7. 進程與線程的區別
  8. 什么情況下會出現死鎖, 如何解決死鎖.

六 綜合

  1. 說說你在工作中碰到的難題及如何解決的, 或講講你做過的項目中有難度的項目.
  2. 你能說一下微博的架構流程是什么樣的嗎? (這個問題我也是醉了)
  3. 說說你們現在服務器的架構是什么樣子.
  4. 高並發,高流量情況下,如何設計秒殺或搶紅包架構.
  5. 除了php,你還會那種語言

轉載:http://blog.51cto.com/mengphilip/1691323

大佬面試題

  1. PHP垃圾回收機制
  2. PHP的弱語言類型如何實現的
  3. PHP異常的使用方法以及你的經歷
  4. swoole的進程模型
  5. TCP/IP協議
    優信
  6. 考的是strpos返回值與true false和以及=的問題
  7. 簡述tcp udp http與https的一些東西,除了php,你還寫過哪幾種語言,感覺有什么區別。
  8. 如何取出nginx日志中訪問最多的前十個ip地址
  9. mysql中binlog是什么簡述一下,一個事務在主從延遲中可能會產生什么問題
  10. 手寫函數,用球形結構將一個文件夾中所有文件以及文件夾展開
    滴滴
  11. 為什么用swoole?swoole的優勢是什么?
  12. tcp三次握手過程,詳細一些。
  13. 握手過程中可能出什么問題
  14. 優先級隊列如何實現
  15. 什么是epoll?你怎么用的,簡單寫下代碼?accept阻塞在哪兒了?如果是epoll為什么不阻塞了?
  16. 異步和非阻塞的區別,說詳細
  17. php中使用epoll的偽代碼流程
  18. 進程,線程,協程的區別
  19. 最大堆最小堆實現優先級隊列
  20. arp協議和rarp協議,說下arp劫持
  21. epoll的常用模式是哪兩種?區別是什么?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM