今天看到知群的 CEO 馬力發的一條微博,很有意思。
首先,我們都知道美國的科技公司都在遠程公司,而且前一段時間,美國的民宿平臺愛彼迎 aribnb 這家公司,宣布允許員工永久遠程辦公,而且遠程辦公待遇不變,什么意思呢?就是不管你在哪里辦公,并不是根據你的辦公地點和生活的消費水平的高低而調整薪資,你去馬爾代夫旅游度假,邊度假,邊工作,都不會調整薪資,保持不變。
當然了,這條可能貌似是針對谷歌的,去年谷歌宣布遠程辦公的時候,好像是根據地域進行薪資調整的,比如:你在一線城市生活消費水平高,工資保持不變,而回到家鄉遠程辦公會降薪的。
不管怎么樣吧?如果未來遠程辦公成為常態,一旦突破地域的限制,我們在國內可能就可以給外企工作,不用出國。
而且,我們中國人是全世界出了名的勤奮人,前幾天馬斯克還在某個大會上視頻連線的時候“夸獎”我們中國人的勤奮呢,說比美國人工作認真,勤奮多了,半夜都在工作。
再者呢,我最近確實有接了一些 case ,就是有外企想在我們中國加大企業宣傳和招聘,而且招聘條件非常優厚,不用 996,雙休,各種假期很多。
所以,我就在想啊,既然國內的互聯網公司們都這么奮斗逼,這么內卷,不就是感覺我們大家都一樣么?而且現狀是求職的人多,公司少,所以,公司為了節省成本,就使勁得用人,恨不得把大家的剩余勞動力壓榨出血來。
那么,當未來遠程辦公成為常態的,以我們中國人的勤奮和努力程度,或許會受到很多國際企業的歡迎啊,到時候,國內互聯網大廠在招聘上可能就會有競爭壓力了,為了和國際大廠搶人才,勢必就會提供更好的工作氛圍,提供更高的薪酬待遇,這是不是有利于我們擺脫內卷呢?
這是我的一點腦洞。
其實,我還有一個更大的腦洞就是:假如未來遠程辦公真的切實可行,效率也不錯,成為全球的常態,這就真的把地球變成了地球村了。那么,公司之間的競爭勢必可能會更加激烈,公司可以一天 24 小時運行。比如:谷歌公司吧?美國的員工工作 8 小時,來到傍晚了,就換成歐洲的員工再工作 8 小時,最后當歐洲工作下班之后,就可以輪到亞洲的員工再工作 8 小時了,完美的利用時差因素,做到了公司 24 小時的連續運轉。
當然了,所有以上的探討的前提是:網絡互通,且有足夠的技術實力進入這些公司
如果技術還需要進階的話也不用著急,之前我整理了一些技術資料和面試題集,供大家提升進階,大家都可以免費領取一份。
從面試簡歷模板到大廠面經匯總,從大廠內部技術資料到互聯網高薪必讀書單,以及Android面試核心知識點(844頁)和Android面試題合集2022年最新版(354頁)等等這些資料整理給大家,希望踩過的坑不要再踩,遭遇技術瓶頸一次性消滅。
部分內容展示
01.Android必備底層技術:
- JAVA序列化:Serializable原理、Parcelable接口原理、Json、XML
- 注解、泛型與反射:自定義注解、注解的使用、泛型擦除機制、泛型邊界、Java方法與Arm指令、Method反射源碼、invoke方法執行原理
- 虛擬機:JVM垃圾回收器機制、JVM內存分配策略、Android虛擬機與JVM底層區別、虛擬機底層Odex本地指令緩存機制、虛擬機如何分別加載class與object、虛擬機類加載模型
- 并發:Java線程本質講解、線程原理、線程通信、UnSafe類、線程池
- 編譯時技術:OOP面向切面之AspectJ、字節碼手術刀JavaSSit實戰、字節碼插樁技術(ASM)實戰
- 動態代理:動態代理實現原理、動態代理在虛擬機中運行時動態拼接Class字節碼分析、ProxyGenerator生成字節碼流程
- 高級數據結構與算法:HashMap源碼、ArrayList源碼、排序算法
- Java IO:Java IO體系、IO文件操作
02.Framework:
- Binder:linux內存基礎、Binder四層源碼分析、Binder機制、Binder進程通信原理
- Handler:Loop消息泵機制、Message解析
- Zygote:init進程與Zygote進程、Zygote啟動流程、Socket通信模式、App啟動過程
- AMS:ActivityThread源碼分析、AMS與ActivityThread通信原理、Activity啟動機制
- PMS:PMS源碼、APK安裝過程分析、PMS對安裝包的解析原理
- WMS:PhoneWindow實例化流程、DecorView創建過程、ViewRootImpl渲染機制
03.Android常用組件:
- Activty:Activity管理棧與Activity的啟動模式、Activity生命周期源碼分析
- Fragment:Fragment生命周期深入詳解、Fragment事務管理機制詳解、性能優化相關方案
- Service:Service啟動模式分析、Service管理與通信方案、Service生命周期底層詳解
04.高級UI:
- UI繪制原理:setContentView()方法下到底做了什么、AppCompatActivity與Activity的區別、UI測量、布局、繪制的底層執行流程
- 插件換膚:LayoutInflater加載布局分析、Android資源的加載機制、Resource與AssetManager
- 事件分發機制原理:事件執行U形鏈與L形鏈、事件攔截原理
- 屬性動畫:VSYNC刷新機制、ObjectAnimator與ValueAnimator源碼講解、Android屬性動畫:插值器與估值器
- RecycleView:布局管理器LayoutManager詳解、回收池設計思想、適配器模式原理
- 高階貝塞爾曲線
05.Jetpack:
- Lifecycle:Lifecycle源碼、Lifecycle高階應用
- ViewModel:ViewModel源碼、ViewModel應用技巧
- LiveData:LiveData源碼
- Navigation:Navigation源碼
- Room:Room源碼、Room+LiveData監聽數據庫數據變更刷新頁面原理
- WorkManager內核
- Pagging原理
- DataBinding:單向綁定、雙向綁定、如何與RecyclerView的配合使用、底層原理
06.性能優化:
- 啟動優化:系統啟動原理、Trace工具分析啟動卡頓、類重排機制、資源文件重排機制
- 內存優化
- UI渲染優化:UI層級規范及對UI加載的影響、UI卡頓原因及修復、UI繪制、布局、測量原因以及處理方案
- 卡頓優化:造成卡頓的原因分析、內存抖動與GC回收、回收算法
- 耗電優化
- 崩潰優化:項目崩潰異常捕獲、優雅的異常處理方案、如何避免異常彈框
- 安全優化:APP加固實現(防反編譯,dex加固)、https防抓包機制(數據傳輸加載,客戶端服務器端雙向加密校驗)
- 網絡優化:serializable原理、parcelable接口原理、http與https原理詳解、protbuffer網絡IO詳解、gzip壓縮方案
- 大圖加載優化:Glide巨圖加載機制原理分析、大圖多級緩存實現方案
- 多線程并發優化
- 儲存優化:Android文件系統-sdcard與內存存儲、Shared Preference原理、MMAP內存映射
- 安裝包優化:shrinkResources去除無用資源、合理設置多語言、webp實現圖片瘦身、合理配置armable-v7的so庫、Lint檢查工具實踐
如果需要的話,可以順手幫我點贊評論一下,直接私信我【筆記】免費領取
07.音視頻:
- C/C++:數據類型、數組、內存布局、指針、函數、預處理器、結構體、共用體、容器、類型轉換、異常、文件流操作、線程
- H.265/H.265:音視頻格式封裝原理、編碼原理、視頻流H264的組裝原理切片NAL單元、視頻流H264碼流分析、切片與宏快,運動矢量、信源編碼器、高頻濾波、幀間拆分與幀內預測、CTU,PU TU編碼結構、DSP芯片解碼流程、MediaPlayer與DSP芯片交互機制、投屏架構、MediaProjection與MeidiaCodec交互機制、H265碼流交換
- MediaCodec:dsp芯片、編解碼器的生命周期、解碼器中輸入隊列與解析隊列設計思想、MediaCodec中平緩解碼解析、MediaExtractor 多路復用、MediaMuxer合成器、MediaFormat格式
- 音視頻剪輯:視頻剪輯、音頻剪輯、音頻合成、音譜顯示、視頻倒放
- 音視頻直播:硬編碼、軟編碼、native實現rtmp推流、攝像頭預覽幀編碼NV21轉YUV、視頻畫面封裝拼接Packet包、音頻流數據拼接Packet包、RtmpDump實時同步發送音視頻數據、MediaProjection、Medicodec編碼H264碼流、rtmp推流
- OpenGL與音視頻解碼:OpenGL繪制流程、矩陣、Opencv詳解、人臉識別效果實現
- OpenGL特效:CPU與GPU運行機制詳解、世界坐標,布局坐標,與FBO坐標系、圖像鏡像與旋轉處理、人臉定位與關鍵點定位、大眼效果、貼紙效果、美顏效果
- FFmpeg萬能播放器:FFmpeg結構體、聲音播放原理、Surface的渲染、像素繪制原理與對齊機制、音視頻同步原理、視頻播放器整體架構
- Webrtc音視頻通話:WebRtc服務端環境搭建與Webrtc編譯、1v1視頻通話實現方案、群聊視頻通話實現思路、多對多視頻會議實現、1V1音視頻通話實現
08.開源框架原理:
- Okhttp
- Retrofit
- RxJava
- Glide
- Hilt
- Dagger2
- EventBus
- 組件化、插件化、熱修復等
09.Gradle:
- Groovy語法
- Gradle Android插件配置
- Gradle實踐等
10.kotlin:
- Kotlin語法
- 擴展使用
- 進階使用
- 實踐等
11.Flutter:
- Dart語法
- UI
- 進階使用
- 優化
- 實踐等
12.鴻蒙:
- Ability組件
- 分布式任務
- 事件總線
- 鴻蒙線程
- UI自定義控件等
如果需要的話,可以順手幫我點贊評論一下,直接私信我【筆記】免費領取
Android路漫漫,共勉!