资深Android开发带你入门Framework,架构师必备技能
開(kāi)頭
先說(shuō)一下我大概的情況吧。渣本畢業(yè),工作已經(jīng)有快兩年了,從高中就開(kāi)始玩小破站。無(wú)論是學(xué)習(xí)還是日常放松都是在b站。大學(xué)主學(xué)的軟件技術(shù)專業(yè),所以,進(jìn)大學(xué)校門(mén)那一刻起,去上海bilibili工作就在心里埋下了種子。在學(xué)校,專業(yè)學(xué)的挺好的,自己寫(xiě)過(guò)一些小項(xiàng)目,也參與過(guò)一些協(xié)會(huì)開(kāi)發(fā)的項(xiàng)目。
兩年前剛畢業(yè)時(shí)候,b站也有校招,我當(dāng)然滿懷期待的參加了,但是并沒(méi)有被錄用。當(dāng)時(shí),挺失落的吧,當(dāng)時(shí)也有想過(guò)放棄:我一個(gè)渣渣二本畢業(yè),憑什么去上海,進(jìn)b站啊。所以就找了個(gè)普普通通的公司開(kāi)始了我的程序員生涯。
到今年年初的時(shí)候,疫情爆發(fā)了,各行業(yè)都收到的很大的影響,也包括我任職的小公司。在家隔離了一個(gè)多月,在家玩手機(jī)的看到了b站的社招,人閑下來(lái)的時(shí)候還真就會(huì)有各種想法會(huì)冒出來(lái),我突然就想到,要不再試一次吧,反正工作也沒(méi)了,在家閑著也是閑著,就著手準(zhǔn)備bilibili的面試。刷面試題,看別人的面經(jīng),總結(jié)了一下校招時(shí)的失敗經(jīng)驗(yàn)…準(zhǔn)備了挺久的,得有20多天吧,把學(xué)習(xí)所學(xué)的和工作兩年的所學(xué)以及網(wǎng)友的經(jīng)驗(yàn),系統(tǒng)的梳理、鞏固。世間所有的付出終是有回報(bào)的,努力的耕耘,肯定是有收獲的。我成功的入職了bilibili,也是要感謝網(wǎng)友們提供的寶貴經(jīng)驗(yàn),所以整理了一下,把我的面經(jīng)分享出來(lái)給大家。
在這個(gè)知識(shí)膨脹的時(shí)代,每天面對(duì)鋪面而來(lái)的海量信息,我們的學(xué)習(xí)也不再是按照以往傳統(tǒng)的學(xué)習(xí)模式了,更重要的是我們要進(jìn)行科學(xué)學(xué)習(xí),什么是學(xué)習(xí)?學(xué)會(huì)學(xué)習(xí)才是根本,如何學(xué)會(huì)學(xué)習(xí),那就要講求方法了,我們經(jīng)常看到一些學(xué)霸等傳奇人物,聽(tīng)他們的經(jīng)歷,學(xué)他們的方法,路有千千萬(wàn),但是你想過(guò)沒(méi)有,也許適合你走的只有一條而已,所以,別人的不一定適合你,適合自己的才是最好的,但是學(xué)習(xí)效果不佳的原因卻大致有以下幾個(gè):
關(guān)于“沒(méi)有正向反饋”
這應(yīng)該很好理解,這里的沒(méi)有正向反饋指的就是我們?cè)趯W(xué)習(xí)的過(guò)程中并不能看到感受到因?qū)W習(xí)而真正給我們帶來(lái)有什么不一樣的東西,哪怕是一種感覺(jué),又或者是物質(zhì)上的東西,總之,這是能夠讓我從內(nèi)心覺(jué)得“學(xué)習(xí)真好”,可是我們往往卻很少遇到。我們總是希望付出了就能立馬看到收獲的,一旦達(dá)不到自己的期望,我們也就失去了激情,甚至開(kāi)始抱怨,自然學(xué)習(xí)效率就會(huì)下降,所以學(xué)習(xí)中,我們一定要對(duì)正向反饋加以重視,這里說(shuō)幾點(diǎn)關(guān)于我學(xué)習(xí)中用到的正向反饋吧!
-
我學(xué)習(xí)編程有寫(xiě)博客的習(xí)慣,當(dāng)我剛寫(xiě)完一篇博客的時(shí)候會(huì)有點(diǎn)小小成就感,隨后我會(huì)發(fā)給我認(rèn)識(shí)的一些前輩,很多都給予了肯定,哪怕是鼓勵(lì)我我也高興!
-
有的時(shí)候我也會(huì)給一些大牛投稿,一旦被采用,那種心情是相當(dāng)?shù)恼f(shuō)不出口的(太高興了)
-
在專業(yè)上我會(huì)幫別人解答一些問(wèn)題或者分享一些知識(shí)等
以上都是我的一些正向反饋,這些都能激勵(lì)我更有動(dòng)力的去學(xué)習(xí),學(xué)習(xí),你也有該有自己的正向反饋!
關(guān)于“學(xué)習(xí)方法不對(duì)”
這幾天特別中意一句話“當(dāng)你找到了適合自己的努力方式,你就如同萬(wàn)千牛人一樣走在了光彩奪目掌聲陣陣的人生征途上”,這句話就強(qiáng)調(diào)了方法是多么的重要,有的時(shí)候我們很項(xiàng)目那些學(xué)霸,覺(jué)得是自己智商不夠,其實(shí)不然,最重要的是那些所謂的學(xué)霸都有自己的一套學(xué)習(xí)方法。我們可以捫心自問(wèn),我們大多數(shù)人每天都在學(xué)習(xí),但是又有多少人真正思考過(guò)自己學(xué)習(xí)方法的問(wèn)題呢?我只是機(jī)械式的去學(xué)習(xí)而已,并沒(méi)有想著找尋一套屬于自己的方法體系,這就是我們與學(xué)霸的差別吧!
前幾天在讀美國(guó)作家本尼迪克特?凱里的《如何學(xué)習(xí)》一書(shū),讀完很受啟發(fā),其中書(shū)中提到了一種學(xué)習(xí)方法叫做“分散式學(xué)習(xí)”,講述的是利用間隔效應(yīng)去學(xué)習(xí),通俗來(lái)說(shuō)就是我們把大塊的學(xué)習(xí)任務(wù)拆分開(kāi)來(lái)去學(xué),書(shū)中提到,你花兩個(gè)小時(shí)一口氣把一個(gè)知識(shí)點(diǎn)給學(xué)了沒(méi)有分兩天每天一小時(shí)的學(xué)習(xí)效果好,這就是方法
關(guān)于學(xué)習(xí)方法的探討很多很多,只是我們貌似從來(lái)沒(méi)有在意過(guò),另外,切記只有適合自己的才是最好的,成功的人有很多,但是他們的路你不一定走得了,去尋找屬于自己的學(xué)習(xí)方法論吧!
關(guān)于“知識(shí)不成體系”
不知道大家在學(xué)習(xí)的過(guò)程中有沒(méi)有做筆記的習(xí)慣,我一直覺(jué)得做筆記是非常重要的,記得在高中的時(shí)候,我會(huì)給每一科都準(zhǔn)備一個(gè)筆記本,上面寫(xiě)滿了筆記,但是后來(lái)愈發(fā)的覺(jué)得筆記很亂,經(jīng)常是一個(gè)知識(shí)點(diǎn)在很多頁(yè)記著,這就導(dǎo)致了很多問(wèn)題。我們?cè)诨剡^(guò)頭來(lái)說(shuō)“知識(shí)不成體系”,確實(shí)如此,我們每天都在學(xué)習(xí),每天都接收了大量的信息,而且這些信息又是零散的,不成體系的,如果我們?cè)俨患右杂涗?#xff0c;很容易遺忘,而且會(huì)感覺(jué)亂糟糟的,一點(diǎn)也不清晰明了,該怎么辦?很簡(jiǎn)單,將我們學(xué)到的知識(shí)都記錄下來(lái),而且是分門(mén)別類的記錄下來(lái),將知識(shí)體系化,做一個(gè)屬于自己的體系化知識(shí)庫(kù),這樣我們不僅會(huì)對(duì)我們學(xué)習(xí)的知識(shí)有個(gè)全面的了解,而且非常方便我們的復(fù)習(xí)鞏固等!還可以讓我們看到哪地方是自己的弱勢(shì),方便彌補(bǔ)!這里以我自己舉個(gè)例子,方便大家理解!
我在學(xué)習(xí)Android的時(shí)候會(huì)將自己學(xué)到知識(shí)都分類別的進(jìn)行整理,將自己學(xué)到的知識(shí)體系化,例如我會(huì)分成如下類別:
- 性能優(yōu)化
- 多線程
- 源碼分析
- 數(shù)據(jù)結(jié)構(gòu)和算法
- 設(shè)計(jì)模式
- 框架設(shè)計(jì)
- NDK
- APP開(kāi)發(fā)
- 微信小程序
- Flutter和kotlin
再比如我在學(xué)習(xí)中制作的一個(gè)學(xué)習(xí)思路腦圖,由于內(nèi)容過(guò)多,這里就放上一個(gè)大概的思路腦圖分享給大家 高清圖可以看文末
有了以上的分類記錄,我就對(duì)Android的一個(gè)大概的知識(shí)體系有個(gè)了解,以后相關(guān)學(xué)習(xí)都會(huì)放在對(duì)應(yīng)的目錄下,平常看看,也知道自己哪方面不熟悉,隨時(shí)復(fù)習(xí)鞏固,做到對(duì)學(xué)到的知識(shí)心中有數(shù),體系化知識(shí)構(gòu)建不可缺少!
總結(jié)
首先是感覺(jué)自己的基礎(chǔ)還是不夠吧,大廠好像都喜歡問(wèn)這些底層原理。
另外一部分原因在于資料也還沒(méi)有看完,一面時(shí)憑借那份資料考前突擊惡補(bǔ)個(gè)幾天居然也能輕松應(yīng)對(duì)(在這里還是要感謝那份資料,真的牛),于是自我感覺(jué)良好,資料就沒(méi)有怎么深究下去了。
之前的準(zhǔn)備只涉及了Java、Android、計(jì)網(wǎng)、數(shù)據(jù)結(jié)構(gòu)與算法這些方面,面對(duì)面試官對(duì)其他基礎(chǔ)課程的考察顯得捉襟見(jiàn)肘。
下一步還是要查漏補(bǔ)缺,進(jìn)行針對(duì)性復(fù)習(xí)。
最后的最后,那套資料這次一定要全部看完,是真的太全面了,各個(gè)知識(shí)點(diǎn)都涵蓋了,幾乎我面試遇到的所有問(wèn)題的知識(shí)點(diǎn)這里面都有!在這里也免費(fèi)分享給大家,希望大家不要犯和我一樣的錯(cuò)誤呀!!!一定要看完!
獲取方式:點(diǎn)擊我的GitHub
E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)
總結(jié)
以上是生活随笔為你收集整理的资深Android开发带你入门Framework,架构师必备技能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 和平精英大天使号在哪
- 下一篇: 资深大牛带你了解源码!关于Android