本問題被收錄至活動「你現在的工作,是曾經的夢想嗎?」中。

活動時間:2019/8/9 - 9/3

活動規則:內容大於 300 字、無事實錯誤且同等條件下創作時間在前的回答將被優先採納,回答被採納後將獲得知乎鹽選會員 7 天體驗卡並有機會獲得精美的知乎周邊禮物

詳情請見活動內。為職場新人答疑解惑,期待你的分享~

其它活動問題

  • 後端開發工程師工作有哪些「新手常見錯誤」?
  • 後端開發工程師工作有哪些適合入門和了解行業的書籍、視頻?
  • 作為後端開發工程師的核心競爭力是什麼?


在說後端開發的日常工作之前,先說說一般的後端工作流程。

後端工程師的主要工作就是根據產品功能點的需求文檔,交互原型和前端工程師配合,把產品功能點實現出來。

一個新產品功能要進入研發階段之前,產品經理會準備好需求文檔和交互原型,然後拉上相關的前端,後端,運營一起開一個新產品的評議會議。

會議上產品經理先演示產品原型,把要實現的功能點講一遍,然後各個與會人員可以發表自己的意見,也就是各個崗位的人員與產品經理的PK。前端工程師針對交互邏輯和交互的技術實現層面提出疑問和看法。運營針對產品的可行性和產品驗證指標提出自己的疑問和看法。後端工程師針對業務邏輯是否合理,技術實現層面是否可行等提出自己的疑問和看法。會議最後會確定新產品可行性,前後端估算研發工作量,敲定產品上線時間點。

一般會議結束後確定新產品功能可行就會馬上進入研發階段。首先後端工程師和前端工程師再簡單討論一下,確定哪些業務邏輯在放前端實現,哪些業務邏輯放在後端實現,敲定前後端聯調方式,聯調時間。接著後端工程師根據產品的交互原型設計好API文檔,然後拿著這份API文檔和前端工程師對接,看看API設計是否合理,聽聽前端工程師的意見,修修改改,前後端意見達成一致後就可以按照這份API文檔的約定各自開展自己的工作了。

前後端對接完API文檔後,後端就可以開始開發新功能了!根據需求先設計新的資料庫表,以及修改已有的資料庫表設計以滿足新需求。資料庫表設計完後在本地資料庫上執行資料庫表設計的變更。檢驗一下資料庫變更是否符合向前兼容的上線原則,因為線上產品一般不能停機發布,修改線上資料庫時舊的後端代碼還在持續運行中,所以資料庫變更必須兼容上一個版本的後端代碼。

如果新功能需要依賴新的中間件服務或者第三方服務,就去調研一下依賴的中間件和第三方服務,做一下技術選型,然後在本地環境上安裝一下,調試一下,敲定最終要使用的版本。

前面這些基礎工作完成後就可以開始碼代碼了。去代碼版本管理庫(Github,碼雲,Coding)為新產品各個獨立功能點切一個新的分支,打開IDE開始碼。碼得差不多了,在前後端約定的聯調時間之前,先自己本地把新功能跑起來,按照需求文檔測試一下業務流程是否能跑通,有沒有BUG。

自測完成沒啥問題後,在前後端聯調之前還有點時間,可以做一些正式上線前要做的準備工作,比如整理一下資料庫變更相關的步驟,準備資料庫向前兼容需要的數據調整腳本,整理一下在線上環境安裝新功能依賴的中間件的文檔。最後把前面這些文檔整合在一起做成一個新功能上線計劃。

到了前後端約定的聯調時間了,先在代碼版本管理庫里把要上線產品相關各個功能點的代碼分支合併成一個待上線的代碼分支,在聯調環境中發布這個分支。同樣的,前端也合併出一個待上線的代碼分支發布到聯調環境。然後可以開始聯調測試,現在前後端程序在同一環境下運行並相互協作,現在聯調環境里發布的就是要上線的新產品最終完成的樣子了,測試一下前後端程序一起工作的情況下是否符合產品的所有需求,有沒有BUG。

前後端聯調測試完,修復所有BUG後研發階段算是暫時完成了,可以交付產品經理確認。一般產品經理會提出一些小修改,前後端分別修改然後聯調下修改的部分再交付產品經理確認。

產品經理在聯調環境確認過新產品後,就可以將新產品發布到測試環境進入測試階段。小公司里一般會安排所有人都參與到測試工作里,一輪測試下來把發現的BUG匯總後,前後端各自領回去修復,然後再進行一輪測試,一般三輪測試下來所有BUG就都修完了。後端可以繼續準備上線的相關工作,然後在約定的上線時間正式發布新產品。新產品上線後一般會再組織一輪測試,驗證產品在線上環境是否正確上線。

上面就是一個產品從研發到上線的主要流程,以及後端工程師在其中承擔的主要工作。簡單總結一下:

1.參與產品評議會議

2.前後端溝通確定API文檔

3.資料庫變更設計

4.第三方服務選型

5.實現業務邏輯

6.自測並跑通產品業務流程

7.組織前後端聯調

8.交付產品經理確認

9.交付測試確認

10.正式上線產品功能

互聯網初創公司喜歡快速迭代的方式研發產品,我所在的公司一般一兩周就會上線一個新功能。我們把上線時間定在每周四,上線後周五可以觀察一天,以免在周末有問題要回公司加班。

一般周四上線後,周五產品經理就會開下周要上線的新產品功能的評議會議,會後最慢周一後端會完成API文檔和資料庫設計,從周一到周四下午都是在碼代碼,期間可能還要修復上周四發布產品出現的BUG。一般周四都要加班,下午前後端聯調完就測試,然後晚上發布產品。

一周中大概有20%時間用來和產品及前端對接溝通,然後設計後端方案(主要是API文檔,資料庫設計,第三方服務選型)。40%的時間做實際的開發工作。20%時間修複線上的BUG。20%時間和前端聯調還有測試。


大概有六個更新,分析微轉系統後端

一、微轉是什麼

微轉就是一個平台上自己在後台收錄大量的文章給用戶閱讀,然後用戶進行轉發或者邀請新用戶的時候我們就會給於一定的金錢作為獎勵,而且,每閱讀一次都有不同的收益。

二、微轉的模式

1. 用戶轉發賺錢

用戶下載app註冊登錄之後,可以看到後台推送過來的文章。並且做好了很多分類,比如情感,科技,育兒,汽車,體育,國際,財經等板塊。用戶可以到自己感興趣的板塊上選擇需要轉發的文章。

選擇按照自己朋友圈內的喜好,選擇相對應的板塊。

朋友閱讀之後,轉發的用戶就會獲取一定的收益。

因為轉發有收益,所以可以快速的獲取用戶並且裂變粉絲。

2. 通過文章後台加入廣告平台賺錢

平台會在文章相應部分,增加信息流的連接。用戶看到標題以後,如果感興趣就會點擊鏈接進去。

點進去之後,就是相對應的文案。文案的好壞,直接關係到吸粉引流的轉化率。文案可以是廣告主來提供,也可以是平台幫忙編寫。

一般來說,平台都是通過文案標題被點擊次數來計費。這樣平台有收入之後,分配一部分給分發的用戶,其餘部分就是毛利了。

三、微轉主要功能

功能分為前端和後端。前端就是app用戶看得到的部分。主要給用戶展示信息和一些操作用。

後端主要處理邏輯數據。

1. 後台端

1.1 前端介面的後台處理

前端的一些動作,比如登錄,註冊,文章轉發等,都是通過介面,由後台來處理的。

後台需要把這些介面的具體邏輯都來實現,在前端看來,就是一把的完成了。

前端有時候看感覺有點慢,其實就是後台一直在運算,還沒有出結果。

1.2 廣告主充值

平台的主要收入,就是通過廣告來的。展現廣告之後,如何扣費。不同的平台有不同的策略。

平台根據不同的策略,再查看廣告主的餘額,從而決定廣告的展現位置,展現時間等。

1.3 各種信息查詢

後端平台需要提供信息的查詢。

主要給運營人員使用的:每天的用戶數據,廣告點擊數據,文章轉發數據等到

還有廣告主需要的數據:有多少用戶看了廣告,看了多久等。

1.4 用戶計費處理

用戶把文章轉發出去有人打開之後,就是開始計費。有人看之後每次計費多少。一般來說,不同的文章會不一樣。

還有一個邏輯就是,有些刷子,會通過各種方式在刷數據。後台需要根據各種數據來把這些刷子給識別出來。識別出來以後,根據嚴重程度做不同的處理,最嚴重的是直接封號。

2. App端

2.1 用戶註冊

處理用戶的註冊登錄功能。現在一般直接通過微信授權就可以登錄了。

還需要手機號碼驗證的,對用戶來說太麻煩。

用戶註冊之後,後台會做該用戶的登記。以後每次直接通過微信就可以登錄了。

2.2 用戶轉發文章

登錄之後,就可以查看到當前的文章分類。挑選喜歡的文章進行轉發。

在app端看文章是看不到廣告信息的,轉發出去的才能看到。

2.3 用戶裂變

用戶介紹用戶,是最快的裂變方式。用戶介紹另外一個用戶來註冊,是可以獲取一定的獎勵的。

介紹來的用戶的收入,自己也可以分一部分。

2.4 各種信息查詢

用戶需要在app上顯示相關的信息,比如轉發了多少問題,介紹了多少用戶,今天有多少收入等。

有了收入,就可以提現,一般的提現是通過紅包的方式發放。

2.5 數據上報

抓發出去的文章,是否被閱讀了,被閱讀多久了,需要在用戶端把數據上報給後台端。後台拿到這些數據之後,經過加工,變成有效的信息保存起來,在適當的時候給用戶或者運營人員查看。

以上是微轉平台的總體介紹。微轉平台,本身就跑在私域上,對於私域引流來說是一個很好的方案。 比較適合男科,減肥等產品的信息流投放。

其他更詳細信息歡迎來溝通,討論。


這2小時代碼,寫一下午測試用例,然後提單走流程,兩周後,發布


早上打開郵件把未讀消滅

上午看項目進度,決定今天的抓頭次數

中午睡醒看10分鐘top熱帖

下午看今天進度,決定打水次數

晚上的生活是薛定諤的貓

周內不定時穿插幾次welcome to join the conference.


寫文檔,寫測試用例,寫單據,寫需求


加班


我是個前端啊,為什麼邀請我回答後端的問題啊


思考人生


從頭再來。


推薦閱讀:
相关文章