前言
今天我給大家再次分享一下,我最近的一些讀書的感想,思考起來,確實能夠給自己帶來一些真實的幫助和啟發,希望大家在平時的工作學習中,也能夠認清楚學習的一些本質。
如果我們的學習是在不斷掌握應對具體工作場景和問題的方法,那就是在努力提升技術效率。在這種模式下,我們遇到每個新問題都要學習新知識。
如果我們的學習是在了解問題本質,了解解決方案的底層規律,能夠讓我們認清楚問題表象背后的實質,那我們就是在提升認知效率。在這種模式下,我們會發現,很多看似全新的問題,其實只不過是狡猾的舊問題換了一身裝扮再次出現而已。
然而,我們大多數人的學習層次一直無法提升,就是因為我們掉進了追逐技術效率的游戲圈套:我們越努力,跑得越快,要學習的新知識就越多。而這,讓我們陷入了學習的“老鼠賽道”。在老鼠賽道中,我們看起來一直在努力,可是其實是在原地打轉。
面試題主要問的有以下這些:
一面
(因為過程比較順利,題目沒有好好記下來,大概就是下面這些吧)
1.項目相關
2.hashmap
3.線程a 等b,b等c的實現
4.類的equals重寫
5.線程安全是什么 如何保證多線程安全
6.public private protected
7.簡單工廠 抽象工廠 是什么
8.判斷一個數組是不是后序遍歷(代碼 )
二面
(二面一開始的時候我還是有些緊張的,但是我沒想到居然挺簡單,這也直接導致我三面輕敵了)
1.項目(10min)
2.算法題:判斷一個字符串是否是一個IPV4
3.算法題:連續子數組的最大和(劍指Offer上的題)
4.Java異常體系(運行時與非運行時異常的區別)
5.HashCode與equals的區別
6.JVM內存區域劃分(程序計數器,虛擬機棧,本地方法棧,堆,方法區,運行時常量池)
7.JVM內存回收方法(判斷對象是否已死<1面那個問題>,新生代老年代的垃圾回收算法
8.哪些對象可以作為GC Roots
9.數據庫中delete和drop的區別
10.數據庫事務的使用場景
11.數據庫三大范式
12.數據庫索引的創建原則
13.數據庫索引底層實現(B+樹)
14.線程,進程,程序的區別
15.死鎖的產生條件
16.繼承與***模式的優劣勢
想不到吧,居然就這些。就這?我開始飄了。
三面
1.項目
2.三次握手四次揮手
3.TCP核心機制(滑動窗口,快速重傳機制,擁塞控制…可以參考我以前的博客)
4.HTTP和HTTPS及其區別
5.若建立連接時間比較長,HTTP是怎么優化的(注意是HTTP不是TCP)
( 網絡懟到我啞口無言,問了三個問題都答不上來,這才換了一個方面,也是從這里我開始慌了)
6.接著問了我**【性能優化的相關問題】**(我答不上來,后面就又問了性能優化的方面的其他,我還是說不會)
7.性能優化完全答不上之后又問了音視頻開發。大致就是為什么編碼,常見的音視頻格式,ffmpeg,opengl,egl,android怎么往ndk通信與調用的
大概就是這些吧,當時有些自亂陣腳,加上本身NDK 了解的就不多,總之,我的表現我自己都看不下去了。
后面……沒有后面了。性能優化真的是難到我了。
最后
今天關于面試的分享就到這里,還是那句話,有些東西你不僅要懂,而且要能夠很好地表達出來,能夠讓面試官認可你的理解,例如Handler機制,這個是面試必問之題。有些晦澀的點,或許它只活在面試當中,實際工作當中你壓根不會用到它,但是你要知道它是什么東西。
最后在這里小編分享一份自己收錄整理上述技術體系圖相關的幾十套騰訊、頭條、阿里、美團等公司20年的面試題,把技術點整理成了視頻和PDF(實際上比預期多花了不少精力),包含知識脈絡 + 諸多細節,由于篇幅有限,這里以圖片的形式給大家展示一部分。
還有?高級架構技術進階腦圖、Android開發面試專題資料,高級進階架構資料 幫助大家學習提升進階,也節省大家在網上搜索資料的時間來學習,也可以分享給身邊好友一起學習。
領取方式:點擊【Android學習PDF+架構視頻+面試文檔+源碼筆記】
【Android核心高級技術PDF文檔,BAT大廠面試真題解析】
【算法合集】
【延伸Android必備知識點】
i-1621242973499)]
【延伸Android必備知識點】
[外鏈圖片轉存中…(img-8p7KjfP8-1621242973502)]