第一百五十三章 技術體檢
第153章 技術體檢
韓非和溫傑走進被技術部門占用的會議室,聽見裡頭的說話聲立刻停止。總部的技術小組這段時間在負責系統的日常的運維與監控,並持續進行深度優化與功能落地。
林峰每天會花一到兩個小時,和溫傑一起過一遍核心代碼,相當於高級技術顧問手把手帶教。技術小組要求溫傑把系統架構、接口規範、常見問題處理寫成文檔,讓溫傑建立規範,為以後帶團隊打下基礎。
他們甚至還搞過兩次應急演練,模擬了「SP接口突然失效」和「資料庫連接池爆滿」的故障,讓溫傑獨立排查解決。
「不打擾你們吧?」韓非說。
「韓社長來得正好。」周明的視線離開電腦,看著韓非,「我們在復盤昨天那輪應急演練的日誌,順便聊了聊溫傑寫的那個A/B測試模塊。」
林峰在椅子上坐直身子,清了清喉嚨:「溫傑剛才跑出去的時候,我就跟周工說,肯定是去找韓社長了。那個模塊的思路沒問題,但落地上有幾個坑,比如樣本分流的隨機性算法,目前還是基於時間戳取模,這在並發量上來之後會有嚴重的哈希傾斜。」
「呃......是嗎?」溫傑說。
「你來看,」王哲調出一張柱狀圖:「我們模擬了一萬QPS的請求,時間戳取模的分布偏差最大到了18%。如果按這個邏輯去做文案對比測試,結論可能會被誤導。」
溫傑傾身靠向屏幕:「我寫的時候也想過這個問題,但當時急著做個樣品出來,就先用了最簡單的方案,本來打算等用戶量起來之後再優化。」
「沒關係,已經想到優化方案了。」林峰說,把電腦屏幕轉了過來,「改成一致性哈希加用戶ID分桶,偏差能壓到3%以內。demo寫好了,十分鐘就能集成進去。」
韓非看見屏幕上是一段簡潔的PHP代碼,注釋寫得清清楚楚。他雖然看不懂具體邏輯,但一見到溫傑臉上的表情,他就知道這確實是個更好的方案。
「周工,」韓非微笑說,「我原以為你們本來只是幫我們做系統加固和接口對接,沒想到現在連A/B測試這種偏業務的功能都幫我們優化了,真是太辛苦你們了。」
「韓社長,」周明說,「總部派我們來的時候,劉總只是交代說把青鳥這個試點的技術底子打紮實,讓它能跑、能扛、能長。至於怎麼算紮實,就由我們自己來判斷了。A/B測試雖然是偏業務的功能,但它直接關係到你們轉化率優化的效率。如果這個模塊有隱患,等你們做到百萬級用戶再去修,成本就太高了。我們順手幫你們補上,也算是盡職盡責了。」
韓非點了點頭,心想這大概就是工程師對工程質量最樸素的執拗了。
「行,那我也就不跟你們客氣了。」
「韓社長,你本來就不用跟我們見外。」林峰說,「我們把硬骨頭都啃得差不多了,現在的架構,撐你們接下來幾個月的用戶增長問題不大。接下來我們幫你們完成廣東試點的對接,再把新招的技術人員簡單培訓一下,也就該撤了。」
「這麼快?」韓非和溫傑同聲說。
「嗯,而且我們看溫傑現在的狀態,獨立排查故障、優化慢查詢、甚至自己動手重構模塊,已經越來越順手了。說句實在話,我們在這兒,有時候反而會讓他產生依賴心理。我們能做的和該做的都做完了,剩下的就該是溫傑和他即將組建的團隊的主場了。」
溫傑眨眨眼,吸了口氣:「想不到你們這麼快就要走了。這段時間你們手把手教的,比我過去一年自己琢磨的都多。」
「你捨不得啊?」王哲大笑幾聲,「放心吧,方總交待過了,以後每兩個月,我們小組都會抽一個人過來做一次技術體檢,幫你們看看有沒有大的隱患。
就當是......遠程保健醫。」
「真的啊?」溫傑臉上浮現出笑意,「那太好了。我還以為今後再也見不著了。
「」
「想什麼呢?」韓非笑說,「青鳥跟移動是長期合作,大家以後少不了接觸的。說正事,過濾系統。」
兩人來到溫傑的電腦前坐下,聽見林峰和王哲發出哈哈的笑聲。
「非哥,我分成幾塊說吧。」溫傑調出一個簡潔的列表頁面,上方是幾個篩選標籤,下方是密密麻麻的投稿條目,「首先是資料庫和投稿入口。我建了三張表:投稿主表、標記日誌表、素材庫表。投稿入口已經掛在青鳥閱讀的WAP站上了,就是底部加了一個講出你的故事的連結,點進去是一個極簡表單,填好故事和聯繫方式就能提交。後台能自動記錄提交時間和IP。粗篩是用PHP寫的一個過濾腳本,每天凌晨自動跑一遍當天的新投稿。過濾條件,一個是按長度,少於十五個漢字的直接進待人工覆核隊列,標記為過短。二是重複檢測,對完全相同或相似度超過80%的投稿做合併標記。最後是關鍵詞黑名單,GG、涉政和明顯違禁詞之類的就直接扔進垃圾箱,可以定期清空,不會進正常審核流。」
「測試情況怎麼樣?」
「我用四百多條真實投稿跑了一遍,目前雖說能把80%的垃圾GG自動擋掉,但誤殺率有點高。」
「有多高?」
「大概有15%左右的有潛力投稿被標記成了過短或疑似重複。有些長度剛好十五個字卻語義完整的,就被我的規則卡住了。但性能上沒問題,四百條投稿跑完不到兩秒,不會影響主站的SP接口。而且我留了後門,所有被自動淘汰的投稿不會真的刪除,會進歸檔表保留一個月,萬一誤殺了還能撈回來。」
韓非點點頭:「那離能正式使用還有多遠?」
溫傑想了想:「再給我幾天。我想優化一下短文本語義判斷,加一個簡易的懸念詞庫,比如後來、結果、原來、可是,這些詞命中一條就自動提權,不卡長度,至少要把誤殺率降到5%以內。另外再給待挖掘列表加上一個批量導出的功能,方便編輯把需要跟進的投稿一次性導出來打電話。」
「嗯,可以。這個事暫時先放一天,明天上午盧海拿到合同之後,立刻就得開始做廣東的推送,你這邊做好準備。」
「好,這個你放心。」
韓非和溫傑走進被技術部門占用的會議室,聽見裡頭的說話聲立刻停止。總部的技術小組這段時間在負責系統的日常的運維與監控,並持續進行深度優化與功能落地。
林峰每天會花一到兩個小時,和溫傑一起過一遍核心代碼,相當於高級技術顧問手把手帶教。技術小組要求溫傑把系統架構、接口規範、常見問題處理寫成文檔,讓溫傑建立規範,為以後帶團隊打下基礎。
他們甚至還搞過兩次應急演練,模擬了「SP接口突然失效」和「資料庫連接池爆滿」的故障,讓溫傑獨立排查解決。
「不打擾你們吧?」韓非說。
「韓社長來得正好。」周明的視線離開電腦,看著韓非,「我們在復盤昨天那輪應急演練的日誌,順便聊了聊溫傑寫的那個A/B測試模塊。」
林峰在椅子上坐直身子,清了清喉嚨:「溫傑剛才跑出去的時候,我就跟周工說,肯定是去找韓社長了。那個模塊的思路沒問題,但落地上有幾個坑,比如樣本分流的隨機性算法,目前還是基於時間戳取模,這在並發量上來之後會有嚴重的哈希傾斜。」
「呃......是嗎?」溫傑說。
「你來看,」王哲調出一張柱狀圖:「我們模擬了一萬QPS的請求,時間戳取模的分布偏差最大到了18%。如果按這個邏輯去做文案對比測試,結論可能會被誤導。」
溫傑傾身靠向屏幕:「我寫的時候也想過這個問題,但當時急著做個樣品出來,就先用了最簡單的方案,本來打算等用戶量起來之後再優化。」
「沒關係,已經想到優化方案了。」林峰說,把電腦屏幕轉了過來,「改成一致性哈希加用戶ID分桶,偏差能壓到3%以內。demo寫好了,十分鐘就能集成進去。」
韓非看見屏幕上是一段簡潔的PHP代碼,注釋寫得清清楚楚。他雖然看不懂具體邏輯,但一見到溫傑臉上的表情,他就知道這確實是個更好的方案。
「周工,」韓非微笑說,「我原以為你們本來只是幫我們做系統加固和接口對接,沒想到現在連A/B測試這種偏業務的功能都幫我們優化了,真是太辛苦你們了。」
「韓社長,」周明說,「總部派我們來的時候,劉總只是交代說把青鳥這個試點的技術底子打紮實,讓它能跑、能扛、能長。至於怎麼算紮實,就由我們自己來判斷了。A/B測試雖然是偏業務的功能,但它直接關係到你們轉化率優化的效率。如果這個模塊有隱患,等你們做到百萬級用戶再去修,成本就太高了。我們順手幫你們補上,也算是盡職盡責了。」
韓非點了點頭,心想這大概就是工程師對工程質量最樸素的執拗了。
「行,那我也就不跟你們客氣了。」
「韓社長,你本來就不用跟我們見外。」林峰說,「我們把硬骨頭都啃得差不多了,現在的架構,撐你們接下來幾個月的用戶增長問題不大。接下來我們幫你們完成廣東試點的對接,再把新招的技術人員簡單培訓一下,也就該撤了。」
「這麼快?」韓非和溫傑同聲說。
「嗯,而且我們看溫傑現在的狀態,獨立排查故障、優化慢查詢、甚至自己動手重構模塊,已經越來越順手了。說句實在話,我們在這兒,有時候反而會讓他產生依賴心理。我們能做的和該做的都做完了,剩下的就該是溫傑和他即將組建的團隊的主場了。」
溫傑眨眨眼,吸了口氣:「想不到你們這麼快就要走了。這段時間你們手把手教的,比我過去一年自己琢磨的都多。」
「你捨不得啊?」王哲大笑幾聲,「放心吧,方總交待過了,以後每兩個月,我們小組都會抽一個人過來做一次技術體檢,幫你們看看有沒有大的隱患。
就當是......遠程保健醫。」
「真的啊?」溫傑臉上浮現出笑意,「那太好了。我還以為今後再也見不著了。
「」
「想什麼呢?」韓非笑說,「青鳥跟移動是長期合作,大家以後少不了接觸的。說正事,過濾系統。」
兩人來到溫傑的電腦前坐下,聽見林峰和王哲發出哈哈的笑聲。
「非哥,我分成幾塊說吧。」溫傑調出一個簡潔的列表頁面,上方是幾個篩選標籤,下方是密密麻麻的投稿條目,「首先是資料庫和投稿入口。我建了三張表:投稿主表、標記日誌表、素材庫表。投稿入口已經掛在青鳥閱讀的WAP站上了,就是底部加了一個講出你的故事的連結,點進去是一個極簡表單,填好故事和聯繫方式就能提交。後台能自動記錄提交時間和IP。粗篩是用PHP寫的一個過濾腳本,每天凌晨自動跑一遍當天的新投稿。過濾條件,一個是按長度,少於十五個漢字的直接進待人工覆核隊列,標記為過短。二是重複檢測,對完全相同或相似度超過80%的投稿做合併標記。最後是關鍵詞黑名單,GG、涉政和明顯違禁詞之類的就直接扔進垃圾箱,可以定期清空,不會進正常審核流。」
「測試情況怎麼樣?」
「我用四百多條真實投稿跑了一遍,目前雖說能把80%的垃圾GG自動擋掉,但誤殺率有點高。」
「有多高?」
「大概有15%左右的有潛力投稿被標記成了過短或疑似重複。有些長度剛好十五個字卻語義完整的,就被我的規則卡住了。但性能上沒問題,四百條投稿跑完不到兩秒,不會影響主站的SP接口。而且我留了後門,所有被自動淘汰的投稿不會真的刪除,會進歸檔表保留一個月,萬一誤殺了還能撈回來。」
韓非點點頭:「那離能正式使用還有多遠?」
溫傑想了想:「再給我幾天。我想優化一下短文本語義判斷,加一個簡易的懸念詞庫,比如後來、結果、原來、可是,這些詞命中一條就自動提權,不卡長度,至少要把誤殺率降到5%以內。另外再給待挖掘列表加上一個批量導出的功能,方便編輯把需要跟進的投稿一次性導出來打電話。」
「嗯,可以。這個事暫時先放一天,明天上午盧海拿到合同之後,立刻就得開始做廣東的推送,你這邊做好準備。」
「好,這個你放心。」