雞頭還是鳳尾?在如今互聯網大環境下程序員跳槽該如何選擇,大廠 or 創業公司?

寫在前面

職場裏只有兩種人,正在跳槽的人和準備跳槽的人,尤其對我們互聯網這個行業來說,跳槽的頻率應該是所有行業中最高的了。那麼究竟是去大公司還是去創業公司呢?

工作好幾年,幾經波折經歷過幾個大大小小的公司,其實他們各有優缺點。

創業公司人少,制度不健全,待遇不公平,但是小公司相比大公司有更多的機會;大公司人多,條條框框,晉升困難,但是它可以給你想要的光環,更系統的知識網……

如果你是想在Android開發這塊領域深耕,我是建議往大廠去靠。大廠能給你帶來的技術體系的完善和格局的提升是創業公司難以提供的。

如何選擇,最後根據自己的需要來決定。但是無論你想去大公司還是小公司,首先需要有技術,沒有紮實的技術一切都是空談。

爲什麼選擇進大廠?

在大廠和小廠都待過,也面試過很多人。一些朋友就這個問題找我諮詢時,尤其是一些學生朋友在找我聊職業規劃和職場困惑時,我給的建議就是,如果你是應屆生或者工作年限較短(五年以下),那一定要找個機會去大廠工作幾年。

雖然很多大廠都加班,但是作爲工薪階層的一員,哪裏不加班呢?再者大廠的各項規章制度和福利待遇都比較完善,你可以見識到很多成熟的系統和優秀的做法和理念。

就福利待遇來說,大廠給的薪資待遇比一般的小公司給的要高上一截。就算你從大廠離職,你也可以很容易的漲薪去另外一家大廠。這些都是小公司的沒有的優勢(我這裏並不是說小公司不好)。

由於剛畢業的時候,沒有能夠進大廠,導致起點和平臺都比同時間進大廠的同學低許多。雖然最終通過自己的努力,從剛畢業時的月薪 5 千到現在的年薪 50 W+。

這期間我走了很多彎路和吃了很多苦頭。以工資收入來說,未進大廠的,可能在社會上摸爬滾打好多年才勉強達到月薪 2~3 萬,而進大廠可能工作一兩年就夠了,甚至有些大廠開出的 SSP 直接就有三五十萬。

因此,如果你一畢業就進入了大廠,那麼你的第一份工作的收入、起點和視野就會比同齡人高很多。這也是我苦口婆心地勸畢業生們在畢業前夕的那段日子裏面咬咬牙,努力去拿個大廠的 Offer 的原因。

跳槽大廠有哪些難點?

雖然大廠很好,但是進大廠對個人資質、個人素養和技術水平都有一定的要求,並不是每個人都有機會的。這裏說的個人資質,如學歷和畢業院校的層次。一般大廠都只接收本科及本科以上的學歷,對於本科以下的學歷的應屆生一般都不會考慮。而且會優先選擇學校層次還不錯的畢業生。也就是說對於應屆生,學校和學歷成了硬性要求。即使你的能力再強,HR 篩選簡歷時就已經把你給 pass 掉了,你根本沒有面試的機會。高考已經沒考好了,這個已經成爲既成事實了。那對於學歷和學校不好的人,還有機會補救嗎?

有的,通過社招。也就是說,你可以先工作幾年,再嘗試去大廠面試。因爲社招更多的是看重的是你的技術水平、工作經驗等,對學歷要求沒那麼高了。

再來看看大廠的一些常規面試題

Handler 相關知識,面試必問!

  • Handler Looper Message 關係是什麼?
  • Messagequeue 的數據結構是什麼?爲什麼要用這個數據結構?
  • 如何在子線程中創建 Handler?
  • Handler post 方法原理?
  • Android消息機制的原理及源碼解析
  • Android Handler 消息機制
  • .......

Activity 相關

  • 啓動模式以及使用場景?
  • onNewIntent()與onConfigurationChanged()
  • onSaveInstanceState()與onRestoreInstanceState()
  • Activity 到底是如何啓動的
  • 啓動模式以及使用場景
  • onSaveInstanceState及onRestoreInstanceState使用
  • onConfigurationChanged使用以及問題解決
  • Activity 啓動流程解析
  • .......

Fragment

  • Fragment 生命週期和 Activity 對比
  • Fragment 之間如何進行通信
  • Fragment的startActivityForResult
  • Fragment重疊問題
  • Fragment 初探
  • Fragment 重疊, 如何通信
  • Fragment生命週期
  • .......

Service 相關

  • 進程保活
  • Service的運行線程(生命週期方法全部在主線程)
  • Service啓動方式以及如何停止
  • ServiceConnection裏面的回調方法運行在哪個線程?
  • startService 和 bingService區別
  • 進程保活一般套路
  • 關於進程保活你需要知道的一切
  • .......

Android佈局優化

  • ViewStub、include、merge
  • 什麼情況下使用 ViewStub、include、merge?
  • 他們的原理是什麼?
  • ViewStub、include、merge概念解析
  • Android佈局優化之ViewStub、include、merge使用與源碼分析
  • .......

BroadcastReceiver 相關

  • 註冊方式,優先級
  • 廣播類型,區別
  • 廣播的使用場景,原理
  • Android廣播動態靜態註冊
  • 常見使用以及流程解析
  • 廣播源碼解析
  • .......

AsyncTask相關

  • AsyncTask是串行還是並行執行?
  • AsyncTask隨着安卓版本的變遷
  • AsyncTask完全解析
  • 串行還是並行
  • .......

Android 事件分發機制

  • onTouch和onTouchEvent區別,調用順序
  • dispatchTouchEvent,onTouchEvent,onInterceptTouchEvent 方法順序以及使用場景
  • 滑動衝突,如何解決
  • 事件分發機制
  • 事件分發解析
  • dispatchTouchEvent,onTouchEvent,onInterceptTouchEvent方法的使用場景解析
  • .......

Android View 繪製流程

  • 簡述 View 繪製流程
  • onMeasure,onlayout,ondraw方法中需要注意的點
  • 如何進行自定義 View
  • view 重繪機制
  • Android LayoutInflater原理分析
  • Android視圖狀態及重繪流程分析
  • Android視圖狀態及重繪流程分析
  • Android自定義View的實現方法
  • .......

Android 的核心Binder多進程 AIDL

  • 常見的 IPC 機制以及使用場景
  • 爲什麼安卓要用 binder 進行跨進程傳輸
  • 多進程帶來的問題
  • AIDL 使用淺析
  • binder 原理解析
  • binder 最底層解析
  • 多進程通信方式以及帶來的問題
  • 多進程通信方式對比
  • .......

Android ANR

  • 爲什麼會發生 ANR?
  • 如何定位 ANR?
  • 如何避免 ANR?
  • 什麼是 ANR
  • 如何避免以及分析方法
  • Android 性能優化之 ANR 詳解
  • .......

如何進大廠?

無論是應屆生還是工作幾年的人,一般都需要通過技術面試才能進入大廠。

那麼大廠技術面試一般會需要掌握哪些技術面呢?

接下來分享的系統學習資源以詳解各大互聯網公司的 Android 常見面試題爲主線,從面試的角度帶你介紹必備知識點,以及該知識點在項目中的實際應用

總共分爲6個部分:

  • Java 基礎(★★)
  • Java 高級(★★)
  • Android 基礎(★★★)
  • Android 高級(★★★)
  • Android 項目(★★★)
  • 項目面試常見問題(★★★)

一、Java 基礎(★★)

面向對象思想
多態
異常處理
數據類型
Java 的 IO
集合
Java 多線程

Java 高級(★★)

Java 中的反射
Java 中的動態代理
Java 中的設計模式&回收機制
Java 的類加載器

Android 基礎(★★★)

Android 基本常識
Activity
Service
BroadCastReceiver
ContentProvider&數據庫

Android 中的佈局
ListView
JNI & NDK
Android 中的網絡訪問
Intent
Fragment

Android 高級(★★★)

Android 性能優化
Android 屏幕適配
AIDL
自定義控件
Android 中的事件處理
Android 簽名
Android 中的動畫
網絡協議
其他

項目面試常見問題(★★★)

  • 開發週期
  • 項目中遇到的難題
  • 項目中最大的收穫
  • 項目是如何上線的
  • 項目是如何盈利的
  • 繪製項目架構圖
  • 項目開發流程
  • 你在項目中的角色
  • 你負責項目中的哪些模塊
  • 講講你負責模塊的具體實現
  • 項目中都用到了哪些第三發框架
  • 有沒有自己寫過框架
  • 業餘時間你是如何提高自己(學習)的
  • 有沒有自己的技術 blog
  • 你的職業規劃
  • 爲什麼離職
  • 爲什麼選擇我們公司
  • 說說你們項目的亮點和不足
  • 你們的項目是如何保持風格一致的
  • 項目架構是如何搭建的
  • 屏幕適配是如何解決的
  • 都看過哪些源碼
  • 項目版本是如何升級的
  • 用的什麼版本控制工具
  • 你能獨立開發嗎
  • App 跟服務器是如何交互的
  • 需求文檔寫過嗎
  • 接口文檔寫過嗎
  • 雲服務器都用過哪些
  • 第三方平臺都用過哪些

簡歷+社招解答+經典HR面試解析

以上是整理總結的Android中高級面試遇到的真題解析,希望對大家有幫助;同時很多人經常也會遇到很多關於簡歷製作,職業困惑、HR經典面試問題回答等有關面試的問題。同樣我也蒐集整理了全套簡歷製作、金三銀四社招困惑、HR面試等問題解析,有疑問,可以提供專業的解答。

對於Android開發的朋友來說應該是最全面最完整的面試資料,爲了更好地整理每個模塊,我參考了很多網上的優質博文和項目,力求不漏掉每一個知識點。很多朋友靠着這些內容進行復習,拿到了BATJ等大廠的offer,這個資料也已經幫助了很多的安卓開發者,希望也能幫助到你。

以上內容均免費分享給大家,需要完整版的朋友,點這裏可以看到全部內容。或者關注主頁掃描加 【微信】 獲取。

進大廠不是真的的目的。我們要進大廠是爲了更好的提高綜合技術水平和系統格局,接觸更好的圈子。提升自己的價值。以後你會發現,真正可靠的不是大廠的光環,而是你自己本身的實力。

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