應屆生做基礎架構適合加入大公司成熟的部門么?

做的偏系統方向,據有些人說大公司的某些組如阿里的ocean base,做了很多年比較成熟,新人進去做大的功能的機會不多。一些小公司如快手滴滴基礎架構,可能更有機會做一些新的東西。從已工作的人角度來看,真實情況是否如此?


開源組件越來越成熟的情況下,現在基礎架構部門的工作可以簡單分以下幾種情況:

1. 直接把開源組件拿過來用。主要工作有點偏運維或者運維開發。

2. 開源組件拉個分支,基於該分支進行改進開發。

3. 完全自研。這種情況研發成本較高,得是體量大的公司。

對照自己要去的部門看屬於上面哪種情況,工作內容是不是你喜歡的。

說一下我的看法,做基礎架構或者系統一定要去大公司,滴滴快手現在也是大公司。畢竟系統優化個百分之一在大公司才有更大價值。


一上來就想做大功能,你做得了嗎?飯要一口口吃。滴滴也算小公司?不知道你眼中的大公司長啥樣。


基礎架構方面一般不適合應屆生去做,主要是技術難度高,需要豐富的經驗,需要多年開發過程中踩過一些坑,需要了解一些技術前沿的東西,然後才能開發出比現有架構更好更快的東西。

普通剛畢業的程序員能把程序寫對,就很好了,幾乎不可能把現有的std boost之類的庫優化。多數程序員也做不到比o3優化下性能提升1%的std boost庫。

另外一方面,現有c++基礎架構優化的潛力又很大。主要體現在:微線程或者協程,stackless 和stackful協程都有公司在弄,lock free/wait free的各種數據結構,硬體 hash 演算法,更高性能的hash set/map,更快的二進位轉十進位演算法,更安全的共享指針,更高效更多功能的spin lock,更好的內存池/對象池,類似java gc的內存池,更高精度更高性能的時鐘系列庫等等,太多了,大量優化的方向,大公司也是資深程序員做這些工作。

具體的例子:我廠研發基於c++庫的memcache已經比c語言庫的原生memcache查詢性能快70%,下載測試 http://www.haisql.com,用上了一些上面列出的優化。


推薦閱讀:

mac下python爬蟲亂碼問題?

TAG:分散式系統 | CC | 後台開發 | 應屆生求職 |