广西十一选五玩法|广西十一选五开奖查询
  • 身處小公司如何在2年內快速突破拿到大廠offer

    發布:51Code 時間: 2019-01-02 12:00

  • 在這里就大概概括了幾點成功秘訣,僅供參考學習: 1、知己知彼百戰百勝 做技術和打仗是差不多的,你時時刻刻準備著開發,就為了上線(上戰場)。首先你要對自己有個明確的認知...

  • 本文是我一個朋友的經歷,謹以此文告訴那些向往更好的未來發展而一直努力奮斗的朋友們。不管你現在身處什么小公司,都不要氣餒,機會還是有的,只要你敢于拼搏奮斗,我相信你一定可以成功的。

    首先介紹一個我的朋友:我的朋友小王,從小就能吃苦。他是一個不知名的大專畢業的,學歷不算很高,學的計算機專業。從學歷來看,他是沒有優勢的,不是985,也不是211,又不是本科。先行條件他都不具備。那么究竟它是如何進入阿里的呢?請看下文詳細描述:

    在這里就大概概括了幾點成功秘訣,僅供參考學習:

    1、知己知彼百戰百勝

    做技術和打仗是差不多的,你時時刻刻準備著開發,就為了上線(上戰場)。首先你要對自己有個明確的認知,你會那些技術,哪些還不理解的。建議多去看看大公司的面試題和面試要求,看看他們主要技術方向有哪些方面,然后作為參考去鞏固學習。

    技術測評這個建議每個月做一次。這個可以由你本人自評,也可以小組內部評價。如果你們公司有明確的kpi考評的話,那么你可以把測評結果作為kpi的輔助工具。

    一般來講,首先有一張很詳細的測評表,測評表主要包括技術分類,每一個技術概要,評分,然后是未來發展方向等方面。通過這個表主要把你的當月所學到的技術,用到的技術點都羅列出來,然后根據掌握程度細分進行評價,然后下一步需要努力的方向,以及技術在項目中的運用等。雖然小公司不具備條件公司給你做技術測評,也可能是獨立開發,沒有小組測評,建議還是做一個個人測評,對你自己的技術有一個更好的了解,方便下階段的技術提高和擴展。

    2、學而時習之,溫故而知新

    技術更新很快,可能你今天學了,一段時間沒有用到,明天就忘了。所以我建議不光要學習,更重要的是要多復習,把你學過的東西不斷的去鞏固溫習。

    (1)關于做筆記工具選擇:

    為了以后可以更好地復習,要養成做筆記的好習慣,如果沒有紙質的日記本,可以用有道云筆記或者印象筆記之類的記憶工具,輔助你做筆記。

    (2)關于思維導圖:

    每一次做筆記之后,我們要做一個思維導圖去把筆記整理成目錄,通過它一目了然的可以看清楚整個筆記的結構,可以清晰地看到你要復習的關鍵點。思維導圖工具推薦:xmind、ProcessOn在線網站等。

    (3)關于做筆記的方式:

    關于做筆記不要僅僅是copy源碼,也不要僅僅是copy別人的博客,一定要抓住要點去做筆記。比如你查找一個劉海屏適配,你把別人的博客全文復制進來,收藏起來以后再去看,這種做筆記的方式是不可取的。你只需要抓住核心關鍵點就可以了,比如它是用的什么樣的適配,根據什么適配的,核心代碼有哪些等等。然后就是之前收藏過哪些類似博客,做一個綜合分析等,這既是做筆記,也是一種總結和思考。

    3、懂得不恥下問,切勿趾高氣揚

    技術雖然重要,但是態度更重要。端正態度也許你距離成功也不遠了。

    不恥下問這是一種態度,是一種很難的的精神。看到網友的面試經歷提到過:有些大廠出來的人動不動嘴上就掛著我是哪個大廠出來的怎么怎么樣,經常炫耀,顯得自己很6的樣子。其實你要問他問題,他還一副高高在上的樣子,愛理不理的。其實可以看出來,雖然這些人身處大廠,但是這種人的態度不是很友好。人都是生來平等的,沒有誰高誰低。今天你在大廠春光得意,明天就被人搞下臺。得意忘形對你自己沒有一點好處,還落得一個不好的名聲。你會的別人不一定會,你不會的但是別人可能會,你要懂得不恥下問,你會發現,通過提問,你居然可以學到更多東西。

    除不恥下問之外,同樣的還有一個很好的品質,那就是:謙虛。懂得尊重人,不恥下問的人基本都很謙虛。我那個朋友小王性格就很隨和,很謙虛,一點架子都沒有,戴著個眼鏡,看起來像是讀書人,其實他是一個技術大佬。

    4、凡事預則立不預則廢

    這里講的是凡事都要有一個良好的規劃,不管是對工作任務的安排,學習的安排,還是對未來前途的規劃,都需要首先有個規劃。 古話說:“凡事預則立不預則廢”,說的不是沒道理的。你現在身處小公司也沒關系,不要心灰意冷,也不要唉聲嘆氣,工作很忙很累也不要抱怨。

    你首先要明確一點就是你的目標是什么?

    如果是混日子,那你基本就沒有什么好的發展了,程序員吃的青春飯大家都理解的,正是學習的好時機你不努力,你對未來沒有規劃,那么你就算離開了那家公司還是沒有什么好的發展的(創業或者家里有礦除外)。

    我相信大家都不想混日子的,都想有個更好的發展。那么你就要從你進公司開始,做了計劃。你現在應該怎么樣朝著目標前進。你的未來還缺少什么?有哪些要求是大廠需要的,你需要以后去跟進的?然后你就要制定一個短期計劃,短期內你要實現什么突破,攻破什么技術方案,有什么成果,怎么運用到項目中。這些你都要做一個計劃表,安排出來,每天抽取一兩個小時去按照計劃學習。

    有人會問:“我一個小公司的,我做功能的時間那么忙?哪有時間安排這安排那的?”其實這是一個誤區。時間是擠出來的,我們每天可以抽取一兩個小時學習吧,上班途中看公眾號,下班途中看書學習,這都是充分利用時間的示例。你去看看一些成功的大佬,他們的工作事情安排都是有計劃的,他們一般不會做無計劃的事。其實你可以在網上發現王健林的作息時間,幾點起床,幾點看書,幾點開會都有明確的安排。雖然我們是一般人,但是我們也可以給自己做一些小目標,從一個個的小目標開始著手去學習。王健林說:“給自己一個目標,賺他一個億試試。”我們當然不可能那么做,我們可以這么做:“先努力寫100W行代碼試試。”

    比如你準備學習自定義控件。短期一個月之內你可以制定一個目標,研究自定義View的所有有關的API使用。如果沒有學完,那就繼續排期學習。后續當你熟悉之后,你就可以繼續安排一兩個月甚至更長的時間去看View里面的源碼,比如繪制流程,渲染機制,事件分發機制等,看看它們是如何進展的。再然后就是怎么靈活的運用到項目中。

    5、不積跬步,無以至千里

    技術的發展太快,開發中的需求多樣,你如何快速把你所學的技術用來去開發一個需求,這是一大難題。往往有時候你看到一個需求,但是以你現在的能力還做不了,但是隨著你不斷的學習和積累,以后遇到同樣的需求,你就可以得心應手去做了。這就是一個技術的積累的問題。

    另外技術的積累對于解決問題的能力的提升也很重要。當你的技術有了一定的積累的時候,你看到一個bug,你就會不自覺地大斷點調試,看Debug日志,看上下文信息,看各個參數賦值信息,看代碼有沒有低級錯誤等多方面去檢查。再比如內存泄漏問題,當你使用工具檢測發現有內存泄漏時,你正常是不容易發現的,可當你平時學習了內存泄漏檢測方式和排查方案,你就會按照一些方案去解決內存泄漏,可能方案并不是唯一的,但是通過逐步排查,總會找到問題的根源。這就需要技術的不斷積累和實踐才可以做到。像小公司天天寫業務代碼,只要上線推廣即可,一般是不太會注重App質量的。但是作為一個程序猿來講,對自己嚴格要求一點,App質量方面也盡可能的去把控一下,就算公司沒要求,你也要自己去嘗試著做這件事,因為這對于一個大型應用是至關重要的,所以你可以從小應用開始著手去鍛煉積累你的技術。說不定某一天當你的用戶量增長到了幾百萬甚至幾千萬的時候,你有了前面的積累,再去做的話,就會有一些經驗可循了。

    比如大廠的App基本上都會用到插件化你技術。那么建議首先你去用一下熱門的插件化框架,拿來之后封裝一下用到項目中。然后就是深入框架的源碼,結合一些大佬的博客和相關書籍,試著去分析源碼,自己做總結,研究實現原理,研究插件化框架跟java虛擬機有什么聯系,AMS,PMS,Binder機制這些是如何運用的,hook是如何做的。這是一個漫長的過程,看安卓framework源碼是很痛苦的,需要長久的目標才可以做到。

    6、燕雀安知鴻鵠之志

    身處小公司也不要灰心,相信自己是可以的。不要因為別人的嘲笑就停止追逐的腳步,別人進了大廠只是比你快了一步而已,有啥可擔心的?你要有足夠強大的內心支撐,你才可以抵擋住外界的質疑。俗話說:“燕雀安知鴻鵠之志?”只要你樹立信心,堅定不移的去做,哪怕項目再小,只要你做的能夠體現出一定的水平,那也是非常可取的。畢竟面試第一步基本都是拿技術說話,不管是基礎的,還是底層的,都不要怕,只要你掌握的足夠多,并且有實戰經驗,下一步就好辦了。

    7、見風使舵、順勢而為

    技術的發展太快,我們是應該根據時代的發展選擇技術,還是應該按部就班用以前的舊方案,這是一個難題。這個問題應該辯證的去看待。

    首先要把基本功練扎實,先從深度上去學習,就像前面所說的要制定計劃,要在技術上有積累。然后我們要在廣度上去橫向拓展,不斷的擴展其他的語言技術棧,比如腳本語言groovy、python;比如js、react、vue等前端技術。

    現在的Android開發不像以前的開發那么簡單了,現在純原生的少,混合開發多,跨平臺框架和工具層出不窮。但是不管怎么變化,我們一定首先要了解怎么使用,然后我們要理解核心機制,至于用不用到項目中需要結合項目實際做決定。比如rn前兩年很熱門,里面無非就是react語法,核心是js橋接。比如Cordova也是用的js開發。所以我們適當的掌握一些前端語言也是有好處的,比如js、html5這些建議學一下,就算不是很精通,能夠寫就可以了。還有react、vue這些框架建議了解一下。近兩年小程序也火了一波,熟悉前端技術棧,對于小程序開發是很快上手的,特別是react、vue等前端框架的使用能幫助更好的開發出質量高,好維護的小程序項目,也是值得推薦的。

    2017年 Google I/O 大會上,谷歌介紹了Flutter,自此之后眾多Android開發者對此很感興趣,表示上手很容易,學習成本低,性能也不錯,其實也是一個不錯的跨平臺技術,可以嘗試用一下,畢竟它是新出來的,社區還不完善,目前正式版還沒出來,用在項目中會有什么意想不到的坑無法得知,不過可以自己寫一些小項目玩玩,體驗一下這個技術帶來的便捷和體驗。

    8、思想有多遠,就能走多遠

    這里面的思想主要有兩種:技術和管理。

    (1)技術層面來講,你想在技術上深耕,必須要對技術有足夠的認知度,不管是深度還是廣度,你都要具備一定的水準。具體技術的要求可以參照大廠面試的要求去提升自己。建議一定要有著架構的思想去看待編程。

    1.寫代碼不能懶散,一定要規范去做,嚴格按照Java代碼規范去做,另外你可以制定一個代碼準則,哪些需要約束的,哪些需要遵守的都是要有個準則,按照規則去做。

    2.一定要有一個文檔,不管是接口文檔,還是項目文檔,或者是項目本身的需求文檔之類的。小公司可能比較簡單,很多都是口頭說一下,扭頭就變了。建議一定要有書面的文檔做記錄,這么做的好處:一是為了記錄需求變更,有據可查;二是為了規范流程,減少不必要的溝通、甩鍋和沖突。

    3.一定要注重代碼質量,擴展性和穩定性都要兼顧。因為往往一個app的發展會不斷的迭代延續下去,修修改改是很正常的事情,那么在寫代碼的時候盡可能的多預留接口和開放的代碼,方便以后擴展。需要熟練掌握常用框架MVP,而MVC和MVVM(谷歌的)一般用的少不推薦,項目中靈活封裝MVP三層結構代碼。如果是獨立開發,那么你從項目初期就要確定項目應該如何去組織架構,怎么分層,需要用到哪些技術?哪些開源庫我可以自己去實現的?哪些需要修改源碼以便項目使用的?如果是接手老項目,首先也要熟悉業務邏輯,然后就是修改讓代碼更嚴謹,邏輯更清楚,層次更分明,擴展性更好。

    4.上面也講過多多學習,學習開源庫的源碼,學習framework層的源碼,學習jvm。熟悉底層和源碼是做架構必備的技能之一,你掌握之后可以有更多的解決途徑。

    (2)管理層面來講,如果你有興趣當了小組長,管理開發組里面的人,那么你就一定要多看一些管理的書籍,專業的理論是必備的,如何合理的安排任務,確保任務按時完成,如何提高團隊開發效率,如何帶領團隊技術提升,如何給團隊帶來更多好處(比如項目獎金等),如何承擔該承擔的責任,維護團隊的利益,如何穩定開發組員的情緒,如何應對突發情況,如何應對上下級之間的關系等。這些方面都是需要是了解和熟悉的,當你真正的做過管理之后,你才會發現這里面的門路其實是很復雜的。

    9、魚逐水草而居,鳥擇良木而棲

    一定要跟著比你厲害的人學習,不管來自哪里,你身邊如果都是優秀的人,那么你也差不到哪里去。有句古話說得好:“魚逐水草而居,鳥擇良木而棲”如果你想去大廠挑戰自我,一定要不斷的去和大廠的人多溝通,哪怕是實習生。多向他們學習如何開發的,團隊管理是怎么做的,他們需要用的什么技術等。

    多出去走動,多參加一些論壇和技術活動,多認識牛人,多喝同行交流,開拓視野。當你的圈子越來越大的時候,你會發現內推其實也是很容易的。如果有經常寫博客,寫開源項目或者開公眾號的朋友,那就更好了,可以向他們取經學習一下。這些東西既可以鍛煉你的文筆,同時也是你個人實力的一個展現的平臺,還可以收到一些打賞,其實也是不錯的選擇,當你真正參與一些有意義有價值的開源項目的時候,其實這個含金量比你寫代碼相對來說是更高的,所以好好把握,前提是你有足夠多的積累和技術輸出,你開源的東西能夠帶來真正實用型的幫助。

    【最后】技術不是唯一賺錢的工具。開發是吃的青春飯,當你年紀大一點,基本都會轉管理路線了,或者有的自己創業了。你除了技術之外,還可以關注一下管理,萬一哪天你進了大廠,剛好缺個組長,你不就有機會可以去試試嗎?

    另外面試是多方面因素決定的,比如你的技術、言辭、表情、衣著、以及給人的感覺如何等這么多因素都有可能影響結果。既然決定要去面試,那就要做好充分的準備,該記住的技術點一定要掌握好,自然發揮就好,大廠也沒有那么可怕,相信自己,你可以拿到大廠offer的。

    文章來源:https://juejin.im/post/5ba09086f265da0a8726503b
    上文內容不用于商業目的,如涉及知識產權問題,請權利人聯系博為峰小編(021-64471599-8103),我們將立即處理。
  • 上一篇:編程12年來的經驗分享(技術+職位+工資)

    下一篇:Android程序員的Java后臺學習建議

網站導航
Copyright(C)51Code軟件開發網 2003-2019 , 滬ICP備05003035號-6
广西十一选五玩法 影响股票涨跌 西安配资 金牛棋牌手机版最新 炒股 头像 金博棋牌最新版下载苹果 股票分析群是真的么 我玩开元棋牌输了20万 申穆投资 516游戏大厅 微乐贵州麻将