專注於PHP、MySQL、Linux和前端開發,感興趣的感謝點個關注喲!!!文章整理在GitHub,Gitee。主要包含的技術有PHP、Redis、MySQL、JavaScript、HTML&CSS、Linux、Java、Golang、Linux和工具資源等相關理論知識、面試題和實戰內容。
概況
這兩天請了兩天假,出去看了看外面的招聘市場。兩天時間差不多面了10家公司,成功拿到7家offer,這裏總結一下,個人在面試中遇到的一些問題,不是很全,有一些忘記了。每道題從題目看很簡單,在實際中都是一步一步步的深度挖掘,這裏就沒有總結的很細。這裏面的公司有電商、遊戲、大數據類型的公司。
PHP相關
-
平常都使用的什麼框架?Laravel和ThinkPHP框架的區別?
-
Laravel常用到的功能有哪些?Laravel依賴注入實現的原理是怎麼樣的?
-
Swoole你用到了哪些功能?對協程這一塊瞭解嗎?
-
能說說PHP的生命週期嗎?傳統的php-fpm模式和swoole有什麼區別?
-
在項目中都是怎麼用hyperf的?瞭解hyperf中的依賴注入實現原理嗎?使用hyperf中的類是怎麼實現的,是通過註解引入嗎?
-
說說你在項目中使用到的PHP函數,任意說幾個以及它的功能?
-
PHP的垃圾回收機制是怎麼樣的?
-
PHP5的版本和PHP7之間有哪些區別?對PHP8瞭解嗎,任意說說其中的新特性?
-
說說php-fpm與NGINX工作原理是怎麼樣的?
-
說一說PHP中的垃圾回收機制是怎麼樣的?
-
cgi與fast_cgi關係是怎麼樣的?
-
isset、empty和is_null區別是怎麼樣的?如果傳遞一個null,該三個函數分別返回什麼?
-
require_once與include_once,require與include的區別?爲什麼一個是警告一個是致命錯誤?
-
php5與php7的區別是怎樣的?
-
php-fpm的工作模式?進程數量配置依據是什麼?
-
說說PHP數組中的數據結構是怎麼樣的?
-
能說說進程、線程和協程的關係嗎?
Redis相關
-
平常使用Redis都是在哪些場景?
-
Redis的持久化有哪幾種?有什麼區別?實現的原理是怎樣的?
-
Redis的事務瞭解嗎?事務都有哪些注意的地方?
-
Redis都有哪些數據類型?你是怎麼選擇數據類型的?底層的數據結構是怎麼樣的?
-
Redis能夠實現命令批處理嗎?
-
Redis的哨兵機制瞭解嗎?實現原理是怎麼樣的?
-
Redis的主從複製實現原理是怎麼樣的?如何保證數據一致性?數據延遲又該如何處理?
-
利用Redis如何實現隊列功能?
-
消息發佈與訂閱有使用過嗎?怎麼使用的?中間又遇到過什麼問題嗎?
-
如何解決緩存穿透、擊穿和雪崩問題?
-
Redis作爲一個內存型數據庫,如何更好的解決內存的佔用?
-
Redis與memcached的區別?什麼時候會選擇memcached?
MySQL
-
列舉幾個MySQL索引失效的情況?該如何優化這些情況?
-
MySQL索引都有哪些?InnoDB索引是用的什麼數據結構,爲什麼使用這種數據結構?
-
MySQL主從複製是如何實現的?如果從節點掛了,重新啓動從節點,如何保持數據一致性?如何解決數據同步延遲問題?
-
說說你優化SQL語句的幾種思路有哪些?
-
說說MySQL中的鎖有哪些?之間的區別?
-
MySQL中的事務瞭解嗎?說說其4大特性?
-
事務中隔離性,有幾種情況?這幾種情況分別會產生什麼問題?
-
MySQL中MVVC實現的原理是怎麼樣的?
-
MongoDB與MySQL的關係,爲什麼日誌系統會選擇MongoDB?
RabbitMQ
-
主要使用的場景在哪些地方?
-
工作模式都有哪些?之間的區別是怎麼樣的?
-
如何保證消息的可靠性?
-
日誌存儲在RabbitMQ,如果同步到MongoDB裏面,如何解決新舊數據問題?(這裏提到了一個公司實際業務問題,公司日誌會存儲到MongoDB,如何保證每次存的都是最新的消息)
-
你知道哪些消息隊列?這些消息隊列有什麼區別?
軟件設計
-
有一個電商營銷活動系統,你該如何去設計這個系統,保證系統不會出現問題?
-
項目中哪些地方用到了消息隊列?是如何設計的?
-
電商系統中,如何保證商品庫存不會超賣問題?
-
如果一頁面請求慢,該從哪些方面排查?
本文分享自微信公衆號 - 卡二條的技術圈(qq1005349393)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。