導航:首頁 > 信息技術 > 阿里開發技術專家怎麼做

阿里開發技術專家怎麼做

發布時間:2024-04-03 16:23:56

⑴ 只會寫業務代碼的碼農,如何拿阿里的開發offer

最近公司需要招聘幾個java開發工程師,2個周面試了有20多人,有個很強烈的感覺:很多有天賦的開發者,技術面試表現差強人意,問原因比較統一歸結為——長期跟著公司只寫業務代碼,而自己沒有時間擴展提高,更不知道如何提高自己。

就此說說我的看法:如何提高自己?當然你再怎麼提高也不一定能拿到阿里的offer,不過至少能接近一點是一點嘛!哈哈

首先做個定性結論:要提高自己,首先要能寫好業務代碼!如果連業務代碼都寫不好,那麼你別讀下去了,轉行,出門右轉娛樂版!

寫好業務代碼的不一定很牛,但是連業務代碼都寫不好的一定好不了!

直接總結點干貨吧。

1,盡可能多熟悉業務

無論是不是你的業務盡可能的都弄明白,成為專家。你懂的越多,對團隊作用做大,別人越依賴你,你可以做到進可攻退可守。這是你的護城河

業務越熟悉,作出更加完美設計方案的可能性越大!

2,做端到端的專家

一個小問題:在PC瀏覽器里輸入 toutiao.com 點回車以後,從本地瀏覽器到伺服器再到瀏覽器中間發生了哪些處理?親們,有幾個人都把這個問題回答完美?我面試的時候問過很多人,有人連DNS是啥都不知道。。。。這是一個端到端的典型例子,但是細思恐極,DNS、瀏覽器緩存、本地host、路由、nginx反向代理、tomcat、集群、redis cache、mysql、代理、dfs、cdn。。。。,哇塞,好爽!我們做技術一定把知識做成體系化,很多人只知道springmvc的xml裡面配置映射,這是遠遠不夠的。

體系化,系統性,宏觀全局性,這些是能力提高的必備!說起來也不難,用心整理即可!

3,怎樣自學

如果你在一個成熟團隊,恭喜你,只要你用心,通讀現有架構多向別人請教,然後自己回家搞一套出來多練練就行了。

如果你有機會從頭開始搭建一套,那麼更加恭喜你,雖然很累很辛苦,但是只要你扛下來以後就是康莊大道。

JVM調優是啥?nginx、redis、mongoDB、neo4j、atlas、elasticsearch這些玩意是幹嘛的?好吧,如果你不知道,那麼恭喜你,我給你打開了一扇窗,自學去!但是我不可能天天來給你開窗,怎麼辦?簡單啊,開源中國多逛逛啊,infoQ,ITeye這些網站收藏起來,順便刪掉你的1024嘛!時間總會有的,你也總會牛起來的。

前天有人私信我問怎麼學redis?要買什麼書看?我說不要買書,去qq上找找相關的群加進去,再去網路找個最簡單的例子,在自己電腦上把redis裝上,然後敲命令,一個新手的知識就從網路上找+群里請教就足夠了,敲差不多了再結合自己的語言比如java,從網路上找例子能夠通過java執行命令,剩下就是進階,再群里多向大佬請教一下最好有業務能夠結合使用一下。怎麼結合spring,怎樣使用高級屬性,怎樣做到數據一致性等等。。。。。

當然,這個例子是完全自己學,其實這是很辛苦的,更快一點的辦法是借力,找懂的人幫你最快的開一個頭,入了門再開始自己研究,這就是我個人一直覺得在線學習網站app是非常好工具的原因!不要在乎那點錢,先開個頭再說!

4,學習——>實踐——>教別人

上面的第3條適合小白,非小白呢?以JVM調優為例子,我覺得三步走:

學習,了解基本知識,該網路的網路,該頭條的頭條,該花錢去上在線教育網站學習的也別在乎那幾百塊錢,學好了能幾百倍的賺回來,比投資股市和房地產都合算

實踐,就是動手嘛,公司項目能有機會練習更好,沒有的話自己動手吧。當然具體到JVM調優,一般看不出來效果的,你配啥參數都能跑起來,用jstat,jmap之類的也看不出來啥,那好,我們想辦法跑死它!執行無限循環、做超級大對象,讓它stop the world!你進行跟蹤!好玩的很呢。設計各種場景,多方位多角度的跟它折騰

你以為的「學會了」,跟真正的「學會了」是有差距的,差在哪裡?如果你有嘗試過去教會別人,或者自己准備寫個說明文章你就明白了,差距真大,目測好記層樓那麼高的差距。這幾天寫頭條,我深有體會,大家有興趣可以翻一下我前面的文章,我覺得我會的不少,但是寫的時候頭發都快被我自己薅沒了,真心難,不過寫的過程中不斷的否定自己、確認自己這一圈下來收獲也確實很大!好了,你懂該怎麼做了吧,有興趣一起來頭條寫文章吧,挺好玩!

本文不適合大牛!實在沒有那個能力去指導大牛。所以有覺得文章不妥的大牛們還請善意的回復指正和討論,上來就想罵街的還請您看在我敲了30分鍾字挺不容易的份上,饒我一命!代表全家老小在雙11這么偉大的日子給您想說一聲「謝謝」。

有緣的朋友,歡迎回帖探討。謝謝

程序員,如何少走彎路,成為一名技術專家或者架構師

#1 專業技能

@首先當然基礎知識要扎實,一些經典的專業書籍一定要看。比如,設計模式,演算法,數據結構,所在領域的編程語言的專業書籍等.關於不同的能力階段,需要讀取什麼類型的書籍,請參考ThoughtWorks(中國)程序員讀書雷達,每年都有更新。
@作為架構師,review別人的代碼並給出合理的建議是基本功,比如變數或者方法命名的規則;所以代碼大全,重構,改善既有代碼的設計,Clean code 等等肯定需要看。
@ 對於某一個技術領域或者業務領域,一定要有一門技術是精通的,因為這樣你才能體會到以後遇到自己不懂的技術的時候,如何能夠快速成為這一方面的行家。
@ 平常有時間一定要多多進行代碼的訓練,也就是Martin Flower常說的Kata練習,這個比喻來自於跆拳道,跆拳道選手一般每天都會找一些基本的招式,進行反復的練習,從而訓練肌肉的條件發射,那麼對於我們程序員來說,一定也要進行持續的編程訓練,比如上面提到的那位同事,給的建議是,雖然把大部分時間花在了溝通和協調上面,沒有機會寫代碼,但是自己一定要利用業余時間,自己找一些例子來聯系,比如,參與開源項目,或者到網上去搜索一些大師的經典Kata聯系的例子;或者看工作裡面是否有一些小工具,是否能夠提升自己的溝通效率,當然已經天天寫代碼的童鞋們除外。請參考我轉發的另外一篇文章和另外一篇介紹能在線練習Kata code的文章.
@ 最好能夠在精通一門語言的基礎之上,學習其他的語言,從而站在一個更高的角度,對於程序語言有一個更高層次的抽象認識,比如,學了Java之後,可以學學Ruby,Groovy,C#等等,其實語言之間都是相互借鑒的,比如Lamba表達式,連java也慢慢的向函數式編程方向靠攏。
@ 如果有時間,一定要自己維護一個博客,既然選擇了架構師,就決定了自己以後不僅僅是一個技術專家,同時也要成為一個佈道師,為企業組織或者社會上的其他IT同行們貢獻自己的一些微薄之力。
@ 多參加一些社會上舉辦的軟體專業會議或者活動,了解當前比較流行的技術和框架。
@ 這條不提倡,我以前有一個同事,幾乎每年都要更新簡歷1~2次,目的不是真正的換工作,而是通過面試得到當前市場上大部分公司正在使用什麼技術和框架。對於這條,請慎用!!!!
@如果有結對編程的機會一定要好好珍惜,特別是和高手大拿一起結對的時候。
@如果大家上面都已經做的非常的好了,這個時候可以看看架構設計方面的書籍,比如企業應用架構模式,架構之美等等。
@ 去51Job上搜索架構師這個職位標簽,看看不同行業的企業對於架構師的技術要求和標准,然後結合自己當前所處的行業和你自己的技術特點,比如擅長前段或者後端,有選擇性的學習一些自己感興趣的技術或者方法。
@ 關於常用的網站,沒有定論,筆者主要是根據搜索的結果去發現適合自己的網站,所以需要讀者掌握一定的搜索的技巧,筆者一般喜歡用英文搜索,這樣的話資料比較全也比較新;如果下載電子書的話或者查看博客的話 一般會首選CSDN;如果是解決工作中的問題的話,在StackOverFlow上面被解答的概率是最大的,此外平常自己也需要去積累一些自己感興趣的技術的人氣比較旺的網站列表,比如一般和Window相關的就是MSDN;如果對Java入門比較感興趣,可以看看這個網站。對於一些開源的框架,一般都會有想對應的社區,google一搜索,很快就能找到。另外一個德國人寫的博客的非常的精緻,如果對Eclipse插件開發特別感興趣的朋友們可以去參考它。
@大家如果時間和精煉允許,最好能在Github開源和分享自己平常寫的代碼。這樣一方面可以熟悉git用法,另外一方面也可以把自己平常練手的代碼免費保存,何樂而不為呢?
@如果大家平常遇到什麼問題,可以到StackOverFlow上面去尋找答案;當然,如果你能自己注冊一個StackOverFlow賬號那是最好不過的,這樣不但可以提問,還可以幫助別人,同時上面還有很多工作簽證的工作機會。
#2 軟技能(現代社會,一個合格科學家不僅僅是某一個行業的技術專家同時也是一名專業的社會活動家)

@遇到問題,一定要多想,遇到一個問題,如果解決了,就要反思為什麼能夠解決,如果以後遇到類似的問題,
如何更快速的解決。
@英語的重要性,不言而喻,因為現在很多新技術的框架的中文文檔非常的少,即使翻譯成中文,也是二手的了(國內自己的開發的一些開源框架除外)
@ 有時間的話,看一些溝通方面的書籍,如果有參與溝通的機會的時候,一定要想如何把溝通做的更好更舒暢。
@ 如果有機會的話,可以參加PMP的考試,關於如何備考PMP,請大家參閱另外一篇文章:如何備考PMP,但是如果不想參加的話,也沒有關系,至少要涉獵到項目管理方面的書籍,否則以後如果成為架構師之後,客戶或者管理者給你說一些項目管理上一些專業術語時,到時候就會一頭霧水。
@架構師其實從某種意義上就是一種角色,而不是一種職位。一定要時時刻刻保持空杯心態。
@一定要有一顆保持飢渴學習和耐得住寂寞的赤子之心。
@當前的技術節湊是非常快的,特別是結婚以後又有小孩了。一定要好好的利用自己碎片時間,對於一些技術,當時讀不懂不要緊,但是一定要記住和了解其關鍵詞,這個主要是為了拓寬自己的視野。比如,當前你想自己開發一個系統,結果已經有一個開源框架實現了,而且還很穩定,這個時候,自己就沒有必要重復發明輪子了。
@與不同的技術、編程語言、設計模式和結構等(甚至是它並沒有在日常中給予你直接的幫助)打交道。你永遠都不知道這些知識是否會在未來派上用場,但是對你絕對是有益無害。
@在工作中,能夠幫助到別人解決技術難題,一定要盡量全力以赴,因為這不但可以贏得同事的好感和口碑,同時也能增長你解決問題的經驗和提高你的技術思維能力
@ 一定要掌控好自己的時間,對工作沒有幫助的會議,能不參加盡量不要參加,當然,企業安全,公司規章制度如果是強制性的,該參加還得參加,但是如果沒有工作效率和扯皮的會議,盡量避免參加。
@程序員要耐得住寂寞,要在自己的領域深挖,不能看啥火,就學啥,一定要有自己的想法和判定,如果決定不了,可以向資深的同事或者朋友溝通。
@盡量參與到項目中的編碼,因為架構師不能與項目脫離。
@ 如果有機會可以鍛煉一下自己在大眾環境下的演講和PTT的能力。
@有機會多做知識分享,因為你一旦分享了知識,你就會對這門技術有深刻的印象,同時也能樹立在同事中的良好的技術形象,從而贏得更多的專家影響力而不是職位影響力。
上面只是我當前能想到的,知易行難,知道了上面的一些經驗,並不代表年輕程序員們就能馬上成功,畢竟這需要一個鳳凰涅槃和實踐的過程,但是肯定能幫助有志於於此的年輕程序員們少走一些彎路,限於筆者水平,如有總結不恰當或者不到位的地方,還望批評指正。

閱讀全文

與阿里開發技術專家怎麼做相關的資料

熱點內容
市場上賣大餅的為什麼好吃又松軟 瀏覽:162
井下技術有哪些 瀏覽:148
nhf是什麼地方的產品 瀏覽:734
哪些金融app推廣代理權 瀏覽:568
水車摩托車如何交易 瀏覽:875
產品還沒生產完叫什麼 瀏覽:920
查錄取狀態顯示數據維護中是什麼意思 瀏覽:134
深圳買房在哪裡搖號小程序 瀏覽:420
如何運行數控程序 瀏覽:379
贛州信息價在哪裡看 瀏覽:460
獸葯什麼時候在哪招代理 瀏覽:730
保時捷水溫數據流怎麼看 瀏覽:80
如何進行建築工程技術鑒定 瀏覽:15
公主家產品有哪些明星代言 瀏覽:190
程序員的朋友圈是什麼樣的 瀏覽:33
小程序如何添加點擊效果 瀏覽:280
外資代理記賬價格多少 瀏覽:443
城市軌道車輛應用技術專升本可以報什麼 瀏覽:763
如何搭建數據平台 瀏覽:823
重慶哪裡有冷凍食品批發市場 瀏覽:256