1. 程式人生 > 其它 >android熱修復框架對比,百度、阿里、滴滴、新浪的面試心經總結,進階加薪全靠它!

android熱修復框架對比,百度、阿里、滴滴、新浪的面試心經總結,進階加薪全靠它!

前言

19年6月份從網易雲音樂離開,放棄了留學機會,開始了人生的第一次創業,前後嘗試了兩個專案,因為個人能力與時機因素都失敗了,雖然沒能享受到創業所能夠帶來高槓杆物質上的回報,但是對個人軟技能和自我邊界認知上都有了很大的提升。

投遞公司與拿到Offer

出於對工作的穩定性和後面自身的發展,主要考慮三個方向,短視訊,陌生人社交和線上教育。雖然說短視訊導致了人類深空探測遲緩,但並不影響內卷下想著被有尊嚴飼養的幻想。面試公司中除了微信都已經通過了面試,給到offer的有位元組跳動,快手,百度,美團。最終選擇了位元組跳動直播中臺業務

1、一定要把基本的資料結構,經典的演算法,Unix程式設計,程式編譯連結及計算機原理等基礎知識扎牢,這些會長遠影響你的職業發展。

2、 推薦從C語言入門,不單是因為很多作業系統、網路協議棧開原始碼由C/C++實現,更多是因為C語言自身的特性:作為高階語言使用者無需關注底層細節,同時能直觀的看到資料流向。而且C相對語法規則較為簡單,可以短時間的上手應用。最重要的是,遵循C/C++、python的學習方式,比直接學習python更能清晰的知道自己程式的記憶體等效能狀況。

3、 不要過於追求第一份工作的工資,甚至可以說不要過於看重前兩年的工資(雖然我工作也沒滿五年,這裡的意思是,前兩年不要因為多出來的一兩千月薪轉換自己的行業),也不需要過於學習如何投資股票理財(但是要有基本的風險意識),身邊很多三十多歲才開始理財的人同樣實現了財富自由。而是要紮紮實實做幾個完整的專案,學習好基礎原理,同時琢磨業務流程。當然大廠會有很多流程性的雜事,如何儘快處理不要過於消耗自己的寶貴時間,這個就是另一門學問了。

4、 膽子要大,要多發出自己的聲音。很多職場新人在專案討論的時候會擔心自己技術深度不足,提出的觀點比較淺薄,這個是不對的。說得不好聽,我們都是來打工的,賺錢才是王道,面子是最不重要的。只有多表達自己對業務的思考才能展現自己的價值,很多時候跟人探討自己的想法能及快速的更新自己的知識儲備。

5、 答主機械工程出身,再說說機械(包括電氣)工程如何轉行進入網際網路公司。看情況,如果是本科,極力建議跨考電氣工程,因為很多基礎課程像數電模電、電工學、高等數學等重要課程兩個學科都有學習,考研難度相對較小。如果是機械的碩士,那麼建議先把演算法與資料結構全部學習一遍,不一定非要找創業網際網路公司的實習,進去一兩個月學不到完整的專案開發流程。儘量加入一個學校內部的團隊完成一個專案,像華為每年都會在各大高校設定程式設計大賽等,這些可以讓你全方位的瞭解進入軟體行業必備哪些技能。對於已經工作的老鐵,像我就是畢業入職後轉行的,這裡給一下我的學習過程僅供參考。儘快入門C語言,利用下班時間刷題把上面連結提供的演算法與資料結構等書完整的自己敲一遍程式碼。然後選擇熱門的嵌入式作業系統如freertos熟讀原始碼理清嵌入式系統內部任務排程、記憶體管理、任務通訊機制等基本原理,動手移植一款熱門晶片如stm32f429,把tick跑起來,任務排程起來就OK了。為什麼選熱門晶片,因為各種坑前任都踩過,論壇諮詢問題相當容易。然後就可以上手UNIX環境高階程式設計這本聖經了。一般而言,學完嵌入式系統,再學linux系統的程序通訊、虛擬化等,你會發現比直接學習Linux要容易上手很多。對unix系統呼叫有了基本瞭解之後進行Linux應用開發基本難度不大了,如果有公司業務結合練手那是最好的。接下來就看自己的發展方向了,如果想在物聯網深入發展,可以移植一下A核,對中斷處理會有更深刻的理解。如果想從事網路或者後臺開發,可以多熟悉網路協議棧,這裡推薦lwip入門,裡面給出了TCP、UDP協議規範的完整程式碼實現,對理解tcp慢啟動、擁塞控制、socket程式設計幫助相當大。

6、 不要急於挑選產品經理等管理類崗位,只有多跟幾個大型專案,多玩幾個迭代,才能對大廠的專案落地流程玩法瞭然如胸,才能跟各種老油條碼農供應商扯皮。對需求理解不清,分分鐘被老員工玩死。

7、 也是一句題外話,前面幾年雖然工資不多,但是一定要養成存錢的良好習慣。當你身無分文來到深圳,住著900的農民房,吃著廣東燒臘,再看看關外五六萬的房價,你就知道深圳的生存有多麼艱難。唯有努力才是解決社會問題的基礎,如人飲水冷暖自知,很多事情只有自己經歷了各中酸楚才知道。

文末

初級工程師拿到需求會直接開始做,然後做著做著發現有問題了,要麼技術實現不了,要麼邏輯有問題。

而高階工程師拿到需求會考慮很多,技術的可行性?對現有業務有沒有幫助?對現有技術架構的影響?擴充套件性如何?等等...之後才會再進行設計編碼階段。

而現在隨著跨平臺開發,混合式開發,前端開發之類的熱門,Android開發者需要學習和掌握的技術也在不斷的增加。

通過和一些行業裡的朋友交流討論,以及參考現在大廠面試的要求。我們花了差不多一個月時間整理出了這份Android高階工程師需要掌握的所有知識體系。你可以看下掌握了多少。

混合式開發,微信小程式。都是得學會並且熟練的

這些是Android相關技術的核心,還有Java進階

高階進階必備的一些技術。像移動開發架構專案實戰等

Android前沿技術;包括了元件化,熱升級和熱修復,以及各種架構跟框架的詳細技術體系

以上即是我們整理的Android高階工程師需要掌握的技術體系了。可能很多朋友覺得很多技術自己都會了,只是一些新的技術不清楚而已。應該沒什麼太大的問題。

而這恰恰是問題所在!為什麼別人高階工程師能年限突破30萬,而你只有十幾萬呢?

就因為你只需補充你自己認為需要的,但並不知道企業需要的。這個就特別容易造成差距。因為你的技術體系並不系統,是零碎的,散亂的。那麼你憑什麼突破30萬年薪呢?

我這些話比較直接,可能會戳到一些人的玻璃心,但是我知道肯定會對一些人起到點醒的效果的。而但凡只要有人因為我的這份高階系統大綱以及這些話找到了方向,並且付出行動去提升自我,為了成功變得更加努力。那麼我做的這些就都有了意義。

喜歡的話請幫忙轉發點贊一下能讓更多有需要的人看到吧。謝謝!

以上系統大綱裡包含的所有技術資料,我這裡都有的。可以免費分享給有需要的朋友!

資料領取方式:點選我的Gitee