前端開發如何快速瞭解新業務

最近接觸新業務較多,關於瞭解新業務有一點感想,總結以下:前端

1.比了解新業務代碼更重要的是要了解新業務,比了解新業務更重要的是業務意識
2.若是是業務開發,畢業前三年更應該關注於技術以及技術細節,三到五年技術業務並重,五年之後業務爲主

如下是關於如何快速熟悉新業務的一些經驗之談.面試

工具

工欲善其事,必先利其器。

Chrome 多用戶模式

方便多個 (大於兩個) 用戶切換 (管理員/用戶/各類角色)redis

業務數據庫權限 (生產環境)

最好可以擁有線上數據庫權限,擁有最真實的數據,人每每會對不合理假數據本能排斥。

數據庫是瞭解業務最快的方式數據庫

日誌系統 (或者 APM)

在須要瞭解某個業務細節時,能夠利用日誌系統瀏覽器

  1. 在前端進行頁面交互,找出關鍵請求
  2. 找出關鍵請求的 requestId (sessionId/transactionId/logId/trackId 等各類名字)
  3. 根據 requestId 在日誌系統(或者 APM) 中找到對應的 SQL/redis-command/requests (主要是 SQL)

若是沒有 requestId 怎麼辦?服務器

那隻能仔細去看代碼了網絡

代碼倉庫

孫子兵法雲: 上兵伐謀,其次伐交,其次伐兵,其下攻城。

在熟悉新業務時,最上者點來點去熟悉系統,其次與他人交流,其次點頁面查 SQL,最下看代碼。session

代碼以服務器端代碼爲主,快速瀏覽如下文件:運維

  1. router: 用以定位業務細節的具體邏輯
  2. 業務邏輯層: 根據 router 點進來後的具體業務邏輯,因爲層層嵌套,可能須要點上幾十次。 瞭解代碼的具體組織結構,當有須要時再去深刻了解
  3. constant: 瞭解業務中各類資源的類型,狀態,狀態機,以及與數據庫字段的對應 (數據庫可能存儲爲 enum, 也有多是 int)。其中表明的數據比這些數據在編碼中怎麼用更爲重要,固然二者緊密相連
關於 constant,最好使用 enum 而非數字維護.

瞭解業務

瞭解業務類型

你如今負責的業務的用戶是誰?
  • 有多是面向各個離散的無相互關聯的C端用戶
  • 也有多是服務於各大企業 (組織/機構) 的 B 端用戶。
  • 也有多是服務於廣大公司內同事,好比給運維使用的運維平臺,給銷售使用的 CRM,給 QA 的測試平臺,還有 MIS,OA 等等此類
  • 還有多是用戶服務,訂單服務,數據服務,商品服務等

不一樣的業務類型就有不一樣的工做重心,好比 toB 莊重,toC 活潑,對內能看就行...微服務

你如今負責的業務如何來錢

這也是一個關鍵問題

瞭解系統

瞭解該業務所涉及到的核心繫統,與業務類型相關。我簡單分爲兩類

  • 前臺系統:面向用戶,toC 面向廣大用戶,toB 面向企業與企業員工,toB 面向使用者
  • 後臺系統:面向管理員,就是常說的後臺管理系統

熟悉系統主要流程並實操

瞭解用戶的高頻操做,主要途徑點點點和不懂就問。有些高頻操做,須要後臺管理員以及各個角色配合, 這時能夠在多用戶的 Chrome 中進行操做

  • 好比知乎的提問,答題,評論,點贊到後臺的帖子管理封禁等
  • OA 系統的流程發起,以及各個角色的審批
  • CRM 的商機,訂單,工單操做

瞭解系統邊界

因爲微服務的流行,新業務的全部數據有可能來自於基礎服務。在熟悉業務過程當中,有必要了解哪些數據本身維護,哪些維護在公有服務

  • 用戶數據由業務內維護仍是用戶服務
  • 訂單數據由業務內維護仍是訂單服務
  • 諸如此類

瞭解邊界系統

即以上所述的用戶服務系統或者訂單服務系統。瞭解經常使用的表,有必要時能夠申請數據庫權限

瞭解用戶以及權限 (用戶/管理員/角色/企業)

瞭解業務內有什麼權限,以及每一個權限組成的角色。

能夠模糊分爲如下幾個表,須要重點關注

  1. permission: 權限表
  2. role: 角色表
  3. user: 用戶表
  4. organization: 企業/機構表

另外還須要瞭解用戶登陸以及註冊過程,有沒有第三方登陸,以及 toB 方的自家用戶系統的接入

瞭解數據

好比何查 SQL 更重要的是數據自己,有必要時能夠記住,好比:

  1. 大客戶 id 以及 name
  2. 深度用戶的 id 以及 name
  3. 主要資源/內容的 id
  4. 主要資源/內容的 status/type (參照 enum/constant 文件)

如下是常見的一些數據以及 SQL 操做,主要針對一些常量與主要業務

-- 瞭解用戶量,必要時能夠記住...
select count(*) from users wehre is_deleted = false

-- 瞭解某項業務的字段
\d business
select * from business order by id limit 1

-- 瞭解目前爲止該業務有多少許數據
select count(*) from business

-- 瞭解某項業務的各個狀態,以及分佈
select status, count(*) from business group by status order by count desc

-- 瞭解某項業務的各個類型,以及分佈
select type, count(*) from business group by type order by count desc

數據系統

若是對系統接入了 GA/神策/GrowingIO 等數據統計系統,進入系統瞭解並記住重要數據,瞭解用戶對系統的使用深度以及常見業務的使用狀況。

若是沒有接入數據系統怎麼辦? 參考上一條,手動查 SQL

最後

我在工做之餘整理了一份大廠常見的前端面試題,其中包含HTML、CSS、JavaScript、服務端與網絡、Vue、瀏覽器等等,免費分享給你們,還在持續整理收集整理中,有須要的朋友 點擊這裏免費領取題目+解析PDF。

篇幅有限,僅展現部份內容

但願你們明年的金三銀四面試順利,拿下本身心儀的offer!

相關文章
相關標籤/搜索