說起來也是一段難忘的經歷,就在不久前參加了蘑菇街的秋招,最終倒在了2面。。。
自己也收穫了許多最終決定將這次經歷分享給大家,在這兒求個贊!(#.#)
簡歷真的是非常重要的,它就相當於我們的敲門磚,首先自己得有足夠的專案經驗,再者找乙個好模板也非常重要。我在寫簡歷的時候也參考了很多github上的簡歷。
(附上乙個鏈結)
我是通過朋友內推的方式投遞到的蘑菇街,乙個星期後收到了一面的邀請。。。
當時正在教室上課,面試官突然說第二天有事,要提前一天面試,於是我趕忙找了個空閒的辦公室,蘑菇街面試的方式是通過qq視屏面試的,這也是我第一次視屏面試,體驗還不錯,看到面試官後,緊張的心突然不緊張了。(可能是面試官長得比較親切吧)
第乙個環節就是自我介紹了,這個環節要盡量精簡,不宜占用太長的時間,盡量說一些簡歷上沒有的內容。
接下來就是直接懟專案了,我自己做過4、5個專案,由於蘑菇街是個電商公司,所以我就選擇了乙個電商專案。
redis在專案中的使用
秒殺模組
商家填寫秒殺商品,管理員同意,定時指令碼將秒殺商品的資訊存放到redis當中。
使用者秒殺商品,首先會對使用者的排隊次數做校驗,如果該使用者正在排隊秒殺該商品則直接返回(不允許使用者重複秒殺同一商品,害怕一些人作弊!)
然後將使用者秒殺的資訊封裝起來,傳送一條mq訊息,接收方接收後非同步的進行處理(為了提高併發量)
接收方,接收到訊息後主要做一些引數的校驗,然後生成預訂單,扣減庫存(這裡需要通過分布式鎖來防止出現超賣的情況),然後儲存訂單的資訊,修改使用者秒殺的狀態。
最後傳送一條延時訊息(rocketmq自帶,rabbitmq需要通過過期訊息+死信佇列來實現),來判斷使用者的付款狀態,如果在指定時間內還沒有付款的話,就將訂單設為失效訂單,然後做一些資料的補償。
面試官問了一些優化方面的問題,也提出了一些可能會出現的問題
優化:可以通過在nginx的openresty配置一段指令碼,請求達到nginx後直接檢視庫存是否足夠,不足夠的話直接返回。
提前對秒殺的url進行編碼,防止被別人提前知道秒殺的位址,從而通過作弊的手段進行秒殺。
做一些限流的保護
多個系統之間的呼叫
通過openfeign來進行遠端呼叫,然後做一些熔斷的保護防止雪崩的情況。
多個系統呼叫涉及到的分布式事務問題。
(解決方案在我另一篇文章:分布式事務的解決方案)
結束語
ps:一面愉快結束,總耗時50分鐘,面試完心情還是十分的激動。
一面過了1天就收到了二面的邀請,不過二面的時間是定在了乙個星期之後,時間點也很尷尬,正好是下午的2.30,這個時間點正是剛午休完,腦袋暈暈的。
ps:二面持續了30分鐘左右,雖然時間不長但也讓我收穫了很多吧!
通過這次面試可以看出,微服務相關的知識還是很重要的,並且需要對分布式常見的問題有一些解決的思路,
總體的知識廣度要求還是挺高的,深度方面也尤為重要,面試官一般會針對乙個問題給你發出連環炮,直到你答不上來為止,所以平時在學習的過程中一定不能忽視細節方面,也需要多讀讀原始碼,因為原始碼這一塊必是面試加分項,多抽時間對自己所學的知識進行沉澱,把知識變成自己的,終有一天可以「吊打面試官」的哈哈哈。
最後祝願所有的讀者可以找到心儀的工作!
阿里筆試 蘑菇街面試 向來緣淺,奈何情深
2015 08 21 今晚阿里筆試,我報的業務型產品經理,7點開始,15分鐘的不定性選擇題,題目有關網際網路 產品經理基本知識和邏輯推理題 類似行測 一共10題,時間綽綽有餘,個別題可能有點糾結。然後開始了主觀題,7點15 8點15,4道主觀題,選2題作答。題目涉及產品設計 產品分析 吐槽產品功能 ...
蘑菇街前端面試
1.jquery首先要獲取到dom物件,然後對dom物件進行進行值的修改等操作 2.vue是首先把值和js物件進行繫結,然後修改js物件的值,vue框架就會自動把dom的值就行更新。3.可以簡單的理解為vue幫我們做了dom操作,我們以後用vue就需要修改物件的值和做好元素和物件的繫結,vue這個框...
蘑菇街電話面試記錄
1.自我介紹 2.對前端的學習經歷 3.js中新建物件的方法 4.jquery原始碼 5.jquery中效率較低的方法,使用注意事項 6.移動端開發了解嗎 7.css,inline block用過嗎,會有什麼缺點 問題 缺點 對空格敏感,如果多個內聯元素寫在不同行,則會出現空白間距。方法1 寫在同一...