專注於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工作原理是怎麼樣的?
Redis相關
平常使用Redis都是在哪些場景?
Redis的持久化有哪幾種?有什麼區別?實現的原理是怎樣的?
Redis的事務瞭解嗎?事務都有哪些注意的地方?
Redis都有哪些資料型別?你是怎麼選擇資料型別的?底層的資料結構是怎麼樣的?
Redis能夠實現命令批處理嗎?
Redis的哨兵機制瞭解嗎?實現原理是怎麼樣的?
Redis的主從複製實現原理是怎麼樣的?如何保證資料一致性?資料延遲又該如何處理?
利用Redis如何實現佇列功能?
訊息釋出與訂閱有使用過嗎?怎麼使用的?中間又遇到過什麼問題嗎?
如何解決快取穿透、擊穿和雪崩問題?
Redis作為一個記憶體型資料庫,如何更好的解決記憶體的佔用?
MySQL
列舉幾個MySQL索引失效的情況?該如何優化這些情況?
MySQL索引都有哪些?InnoDB索引是用的什麼資料結構,為什麼使用這種資料結構?
MySQL主從複製是如何實現的?如果從節點掛了,重新啟動從節點,如何保持資料一致性?如何解決資料同步延遲問題?
說說你優化SQL語句的幾種思路有哪些?
說說MySQL中的鎖有哪些?之間的區別?
MySQL中的事務瞭解嗎?說說其4大特性?
事務中隔離性,有幾種情況?這幾種情況分別會產生什麼問題?
MySQL中MVVC實現的原理是怎麼樣的?
RabbitMQ
主要使用的場景在哪些地方?
工作模式都有哪些?之間的區別是怎麼樣的?
如何保證訊息的可靠性?
日誌儲存在RabbitMQ,如果同步到MongoDB裡面,如何解決新舊資料問題?(這裡提到了一個公司實際業務問題,公司日誌會儲存到MongoDB,如何保證每次存的都是最新的訊息)
你知道哪些訊息佇列?這些訊息佇列有什麼區別?
軟體設計
有一個電商營銷活動系統,你該如何去設計這個系統,保證系統不會出現問題?
專案中哪些地方用到了訊息佇列?是如何設計的?
電商系統中,如何保證商品庫存不會超賣問題?
本作品採用《CC 協議》,轉載必須註明作者和本文連結