專科Android,難道就只能在小公司嗎?
我記得老郭說過一段話:文憑不過是一張火車票,清華軟臥,本科硬臥,專科硬座,民辦站票,成教的就在廁所擠著,火車到站,都下車找作業,招工的老板只會關心你會做什么,不關心你坐什么來的,
但是我們遇到的現實情況是:老板會先驗一下你的票根,確定你至少是個硬臥之后,才讓你來面試,不然請左轉,出口在那邊,
那么,專科程式員為什么會在小公司聚集,
因為小公司要求低,他們只要能做事的,不管你那么多,而且專科的程式員,他們就有理由壓低工資把你招進來,考察一段時間發現行就賺了,不行開掉也不算太虧,
進去后就老老實實在崗位作業唄,作業一段時間之后,想跳槽,出去一看,全是要求本科的,自己連簡歷都篩不過人家,那就等等,先干幾年,把把技術提上去之后再出去,然后周而復始,
現在軟體公司招聘,基本都是本科文憑,為什么要設定這樣一個門檻?
因為投簡歷的太多了,一家小公司可能一天就幾百份,小公司哪有那么多人員來一個個面試,當然需要過濾掉一部分他們認為“很大可能不符要求的人”,
舉個栗子,100個非本科的,可能有5個符合要求,但是100個本科里面,就可能有40個符合要求,那么當人特別多的時候,直接剔除非本科就能節省一大筆成本,
不可否認的是專科生確實也有真正的人才,不僅專科,人才真的不是受限于文憑,但是人才誕生概率受限于文憑,于是企業寧愿放棄這一批人,節省招聘成本,也要選擇本科生以上的,因為本科生潛力大,學習能力強,公司稍加培養,就是公司的資源,而專科生,可能需要更多的投入才能獲得預期的收益,
逆襲大廠
接下來分享一下,我是如何專科逆襲進大廠的,從Boss上找到自己心儀大廠的招聘條件,有針對性地去學習相關地知識,學的越深越好,學歷是短板,要么把學歷提上去,要么把技術提上去,除此之外,Android開發想進位元組,別無他法,

面試技巧相關
- 簡歷準備
- 面試技巧
- 核心技術及面試題
面試技巧:
自我介紹既然是把過往經歷串聯一遍,必須要提供給面試官更多的資訊,
一般來說自我介紹要控制在 3 分鐘以內,建議在快速地進行時間線介紹時:
把每一段簡歷介紹用一句話進行概括,3 分鐘串聯自己的經歷,重要的是給自己的經歷做總結(圍繞核心能力/圍繞興趣、圍繞性格)
最后重申為什么自己申請這個崗位,適合這個崗位,
總的來說就是言簡意賅,用最簡潔的話展示你自己,
位元組面試題
位元組抖音一面
1.自我介紹
2.介紹下Android的mvc/mvp/mvvm
3.view的事件分發機制
4.viewGroup 怎么知道view有沒有消費事件
4.寫一個單例模式(解釋單例模式中的sync,雙鎖,volidate)
5.演算法題目:
有A和B兩個有序陣列(陣列元素不重復),給出sum,請找到A和B中所有相加和為sum的序列對(面頭條遇到的)
A:[1,4,5]
B:[3,4,6]
sum=8
output 1,1,2,0 => because A[1]+B[1]=8 /A[2]+B[0]=8
6.記憶體泄漏有哪些?怎么排查
時間不長,大概三十分鐘,面試官人不錯,一面結果通過,
位元組抖音二面
1.自我介紹
2.你遇到最難的問題是什么
3.android的handler機制
4.android的anr機制
5.android冷啟動優化
6.android弱網優化
7.android 視頻相關有了解么?
8.android長圖片加載怎么實作
9.gradle用過哪些
10.最近看什么書?
11.職業規劃是什么?
12.能接受在北京作業?
13.演算法題目:排序二叉樹轉有序雙鏈表,要求在原來的樹節點基礎上增加,
位元組抖音三面
1.自我介紹
2.專案里面的難點(如何解決,解決方案是什么)
3.一個app發布一個版本后,發現變卡了,你如何復現?如何得知某個地方變卡,如何得知用戶在某行代碼變卡
4.android 影片機制有哪些?
5.lottie的原理
6.直播中的影片要怎么做?要做成動態的,比如禮物是可以配置的?
7.演算法題:找出陣列中的k數,k數的定義:比位置位于這個數前面的數字都大,且比位置位于這個數后面的數字都小的數字(陣列首尾的數字不用管)(面頭條遇到的)
[4,1,3,2,7,9,8,10,12]
此陣列中的k數為7和10
8.人在杭州?對換城市有什么想法
9.看你是做中臺的,為什么選擇業務?
總之頭條的面試流程很快,一下午就走完了,面頭潭訓是要多準備下,演算法和專案經歷都會問到,個人感覺頭條演算法屬于leetcode的easy和meduim中間的難度吧,建議想去的大家都刷刷面試題,
位元組四面
又過了一個星期,才到HR面,是當地子公司視頻面試,
1.自我介紹,專案型別,
2,為什么考慮到北京發展?
3.為什么選擇抖音?
4.現在在面試哪些公司?
5.業余生活是什么樣的?
6.期望薪資,
總結
總之頭條的面試流程很快,一下午就走完了,面頭潭訓是要多準備下,演算法和專案經歷都會問到,個人感覺頭條演算法屬于leetcode的easy和meduim中間的難度吧,建議想去的大家都刷刷面試題,
如果上面的面試題你有80%都不會的話,建議你刷一刷下面的這些相關知識點的面試題,我這里有一份Andorid開發必備知識點PDF以及相關配套的面試題,同時收錄了最近一年的位元組,阿里,騰訊,百度的面試真題,幫大家搞定大廠面試,這些筆記和面試檔案已經全部整理收錄在我的Github上了,如果大家想要參考這些面試題可以點擊藍色字體自行查閱:
Github
架構師筑基必備技能
目前Android APP開發主流語言就是Java語言,Java語言最大的特性就是提高了軟體的互動可能性,可以說安卓手機幾乎所有應用程式都是利用Java語言來進行撰寫的,
JAVA知識要點:
1、 Java序列化、泛型與反射
2、虛擬機底層原理
3、Android記憶體原理
4、 Java高級并發原理詳解
5、 編譯時技術掌握與實戰
6、JDK高級動態代理
7、高級資料結構與演算法
8、 Java IO操作
9、
,,,,

Android R FrameWork原始碼與UI
在Android中,Framework泛指系統架構層,Framework的中文意思是“框架”,在軟體開發中通常指開發框架,在一個系統中處于內核層之上,為頂層應用提供介面,被設計用來幫助開發者快速開發頂層應用,而不必關心系統內核運行機制,通常Framework都會隱藏main函式等應用程式必須的組件,開發人員只需把精力放在功能代碼的實作上,說簡單點,Framework具體的作業也就是為android應用開發的開發人員提供了一系列的服務和API的介面,
UI其實并不是單純指用戶看到的效果,因為在Android開發中,每個控制元件背后都有一套深層次的體系在支撐,自然而然,會UI不單純指的是會自定義控制元件,我們還應該知道自定義控制元件背后的執行流程,包括從Activity的創建,XML的決議,到每個控制元件的測量、布局、繪制,當然在中間還夾雜著比如影片、事件分發機制、嵌套滑動機制等知識點,還有谷歌提供的一些UI框架也使我們要掌握的物件,比如Jetpack組件庫、Material Design等,
知識要點:
1、 FrameWork原始碼決議(SDK 30)
2、Android常用組件深入決議
3、JetPack全家桶
4、Android R新特性決議
,,,,,

大廠內部APP調優方案
性能優化是一個專案必須要經歷的程序,你的應用好與壞都是在用戶使用的程序中反映出來的,如果性能優化沒有做好,對于你的應用來說影響是非常大的,尤其是現在的Android市場競爭非常激烈,如果你的應用體驗沒有競品的好,那么用戶流失是必然的,
性能優化不是一件簡單的事情,每個應用的性能好與壞無法由一個人來決定,因為性能優化的維度有太多了,從我們專案的整體架構,到我們代碼的每一個細節,再到應用使用環境的測驗,只有步步為營,才能做好一個專案的優化,大部分開發者把性能優化指向與不閃退就行,但是實際上性能優化包含了很多方面,比如從簡單的啟動優化、 UI優化、 卡頓優化、 崩潰優化、 安全性優化,到深層次的弱網優化、 大圖加載優化、 儲存優化、 高效傳輸優化、 極限瘦身優化,再到實際開發程序中的OOM問題原理決議、 ANR問題決議、 Crash監控方案,要想把這些優化流程做好,我們不僅從專案架構、代碼規范等方面入手,還用學會利用第三方的檢測工具來檢測專案性能,最主要是,我們需要一套完整的性能優化方案,這正是我們所缺少的,所以我們必須要把缺少的補上, 打造一套真正的完整的性能優化體系,把性能優化流程化,常態化,
1、 APP基礎優化
2、APP深度優化
3、開發焦點問題優化
4、編程效率優化
5、專案實戰
抖音在APK包大小資源優化的實踐
優酷回應式布局技術全決議
網路優化
手機淘寶雙十一性能優化專案揭秘
高德APP全鏈路原始碼依賴分析
徹底干掉OOM的實戰經驗分享
微信Android終端記憶體優化實踐

對標騰訊T3.3架構師
Android框架體系架構(高級UI+FrameWork原始碼) 這塊知識是現今使用者最多的,我們稱之Android2013~2016年的技術,
Android開發者也往往因為網上Copy代碼習慣了而導致對這塊經常“使用”的代碼熟悉而又陌生:熟悉的是幾乎天天在和它們打交道, 天天在復制這些代碼 ;陌生的是雖然天天和這些代碼打交道,但是并沒有深入研究過這些代碼的原理,代碼深處的內涵,
本篇知識要點:
1、架構師設計思想篇
2、 手淘全套架構設計與實作
3、 開源框架
4、OKHttp網路框架
5、一線大廠核心框架剖析與實作

NDK模塊開發(音視頻系列)
NDK(Native Development Kit縮寫)一種基于原生程式介面的軟體開發工具包,可以讓您在 Android 應用中利用 C 和 C++ 代碼的工具,通過此工具開發的程式直接在本地運行,而不是虛擬機,
在Android中,NDK是一系列工具的集合,主要用于擴展Android SDK,NDK提供了一系列的工具可以幫助開發者快速的開發C或C++的動態庫,并能自動將so和Java應用一起打包成apk,
本篇知識要點:
1、NDK開發之C/C++入門
2、JNI模塊開發
3、Linux編程
4、底層圖片處理
5、音視頻開發
6、機器學習

Flutter學習進階
2021 年無疑是 Flutter 技術如火如荼發展的一年,
每一個移動開發者都在為 Flutter 帶來的“快速開發、富有表現力和靈活的 UI、原生性能”的特色和理念而癡狂,從超級 App 到獨立應用,從純 Flutter 到混合堆疊,開發者們在不同的場景下樂此不疲的探索和應用著 Flutter 技術,也在面臨著各種各樣不同的挑戰,
本篇知識要點:
1、Flutter跨平臺開發概述
2、Windows中Flutter開發環境搭建
3、撰寫你的第一個Flutter APP
4、Flutter Dart語言系統入門
…

微信小程式開發
微信小程式作為現在比較火的編程開發應用場景之一,深受市場的青睞,這讓不少開發者眼饞不已,但是對于初學者來說,就完全摸不著頭腦了,不知道微信小程式開發制作需要學習那些知識,有需要的朋友可以參考本篇,
本篇知識要點:
1、小程式概述及入門
2、小程式UI開發
3、API操作
4、購物商場專案實戰

總結
從出生開始,我們就被打上了標簽,這個是不能選擇的,我們出身之后的所有努力都是為了撕下這個標簽,不說實作階級跨越,只求能讓自己生活的更加舒適,同是Android開發,為什么有的人能年薪80W,有的人卻在為孩子或者生活最基本的需求而煩惱,這就是差距,還是后天形成的差距,
那個會個UI啥的就能走遍天下的時代早已不在了,時代在進步,如果你還是那個一年作業經驗用五年的程式員,那么別人的美好生活,你會親眼見證,但是和你無關,
這份Android架構師進階筆記,我希望每個希望提升自己的Android都能仔細查閱,肯定是有所幫助的,該筆記我全部放在Github上面了如果大家想要參考這些面試題、學習檔案進行學習,可以直接去我的Github查閱:Github
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/295053.html
標籤:其他
