這一輪面試時間比較短,問題在短期內不能很全面展開,所以抓住一些關鍵點變得尤爲重要,這裏我記錄下當時是怎麼想這個問題的。php
問題解析web
子問題1:推送什麼?從問題中看出咱們須要推送的是股價,用戶能夠自定義須要關注哪一個公司的股價;更深一層思考,推送除了股價也能夠有一些該股票歷史趨勢,將來走勢分析,整個這類股票的大局走勢以及該公司最近的新聞等;另外觸發條件也能夠衍生一下,既能夠是由股價到達某個點出發,也能夠在變化劇烈的時候觸發,也能夠在股價在一段時間內的均值達到某個值觸發。面試
子問題2:怎麼推送?咱們有一些傳統手段如PC端的客戶端或者瀏覽器插件推送或者使用郵件的方式推送,另外還有一些新的方式如移動端的短信、App通知推送、微信微博平臺的消息推送等。數據庫
重要特性瀏覽器
系統框架圖服務器
這是現場做答的手稿微信
我用visio重繪了一下:網絡
系統由四部分組成:框架
關鍵技術難點工具
在面試中遇到這個問題的時候有點慌,可是仍是抓住了推送服務的一個根本:及時性。所以暫不考慮用戶端由於網絡問題或者環境問題形成的延時,服務器端信息的採集以及處理將會稱爲整個系統的瓶頸所在,提升這部分的吞吐將會極大提升系統的總體時效性,讓信息第一時間到達用戶手中。