原创 後端系統開發之protobuf使用技巧和經驗

Google protobuf是非常出色的開源工具,在項目中可以用它來作爲服務間數據交互的接口,例如rpc服務、數據文件傳輸等。protobuf爲proto文件中定義的對象提供了標準的序列化和反序列化方法,可以很方便的對pb對象進行各種解

原创 後端系統開發之工作和麪試中的gdb

gdb是C/C++程序員必備的專業技能,工作中gdb最常用的場景有兩個,一個是分析core文件,另一個是調試程序。   分析core文件的方法如下: 1、gdb 程序名 core文件名 2、bt或where命令查看堆棧信息。 3、進入某個

原创 後端系統開發之工作和麪試中的單例

單例是什麼?單例是一種特殊的類,用於確保只有一個對象,同時提供一種全局訪問這個對象的方法。最近在工作中體驗了一把5分鐘將一個類改造成單例,感覺還是蠻不錯的,所以我決定寫一篇文章,跟大家交流技術和經驗。 單例的原理是利用C++中的靜態成員變

原创 後端系統開發之解決歷史bug

背景:系統裏上游模塊A會下發一個參數exp給下游服務B,由於這個參數exp長期未使用,一直無人關注,最近有同事設計的方案需要用到參數exp,卻發現exp未生效。(歷史BUG能一直存在的前提:無人關注和使用) 第一次排查:觀察A的請求日誌,

原创 後端系統開發之面試和工作中的線程池

線程池是一種很經典的技術,在後端系統中很常見。線程池的常規做法是提前創建好一組工作線程,然後將任務分發給這些工作線程來處理,這樣就避免了頻繁的線程創建和銷燬,同時也能很好的控制線程數量。線程池本質上是一種池化技術,利用空間來換取時間。線程

原创 後端系統開發之如何選擇公司和工作

互聯網行業的寒冬還在繼續,滴滴宣佈今年準備裁員2000人,現有13000人左右,裁員比例接近1/6,相當殘酷。​ 當一家企業經營不達預期時,通常都會砍掉不賺錢的業務,精簡人員,以求自救。選公司就像選股票,需要我們冷靜思考,擦亮眼睛,儘量避

原创 後端系統開發之技術方案寫作

軟件開發除了編寫代碼以外,還有一項重要的工作技能是寫技術方案。技術方案通常用於同事之間的溝通和交流,一個好的技術方案應該有背景介紹和明確的目標,以及具體的實現思路。 背景往往是爲了引出目前存在的問題,因此可以圍繞問題的發生條件和影響來介紹

原创 有哪些值得一讀的理財啓蒙書

我讀過的第一本理財啓蒙書是《富爸爸,窮爸爸》,作者是一名擁有傳奇人生的美國人羅伯特清崎,書中介紹的理財知識非常震撼:作者有兩個爸爸,富爸爸是一個沒有讀過大學的當地鉅富,窮爸爸是一個擁有博士學歷的大學教授,作者告訴人們:智商和財商完全是兩碼

原创 開發過程中如何避免踩坑?

互聯網公司的業務需求很多,前人挖坑後人填,後人填坑不慎又掉進更深的坑。沒有人願意走坑坑窪窪的路,但是常在河邊走,哪有不溼鞋的道理,如何避免掉坑,是每個職場上生存的人都該學習和思考的。 開發階段 問題總是暴露的越早越好,能在開發階段就發現b

原创 在線服務內存使用率漲到100%如何排查?

上週我們的在線服務程序忽然開始出現內存異常現象,程序的內存會在某個時刻起突然上漲,內存使用率一直漲到100%。我們做了幾項針對性的排查:檢查程序最近上線內容、使用問題機器的請求日誌進行線下反演、登錄異常機器查看gstack等,均未能找到問

原创 工作和麪試中的系統架構(上)

金三銀四,跳槽和招聘旺季,分享一個程序員面試中經常被提問的問題:你所在公司的系統架構是什麼樣的? 想象一下,此刻你面前坐的是一位臉帶笑意的面試官,他把一張空白的A4紙和一支黑色簽字筆推到你眼前,"在紙上畫下你們公司的系統架構吧。" 通常來

原创 後端系統開發之巧妙的雙buffer技術

軟件開發過程中總會遇到這樣的需求或想法:如何在程序不重啓的情況下,讓某個配置參數動態生效? 不重啓程序的原因有很多,例如程序分佈在幾十臺甚至成上百臺機器上,或者重啓服務需要複雜的審批流程,重啓代價很高;而配置參數在設計之初就預料到會被經常

原创 後端系統開發之工作和麪試中的字符串

軟件開發過程中會遇到形形色色的字符串處理問題,例如數字和字符串之間的格式轉換、字符串去掉前後空白字符、從一個特定格式的字符串中提取字符串等。上面這些函數通常會出現在各大公司的基礎庫中,使用起來非常方便。 今天要分享的是一個去掉字符串結尾換

原创 技術方案寫作和笑傲江湖

軟件開發除了編寫代碼以外,還有一項重要的工作技能是寫技術方案。技術方案通常用於同事之間的溝通和交流,一個好的技術方案應該有背景介紹和明確的目標,以及具體的實現思路。 背景往往是爲了引出目前存在的問題,因此可以圍繞問題的發生條件和影響來介紹

原创 互聯網行業寒冬,如何瞭解一家公司?

互聯網行業的寒冬還在繼續,滴滴宣佈今年準備裁員2000人,現有13000人左右,裁員比例接近1/6,相當殘酷。​ 當一家企業經營不達預期時,通常都會砍掉不賺錢的業務,精簡人員,以求自救。選公司就像選股票,需要我們冷靜思考,擦亮眼睛,儘量避