作爲一名程序員,誰沒跳過槽,“6”招讓你“空降”大廠

作爲一名程序員,沒有誰沒跳過槽

撇開在跳槽時對所“空降”的企業所需要的行業知識知根知底而“得心應手”,從而“穩定”外,其他人可能或多或少都有過因“不適應”新單位環境而又被迫再離開的厄運,以至於在再“找工作”時因爲不能“騎馬選馬”而每況日下!

有32.98%的開發者在過去一年(2013)中曾換過工作,其中有72.5%的人實現了薪資上漲。而在未換工作的開發者中,約有59.3%的開發者同樣能夠漲薪。

下班前簡單做了一張圖:

對比兩張圖可以很直觀的看到,薪資漲幅超過30%的程序員比例中,跳槽的(25%)相比不跳槽的(7%)大得多。

所以說,公司願意花大價錢挖新人卻不選擇給老員工加薪--其實是幾乎所有公司都存在的博弈悖論:

當員工沒有跳槽機會時僱主便沒有動力提升其待遇,而當他一旦有更好機會準備跳槽時,公司想通過提升待遇也難以挽留。

跳槽“6招”交給你!最後一招必須掌握!

筆者經多年摸爬滾打、又經多名企業跳槽者、企業管理高手及多名國學研究者討論而總結出如下9招,相信你若把這幾點完全“吃透”,你就會在任何企業“落地生根”而開花結果!

第一招、做人低調(這一招最重要)!

無論是什麼“資”質的企業,只要是在中國的土地上,做事就永遠不是外國的那種“法、理、情”,而是需符合中國國情的“情、理、法”——“情”永遠擺在第一位!所以進入一個新企業,你要徹底地放低自己的身架(不是“身價”,“身價”只能靠結果來證明的)

第二招、多做自我反省。

無論你做的事、或說出來的話,當別人誤解時,你都不能說“你怎麼是個這樣的人”、“你是不是有病啊”、“你腦袋正常點好不好”?你應該說“哦!我是不是沒交待(或沒說)清楚?我再說清楚一下吧,我的意思是……”。他如又曲解,你就再如此說!總之你要多從自身找原因:一切都是你的錯——是自己水平“不夠”才導致了對方誤解、曲解、歪解,才導致了別人做錯!如此,就算對方想說你的“不是”,讓他也找不到“理由”!

第三招、尊重新企業的原管理模式(也可說是企業文化)。

你要知道:企業管理是沒有絕對正確與錯誤之分的,管理只存在“適不適用”的問題:能適用的就是“好”的,不適用的就是“錯”的!

第四招、改革必須是“自下而上”進行。

現在很多跳槽者到新單位發現“問題點”後,針對這些問題點的解決措施,他們就只想“自上而下”推行,即:首先,而且是隻與頂頭上司(含老闆)直接溝通,以爲只要上司點頭認可就可以推行,就可以實現自己的目標,如此就能體現自己的“價值”了!而根本就沒想到:就算上司認可了你的說法,但當你在推行時,一旦你底下有人不滿意而成爲你的“阻力”(這時你如果想靠你自己去排除這個阻力是有點不可能的了)時,你就會去請求你的上司協助(或出面協調)。

第五招、控制自己永遠“不生氣”,無論怎樣,都要控制好自己的脾氣!

工作上的問題,只能是一種同事間的相互影響!只能通過溝通、瞭解、商量及討論去解決!而不能夾進自己的個人喜好——你沒有理由去要求別人來依你的個性去工作,所以你有什麼理由生氣?

【有一句話可送給你:狗咬了你,你能再去咬狗嗎?以此來提醒與鞭策自己吧!】

掌握了基本做人的五招,最後一招就是你的“硬功夫”了

啥都不會,憑什麼跳槽?

大廠面試對技術的考覈基本分爲三個層次:對於基礎知識的考覈、對於項目經驗的考覈、對於項目深度的考覈。

a.基礎知識主要考覈你對 Java 語言本身原理的理解以及各種框架的原理理解。知識點包括但不限於:

(一)Android基礎知識點

  • 四大組件是什麼
  • 四大組件的生命週期和簡單用法
  • Activity之間的通信方式
  • Activity各種情況下的生命週期
  • 橫豎屏切換的時候,Activity 各種情況下的生命週期
  • Activity與Fragment之間生命週期比較
  • Activity上有Dialog的時候按Home鍵時的生命週期
  • 兩個Activity 之間跳轉時必然會執行的是哪幾個方法?
  • 前臺切換到後臺,然後再回到前臺,Activity生命週期回調方法。彈出Dialog,生命值週期回調方法。
  • Activity的四種啓動模式對比
  • Activity狀態保存於恢復
  • fragment各種情況下的生命週期
  • Fragment狀態保存startActivityForResult是哪個類的方法,在什麼情況下使用?
  • 如何實現Fragment的滑動?
  • fragment之間傳遞數據的方式?
    Activity 怎麼和Service 綁定?
  • ……

面試官一般都會針對簡歷中描寫的知識點刨根問底,不懂的技術千萬不要寫了解。前段時間參加技術沙龍,京東架構師張開濤、騰訊高級工程師劉澤峯都表示大廠招人現在更注重技術能力的細分板塊,你必須在某領域有自己獨到的理解。

b.項目理解一般會讓你畫個架構圖,然後從架構圖出發,你得清楚每個模塊的作用,每個框架的原理以及與其他框架的區別。是否有能拿得出手的項目,並對其原理瞭如指掌,很大程度關係到你能否通過這次面試。

c.項目思考深度在這一個層次上考覈的是你對開源框架的思考深度,這些框架到底好不好,好在哪裏,不好在哪裏,有什麼可以改進的地方。你不僅要對項目本身理解足夠深刻,還要跳出項目本身,去思考開源框架本身的問題。

那麼要想成功進入BATJ等一線大廠,應該掌握哪些技術能力呢?

1、 Java語言進階與Android相關技術核

Android應用是由Java語言進行開發的,SDK也是由Java語言編寫,對於Android來說,只要SDK沒有用kotlin重寫,那麼Java語言是都需要學習的。而且Android apk的後臺服務器程序大概率是java語言構建,所以學習java也是一種必然。那麼Java中哪些東西是我們Android程序員需要學習的呢?由於Android程序員習慣了 C V 代碼塊,所以與Android中比較相關的稍微比較難的Java基礎幾乎都是一個門檻,像 泛型,多線程,反射,JVM,Java IO,註解,序列化等,都是被 CV 的對象,而程序員是不懂原理的,具體內容如大綱所示。

2、 App開發框架知識體系(app亦對象)

這塊知識是現今使用者最多的,我們稱之爲Android 2013~2016年的技術,但是,即使是這樣的技術,Android開發者也往往因爲網上Copy代碼習慣了而導致對這塊經常“使用”的代碼熟悉而又陌生,所以我們需要從新的角度去分析這些知識點,深入研究他們,要學習源碼,模仿源碼,然後再hook源碼,這樣才能說自己懂這塊的知識。這些都是做Android開發,做高級工程師的基礎。

3、 360° Android app全方位性能調優

一個app的性能好不好我們需要從兩個層面努力。第一個層面:書寫高性能代碼;第二個層面:調優。
如何寫出高性能的代碼呢?那就需要我們具備深厚的代碼功底,這就是代碼的基礎。另外,對常用的算法有自己獨到的見解,leetcode上有刷個上百道題,這樣差不多可以達到精通最常用的排序查找動態規劃等算法的能力。再者,高效的算法以及節省內存的數據結構如果配合優秀的符合應用場景的設計模式,那麼,這些就爲高性能的代碼提供了實現依據。
另外一個就是對寫好的代碼進行調優,那麼調優的方向就是使用Profiler工具進行測試和檢查,看哪裏有性能消耗大的操作,然後分析對於代碼的問題。調優的方向就變成了如何對內存調優,對耗電調優,對網絡流量調優,當然,還有對啓動速度,頁面切換效果與速度,開機白屏體驗,閃屏方面的原因等進行分析和調優。最後再加上一個屏幕適配相機適配。

4、 Android前沿技術

現在去很多公司面試,除了你具備基本的能夠寫一個高性能app的能力後,一般都會在自己的app裏面加一些現有的相對較 6的技術,這些技術我們稱之爲前沿技術。他們一般包含熱升級,熱修復,App Instant,強制更新,組件化路由架構Arouter,RxJava,IOC架構方法,Hook技術等等,當然,這些技術你不能只會用,你需要知道他的原理,有時候,你還需要知道如何對這些架構進行改進。另外,非常重要的一點,Android開發者不願意接受新知識,所以對於現在Google推出的新的技術方案毫無感覺,這些都是被 control C 和control V所毒害,開源讓開發者失去了自我,失去了基本的編碼能力,失去了深入學習的信心和毅力,所以對於很多google推出的新技術好組件(Google I/O 大會新技術),好框架已經很多人不願意去學習了這是不應該的,我們需要好好學習啊。

5、 NDK 模塊開發

音視頻/高清大圖片/人工智能/直播/抖音等等這年與用戶最緊密,與我們生活最相關的技術一直都在尋找最終的技術落地平臺,以前是windows系統,而現在則是移動系統了,移動系統中又是以Android佔比絕大部分爲前提,所以Android NDK技術已經是我們必備技能了。要學習好NDK,其中的關於C/C++,jni,Linux基礎都是需要學習的,除此之外,音視頻的編解碼技術,流媒體協議,ffmpeg這些都是音視頻開發必備技能,而且OpenCV/OpenGl/ 這些又是圖像處理必備知識,這些都在我們課程裏面有原理級的實戰項目

6、 提高開發效率的工具運用

工慾善其事必先利其器,如何提高開發的效率,很多開發者在開發的過程中由於gradle不會用導致加載代碼非常耗時,這些就是工作成本。還有就是git的使用可以幫我們管理好我們的代碼,這個非常關鍵,因爲這個工具可以讓我們修改的代碼不會因爲錯誤的操作而導致代碼丟失。另外,移動開發者,我們至少需要知道如何抓取網絡包吧,其中,最常用的stetho就是一個很好的可以進行網絡抓包的工具。

7、 移動架構師專題項目實戰環節

架構師不是天生的,是在項目中磨練起來的,所以,我們學了技術就需要結合項目進行實戰訓練,那麼在Android裏面最常用的架構無外乎 MVC,MVP,MVVM,但是這些思想如果和模塊化,層次化,組件化混和在一起,那就不是一件那麼簡單的事了,我們需要一個真正身經百戰的架構師才能講解透徹其中蘊含的深理。

8、 移動架構師不可不學習微信小程序
9、 混合開發的flutter現在已經逐漸變成了主流的混合開發框架,另外由於阿里系的強大存在,導致阿里 系的公司都在用Weex混合架構,這些都是一個Android工程師開拓視野,走向未來必不可少的基本技能

以上就是成爲一名架構師需要掌握的所有技術要點,技術文檔和視頻資料,這套技術體系是由6名10餘年行業工作經驗的架構師結合實戰經驗、一線互聯網企業主流技術,歸納整理而成,並針對每一個技術點配有相應的視頻詳解、源碼註釋和筆記文檔。

資料免費領取方式:轉發+關注+點贊後,加入點擊鏈接加入羣聊:Android高級開發交流羣(878873098)即可獲取免費領取方式!

重要的事說三遍,關注!關注!關注!

部分資料圖:

最後,祝願天下所有的“空降兵”都能幹出一番事業!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章