裸辭兩個月,4面終入職騰訊,半年後我終於把騰訊 Android 高頻面試真題及解析整出來了
個人情況
先說說個人情況吧,座標廣州,15年從一所普通二本大學畢業,畢業後在一家小公司幹android開發,年薪在15w左右。
作為一名菜雞,確實非常合格,技術沒什麼長進,眼見也沒有提升,沒規劃沒未來,讓人實在焦慮,之所以開始改變自己也是家庭發生了變故,才讓自己開始思考人生。
所以耗費了大量的時間和精力,在工作之餘抽出自己的時間來學習。好在付出終是有回報的,簡歷上不說敢寫精通,熟練是沒多大問題的,最終4面拿下了騰訊offer。
以下主要分享面經和個人學習方法,會包括很多PDF文件,如面試題庫(含答案+解析)、學習筆記、實戰文件和腦圖等等,均可以免費分享 。
感嘆一聲:
耗時兩個月的找工作經歷終於是畫上句號了,幾十個日日夜夜的酸甜苦辣只有裸辭的親嘗者才能體會到吧,下面想來複盤或者說總結一下這段經歷。但不管怎麼總結,核心還是那一句話: 一定要充分的準備!!!涉及到的知識點一項都不漏的複習一遍(至於深淺程度主要看自己平時的積累了),一則能很大程度的提高自信(不需要擔心被面試官問倒);二則面對問到的知識點時還可以擴充套件的說清楚該知識點在安卓或者Java體系中的關係和邏輯。否則後續因為複習不到位而與自己理想的公司或崗位失之交臂時你會感到些懊惱。
騰訊Android 高頻面試真題
目錄
計算機基礎面試題(⭐⭐ ⭐)
網路面試題
- HTTP 與 HTTPS 有什麼區別?
- Http1.1 和 Http1.0 及 2.0 的區別?
- Https 請求慢的解決辦法
- Http 的 request 和 response 的協議組成
- 談談對 http 快取的瞭解
- Http 長連線
- Https 加密原理
- HTTPS 如何防範中間人攻擊?
- 有哪些響應碼,分別都代表什麼意思?
- 為什麼 tcp 要經過三次握手,四次揮手?
- TCP 可靠傳輸原理實現(滑動視窗)
- Tcp 和 Udp 的區別?
- 如何設計在 UDP 上層保證 UDP 的可靠性傳輸?
- socket 斷線重連怎麼實現,心跳機制又是怎樣實現?
- Cookie 與 Session 的作用和原理
- IP 報文中的內容
- 瀏覽器輸入地址到返回結果發生了什麼?
作業系統面試題(⭐⭐ ⭐)
- 作業系統如何管理記憶體的?
- 程式排程
- 說下 Linux 程式和執行緒的區別
- 你能解釋一下 Linux 的軟連結和硬連結嗎?
- 安卓許可權管理,為何在清單中註冊許可權,安卓 APP 就可以使用,反之不可 以?
資料庫面試題 (⭐)
- 資料庫的四大特徵,資料庫的隔離級別?
- 資料庫設計中常講的三正規化是指什麼?
資料結構和演算法面試題
高頻題集 (⭐⭐⭐)
- 無重複字元的最長子串
- 簡化路徑
- 復原 IP 地址
- 三數之和
- 島嶼的最大面積
- 搜尋旋轉排序陣列
- 朋友圈
- 接雨水
- 反轉連結串列
- 兩數相加
- 合併兩個有序連結串列
- 合併 K 個排序連結串列
- 買賣股票的最佳時機
- 買賣股票的最佳時機 II
- 最大子序和
- 最小棧
- LRU 快取機制
- ........
次高頻題集 (⭐⭐)
- 演算法熟悉麼?給了一個二叉排序樹,出了一個給定節點找到它的下一個元素(指的是大小順 序的下一個)的演算法題。
- x 個蘋果,一天只能吃一個、兩個、或者三個,問多少天可以吃完
- 求二叉樹第 n 層節點數
- 如何設計一個抽獎系統,比如滿 200 抽 20,滿 500 抽 50。
- 求無序陣列中的中位數
- 二叉樹深度演算法
- 堆和棧在記憶體中的區別是什麼(資料結構方面以及實際實現方面)
- 最快的排序演算法是哪個?給阿里 2 萬多名員工按年齡排序應該選擇哪個演算法?
- 堆和樹的區別?
- 求 1000 以內的水仙花數以及 40 億以內的水仙花數;
- 子串包含問題(KMP 演算法)寫程式碼實現;
- 萬億級別的兩個 URL 檔案 A 和 B,如何求出 A 和 B 的差集 C,(Bit 對映->hash 分組->多檔案 讀寫效率->磁碟定址以及應用層面對定址的最佳化)
- 蟻群演算法與蒙特卡洛演算法;
- 百度 POI 中如何試下查詢最近的商家功能(座標映象+R 樹)
- ......
Java 面試題
Java 基礎面試題
- 談談對 java 多型的理解?
- 你所知道的設計模式有哪些?
- 透過靜態內部類實現單例模式有哪些優點?
- 靜態代理和動態代理的區別,什麼場景使用?
- 簡單工廠、工廠方法、抽象工廠、Builder 模式的區別?
- 裝飾模式和代理模式有哪些區別 ?與橋接模式相比呢?
- 外觀模式和中介模式的區別?
- 策略模式和狀態模式的區別?
- 介面卡模式,裝飾者模式,外觀模式的異同?
- 程式碼的壞味道
- 是否能從 Android 中舉幾個例子說說用到了什麼設計模式 ?
- 集合框架,list,map,set 都有哪些具體的實現類,區別都是什麼?
- set 集合從原理上如何保證不重複?
- HashMap 和 HashTable 的主要區別是什麼?,兩者底層實現的資料結構是什麼?
- HashMap、ConcurrentHashMap、hash()相關原理解析?
- .......
Java 併發面試題
- 什麼是執行緒池,如何使用?為什麼要使用執行緒池?
- Java 中的執行緒池共有幾種?
- 執行緒池原理?
- 執行緒池都有哪幾種工作佇列?
- 怎麼理解無界佇列和有界佇列?
- 多執行緒中的安全佇列一般透過什麼實現?
- synchronized 的原理?
- Synchronized 最佳化後的鎖機制簡單介紹一下,包括自旋鎖、偏向鎖、輕量級鎖、重量級鎖?
- 談談對 Synchronized 關鍵字涉及到的類鎖,方法鎖,重入鎖的理解?
- wait、sleep 的區別和 notify 執行過程
- synchronized 關鍵字和 Lock 的區別你知道嗎?為什麼 Lock 的效能好一些?
- volatile 原理
- synchronized 和 volatile 關鍵字的作用和區別
- .......
Java 虛擬機器面試題
- JVM 記憶體區域
- JVM 的記憶體模型的理解?
- 描述一下 GC 的原理和回收策略?
- 類的載入器,雙親機制,Android 的類載入器
- JVM 跟 Art、Dalvik 對比?
- GC 收集器簡介?以及它的記憶體劃分怎麼樣的?
- Java 的虛擬機器 JVM 的兩個記憶體:棧記憶體和堆記憶體的區別是什麼?
- JVM 調優的常見命令列工具有哪些?JVM 常見的調優引數有哪些?
- jstack,jmap,jutil 分別的意義?如何線上排查 JVM 的相關問題?
- JVM 方法區儲存內容 是否會動態擴充套件 是否會出現記憶體溢位 出現的原因有 哪些?
- 如何解決同時存在的物件建立和物件回收問題?
- JVM 中最大堆大小有沒有限制?
- .......
Android 面試題
Android 基礎面試題 (⭐⭐ ⭐)
- 什麼是 ANR 如何避免它?
- Activity 和 Fragment 生命週期有哪些?
- 橫豎屏切換時候 Activity 的生命週期
- AsyncTask 的缺陷和問題,說說他的原理
- onSaveInstanceState() 與 onRestoreIntanceState()
- android 中程式的優先順序?
- Bunder 傳遞物件為什麼需要序列化?Serialzable 和 Parcelable 的區別?
- 動畫
- Context 相關
- Android 各版本新特性
- Json
- android 中有哪幾種解析 xml 的類,官方推薦哪種?以及它們的原理和區別?
- Jar 和 Aar 的區別
- Android 為每個應用程式分配的記憶體大小是多少
- 更新 UI 方式
- .......
Android 高階面試題 (⭐⭐ ⭐)
- 你們做了哪些穩定性方面的最佳化?
- 效能穩定性是怎麼做的?
- 業務穩定性如何保障?
- 如果發生了異常情況,怎麼快速止損?
- 如果提高啟動速度,設計一個延遲載入框架或者 sdk 的方法和注意的問題
- 你們記憶體最佳化專案的過程是怎麼做的?
- 你做了記憶體最佳化最大的感受是什麼?
- 如何檢測所有不合理的地方?
- App 繪製最佳化
- 卡頓的一整套解決方案是怎麼做的?
- TextView setText 耗時的原因,對 TextView 繪製層原始碼的理解?
- View 的事件分發機制?滑動衝突怎麼解決?
- 如何解決 View 的事件衝突?舉個開發中遇到的例子?
- View 的繪製流程?
- 跨程式通訊
- Android 系統啟動流程是什麼?
- 啟動一個程式,可以主介面點選圖示進入,也可以從一個程式中跳轉過去,二者有什麼區別?
- AMS 家族重要術語解釋
- App 啟動流程(Activity 的冷啟動流程)
- ActivityThread 工作原理
- 說下四大元件的啟動過程,四大元件的啟動與銷燬的方式
- AMS 是如何管理 Activity 的?
- 理解 Window 和 WindowManager
- 安卓採用自動垃圾回收機制,請說下安卓記憶體管理的原理?
- JNI
- Android 中 App 是如何沙箱化的,為何要這麼做?
- 請介紹一下 NDK?
- 你專案中用到哪些開源庫?說說其實現原理?
- .......
其他擴充套件面試題
Kotlin (⭐⭐)
- Kotlin 特性,和 Java 相比有什麼不同的地方?
- Kotlin 為什麼能和 Java 混編?
- 什麼是協程?
大前端 (⭐⭐)
- Hybrid 通訊原理是什麼,有做研究嗎?
- JS 的互動理解嗎?平時工作用的多嗎,專案中是怎麼與 Web 互動的?
- react native 有多少了解?講一下原理
- weex 瞭解嗎?如何自己實現類似技術?
- Dart 語言有研究過嗎?
- 快應用瞭解嗎?跟其她方式相比有什麼優缺點?
- 說說你用過的混合開發技術有哪些?各有什麼優缺點?
指令碼語言 (⭐⭐)
- 指令碼語言會嗎?
- Python 會嗎?
- Gradle 瞭解多少?groovy 語法會嗎?
非技術面試題
- 你還要什麼瞭解和要問的嗎?
- 你覺得安卓開發最關鍵的技術在哪裡?
- 研究比較深入的領域有哪些?
- 自己最擅長的技術點,最感興趣的技術領域和技術?
- 專案中用了哪些開源庫,如何避免因為引入開源庫而導致的安全性和穩定性問題?
- 說下你都看過那些技術書籍,你是如何自學的。你覺得自己的優勢與弱點是什麼?
- 說下專案中遇到的棘手問題,包括技術,交際和溝通
- 說下你近幾年的規劃?
- 對加班怎麼看?
- 介紹你做過的哪些專案
- 為什麼要離職?
- 當你的開發任務很緊張,你怎麼去做程式碼最佳化的?
- .......
總結
其實客戶端開發的知識點就那麼多,面試問來問去還是那麼點東西。所以面試沒有其他的訣竅,只看你對這些知識點準備的充分程度。so,出去面試時先看看自己複習到了哪個階段就好。
今天分享的面試題就到這裡,還是那句話,有些東西你不僅要懂,而且要能夠很好地表達出來,能夠讓面試官認可你的理解,例如Handler機制,這個是面試必問之題。有些晦澀的點,或許它只活在面試當中,實際工作當中你壓根不會用到它,但是你要知道它是什麼東西。
上面只列舉出了面試題,答案解析內容過長,所以我把答案解析都整理成了一個完整的PDF,需要答案解析的朋友 點這裡。
最後我在這裡分享一下這段時間從朋友,大佬那裡收集到的一些
2019-2020BAT 面試真題解析,裡面內容很多也很系統,包含了很多內容:
Android 基礎、Java 基礎、Android 原始碼相關分析、常見的一些原理性問題
等等,可以很好地
幫助我們深刻理解Android相關知識點的原理以及面試相關知識。
這份資料把大廠面試中 常被問到的技術點整理成了 PDF ,包知識脈絡 + 諸多細節;還有 高階架構技術進階腦圖 幫助大家學習提升進階,也節省大家在網上搜尋資料的時間來學習,也可以分享給身邊好友一起學習。
以上內容均放在了開源專案: 【 github 】 中已收錄,裡面包含不同方向的自學Android路線、面試題集合/面經、及系列技術文章等,資源持續更新中...
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69983917/viewspace-2723646/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android面經分享:開發4年裸辭面試20天收割8個offer,終於入職阿里,全是細節!Android面試阿里
- Android春招面經:二本渣院面試網易被拒,最終終於拿到騰訊+阿里offer(已入職騰訊)Android面試阿里
- 從阿里、騰訊的面試真題中總結了這11個Redis高頻面試題阿里Redis面試題
- 這一天終於來了:賈伯斯辭職 庫克接任
- 百度Android面試真題解析:二次面試終拿到offer,這些面試重點我都整理出來了!Android面試
- 騰訊面試篇(三)——終章面試
- 太難了,我終於把JDBC的程式碼終於優化了!JDBC優化
- 終於把網站搭建起來了網站
- 面試了滴滴、美團、京東等4家大廠,我總結了70道大廠高頻Java面試題及解析Java面試題
- 程式設計師裸辭三個月,終於拿到大廠offer!網友:不應該!程式設計師
- 花了一個星期,我終於把RPC框架整明白了!RPC框架
- 凜冬已至,一個android碼農面進了騰訊,終於到達2020的春日Android
- 今年我經歷了裸辭,自由職業,再就業就業
- 終於,我也來學習VUE了Vue
- Java校招入職華為,半年後我跑路了Java
- 裸辭兩個月,海投一個月,從Android轉戰Web前端的求職之路AndroidWeb前端求職
- 自學python半年,我入職了......Python
- 騰訊牛逼!終於開源了自家的 Tencent JDK——Kona!!.mdJDK
- 終於辭職了,自由自業的感覺真棒! 現在可以全職專注於TS全棧教學了全棧
- 面試兩個月,騰訊新浪已offer阿里hr面,爆肝寫下這份面試總結面試阿里
- 去騰訊面試了,我自信滿滿!面試
- 阿里P8耗時九個月整理的Java面試核心筆記,終於來了阿里Java面試筆記
- Android 7.1正式版終於來了:12月5日開更新Android
- 專案經理轉型獨立遊戲人?從騰訊裸辭後,他用5個月做了款遊戲登上 Steam 熱榜遊戲
- 終於有人把MYSQL索引講清楚了MySql索引
- 終於有人把15個JavaScript的重要陣列方法給講出來了JavaScript陣列
- 騰訊前端二面手寫面試題前端面試題
- 爽啊,終於又見面了,位元組跳動後端社招面試分享後端面試
- 五年Java開發經驗,裸辭準備半月面試阿里,阿里巴巴卻“不講武德”居然面了我7輪,歷經千辛萬苦終於斬獲P7及OfferJava面試阿里
- VS Code Day,終於來了!
- 終於,解決了一個大問題
- 釋出十個月後 Android 棒棒糖份額終於突破 20%Android
- 終於,我還是下決心學Java後臺了Java
- 它來了它終於來了- Beego 1.12.2Go
- 宅家學習第N天,我終於整理出了高階面試題合集!面試題
- 實時 Django 終於來了 —— Django Channels 入門指南Django
- MySQL 高頻面試題,都在這了MySql面試題
- 騰訊Android開發面試涼涼,2021年這些高頻面試知識點最後再發一次,先收藏了Android面試