“1秒以內?不可能。檔案上傳的物理時間就不止1秒。”
耿直搖搖頭:“但我可以做到。”
廖軍再吃一驚,連忙問道:“怎麼做?”
耿直笑著道:“等你入職之後,才能告訴你。”
廖軍沉默了很久。
“你是做技術出身的?”他終於問了第一個自己早就想問的問題。
“對,我是CS科班出身。”
“呃……原來耿總你是交大的博士啊?”廖軍半確定半疑惑問了句。
“不是。”耿直搖了搖頭,如實回答,“我是蘭大本科,確切說,我今年9月才研一入學交大。”
廖軍再驚,喃喃道:“哦,原來蘭大計算機這麼牛逼啊!”
耿直本想說[不是蘭大牛逼,是我耿直牛逼],但想了想,忍住了。
他沒給廖軍多問的機會,繼續問道:
“第四個問題:使用者在魔都,給一個在紐約的使用者發訊息。跨洋網路延遲200毫秒以上,而且不穩定。怎麼保證體驗?”
廖軍這次沒有立刻回答。他在認真思考。
“部署海外節點,訊息走專線。魔都使用者發訊息,先到魔都節點,走專線到美利堅節點,再推送給紐約使用者。”
耿直:“專線成本很高。如果暫時沒有專線,怎麼辦?”
廖軍想了想:“訊息先落地,非同步同步。魔都使用者發完,訊息落魔都庫,後臺非同步同步到美利堅庫。使用者看到[已傳送],等同步完成後再顯示[已接收]。”
耿直:“那如果使用者在同步完成之前就下線了呢?”
廖軍:“下次上線時拉取。”
耿直:“那使用者怎麼知道訊息已經同步到對方了?”
廖軍沉默。
耿直:“能不能做[多資料中心同步+客戶端狀態機]?訊息在魔都落庫後,狀態是[已傳送]。同步到美利堅後,狀態變[已同步]。對方客戶端拉取後,狀態變[已接收]。這樣使用者能看到訊息的完整生命週期。”
他頓了頓:“技術上難嗎?”
廖軍看著他,眼神複雜。
技術上不難,但這個問題,不是一般人能問出來的。
“不難。但需要設計狀態機和同步協議。”
耿直放下手中的筆,直視著廖軍:“對。這就是我要找的人——能把這些[不難但沒人做過]的事,做出來。”
廖軍的身子直了直,確認道:“耿總,我想知道,貴公司是要做出海IM產品嗎?”
明悼萍脊粳F階段當然不會直接做出海IM,這條路面臨嚴苛的監管問題,是很難走通的。
不過廖軍未來會不會來公司,耿直無法確定。所以還不能跟他說新產品的對手是企鵝,便用出海產品當幌子。
此刻他只是報以微笑,沒有肯定也沒否定。
但看在廖軍眼裡,答案是:“是。”
耿直繼續道:“廖總,我的技術問題問完了,但還有其他問題。我問完,再回答你。”
“哦,好。”廖軍尷尬地點點頭。
耿直再次直視廖軍:
“你在QQ做了8年,QQ的IM系統,是全國網際網路界最成熟、最穩定、最能扛的系統。我很好奇,你有沒有想過,QQ這套系統,有什麼是你想做,但沒做的?”
廖軍沉默。
他開始回憶,從現在一下子回憶到了剛入職企鵝的時候。
沉默許久後,他才緩緩開口:“有。”
他頓了頓:“QQ的架構,是2000年初設計的。這十年,我們一直在修修補補,但底層邏輯沒變過。有些新東西,不是不能做,是QQ的體量太大,不敢動。”
耿直:“比如?”
廖軍:“比如,訊息的狀態。QQ的訊息……不是做不了,是QQ十億使用者,改狀態機牽一髮而動全身。”
耿直:“如果從零開始設計一套IM系統,你會怎麼做?”
廖軍:“我會把……”
耿直:“還有呢?”
廖軍又巴拉巴拉說了一堆。
本來,這些東西,有的並不適合在面試的時候講。但氛圍到了,廖軍依然情不自禁地說了出來。
耿直笑了:“廖總,這正是我想做的。”
他站起來,走到白板前,畫了一條線。
“廖總,正如你所說,我們不是繼續在陌陌裡做,而是從零開始,設計一套IM,不為歷史包袱妥協,讓北美的人也能用上。”
他轉身看著廖軍:“我需要一個人,來幫我搭這套系統。你是我能找到的最合適的人。”
廖軍沉默了很長時間。
他終於開口:“耿總,我問幾個問題。”