欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

2019 Android 面試真題集錦

  發(fā)布時間:2019-08-28 16:15:45   作者:nanchen2251   我要評論
這篇文章主要介紹了2019 Android 面試真題集錦,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

南塵在 2019 年 7 月毫無準(zhǔn)備的情況下也參加了幾家一線互聯(lián)網(wǎng)公司的面試,包括阿里、頭條、快手、趣頭條、BIGO、訊飛、OPPO,也熙熙攘攘拿了幾個 offer,最終選取了其中一家公司進(jìn)行入職。

每次面試后,其實也有進(jìn)行面試題的一些收集和總結(jié),確實,面試其實就是一次查漏補缺的過程。本著對公司負(fù)責(zé)的態(tài)度,這里就不說面試題來自哪家公司了。不過還是要把記錄下來的這些真題分享給大家。

另外,面試題一般都是基礎(chǔ) && 項目兩部分結(jié)合,而且還要看面試官當(dāng)時對你的準(zhǔn)備,所以面試真題雖然「真」,但卻僅僅只能作為大家準(zhǔn)備面試的一個大綱吧。

當(dāng)然,有些題目沒記錄完全,有些題目也出現(xiàn)多家公司提問,這里就不重復(fù)了。

Java 基礎(chǔ)部分

基本這些公司都會問到相關(guān)基礎(chǔ),所以,一般來說基礎(chǔ)的準(zhǔn)備是必要并且通用的,所以這部分真的很重要。

1、HashMap 和 HashTable 以及 CurrentHashMap 的區(qū)別。

一般來說,這三個東西基本在面試中 70% 會被問到,而問的方向也不太一樣。比如初級的問法是講講它們之前的區(qū)別,這個我想沒什么難度,大多數(shù)人還是知道主要核心區(qū)別是并發(fā)上的處理。此外,內(nèi)部數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)、擴容、存取操作這些問題應(yīng)該是很老生常談了,這并沒有什么好說的,大多數(shù)人也都知道。稍微問的深一點的可能會在下面這些點上出問題。哈希碰撞,哈希計算,哈希映射,為什么是頭插法,擴容為什么是 2 的冪次等這樣的問題。

2、synchronized 和 volatile 、ReentrantLock 、CAS 的區(qū)別。

這個問題被問頻率不在 HashMap 之下,因為并發(fā)編程,真的很重要。能問到這幾個點的方式真的是太多了,我們能發(fā)揮的空間也同樣很大。CAS 的 ABA 問題?上面幾個東西的特性?使用場景?大概我不用再例舉了吧?對了,我多次被問到的一個問題是:synchronized 修飾實例方法和修飾靜態(tài)方法有啥不一樣。

3、JVM 類加載機制、垃圾回收算法對比、Java 虛擬機結(jié)構(gòu)等。

這三個問題大概出現(xiàn)概率 40%,基本只需要看我每日一問系列的推文就差不多了吧,希望更清楚明白的可以直接看《深入理解 Java 虛擬機》。當(dāng)你講到分代回收算法的時候,不免會被追問到新生對象是怎么從年輕代到老年代的,以及可以作為 root 結(jié)點的對象有哪些兩個問題。

4、Java 的四大引用

四大引用面試出現(xiàn)概率比我想象中要高,我原本以為就強引用、軟引用、弱引用、虛引用這四個玩意兒沒啥可講的。實際上也確實沒啥好講的,稍微問的深一些的面試官會和內(nèi)存泄漏檢測原理以及垃圾回收糅雜在一起。

5、Java 的泛型,<? super T> 和 <? extends T> 的區(qū)別。

Java 泛型還是會在面試中出現(xiàn)的,不過幾率不是很高,大概是因為我簡歷中有提到泛型擦除相關(guān)的東西。所以會被問到泛型、泛型擦除、通配符相關(guān)的東西。不過這個東西,不應(yīng)該是為了應(yīng)付面試,實際開發(fā)中真的很重要。

6、Java 線程有哪些狀態(tài),有哪些鎖,各種鎖的區(qū)別。

這個問題講真,我也只懂一點皮毛,并且當(dāng)時回答不是很全面,出現(xiàn)概率的話,不是很高吧。

7、final 、finally、finalize 區(qū)別。

老生常談的問題,沒啥好說的,實際上這次社招面試也只遇到了兩次。比較喜歡追根溯源的面試官可能會對這個 finalize 有點執(zhí)念,一定希望搞清楚,這玩意兒我們是不是可以真的搞點黑科技騷操作。

8、接口和抽象類的區(qū)別。

沒想到還被問了一次這個,這玩意兒給我的感覺就是隨時都在用,但真要較真,還真不能一口氣把所有區(qū)別都信手拈來。

9、sleep 、wait、yield 的區(qū)別,wait 的線程如何喚醒它?

大多數(shù) Android 應(yīng)用開發(fā)并接觸不到很多并發(fā)相關(guān)的東西,不過這玩意兒還是在面試中挺容易出現(xiàn)的。

計算機網(wǎng)絡(luò)部分。

計算機網(wǎng)絡(luò)部分還是挺容易考察的,不過考察的點不會那么深入。通常來說也就是這些問題:

  1. TCP 有哪些狀態(tài)。
  2. 三次握手、四次揮手。為啥是三次不是兩次?
  3. HTTPS 和 HTTP 的區(qū)別。HTTPS 2.0,3.0?
  4. 瀏覽器輸入一個 URL,按下回車網(wǎng)絡(luò)傳輸?shù)牧鞒蹋?/li>
  5. 喜歡深問一點的還會問到網(wǎng)絡(luò)架構(gòu),每層有些什么協(xié)議,F(xiàn)TP 這些相關(guān)原理,印象比較深刻的還有一個問題是:TCP 建立連接后,發(fā)包頻率是怎樣的?

Android 部分

Android 很廣,所以這里只是簡單說下有些什么問題。這個的話其實真的 70% 問題出自你的簡歷。

  • Activity 的生命周期;
  • Android 的 4 大啟動模式,注意 onNewIntent() 的調(diào)用;
  • 組件化架構(gòu)思路,如何從一個老項目一步一步實現(xiàn)組件化,主要問實現(xiàn)思路,考察應(yīng)試者的架構(gòu)能力和思考能力。這一塊內(nèi)容真的很多,你需要考慮的問題很多,哪一步做什么,順序很重要。
  • MVC、MCP、MVVP 的區(qū)別和各種使用場景,如何選擇適合自己的開發(fā)架構(gòu)?
  • Router 原理,如何實現(xiàn)組件間通信,組件化平級調(diào)用數(shù)據(jù)方式。
  • 系統(tǒng)打包流程;
  • APP 啟動流程;
  • 如何做啟動優(yōu)化?冷啟動什么的肯定是基礎(chǔ),后續(xù)應(yīng)該還有的是懶加載,丟線程池同步處理,需要注意這里可能會有的坑是,丟線程池如何知道全部完成。
  • 事件分發(fā)機制。事件分發(fā)已經(jīng)不是直接讓你講了,會給你具體的場景,比如 A 嵌套 B ,B 嵌套 C,從 C 中心按下,一下滑出到 A,事件分發(fā)的過程,這里面肯定會有 ACTION_CANCEL 的相關(guān)調(diào)用時機。
  • 如何檢測卡頓,卡頓原理是什么,怎么判斷是頁面響應(yīng)卡頓還是邏輯處理造成的卡頓?
  • 生產(chǎn)者模式和消費者模式的區(qū)別?
  • 單例模式雙重加鎖,為什么要這樣做。
  • Handler 機制原理,IdleHandler 什么時候調(diào)用。
  • LeakCanary 原理,為什么檢測內(nèi)存泄漏需要兩次?
  • BlockCanary 原理。
  • ViewGroup 繪制順序;
  • Android 有哪些存儲數(shù)據(jù)的方式。
  • SharedPrefrence 源碼和問題點;
  • 講講 Android 的四大組件;
  • 屬性動畫、補間動畫、幀動畫的區(qū)別和使用場景;
  • 自定義 ViewGroup 如何實現(xiàn) FlowLayout?如何實現(xiàn) FlowLayout 調(diào)換順序?
  • 自定義 View 如何實現(xiàn)打桌球效果;
  • 自定義 View 如何實現(xiàn)拉弓效果,貝瑟爾曲線原理實現(xiàn)?
  • APK 瘦身是怎么做的,只用 armabi-v7a 沒有什么問題么?APK 瘦身這個基本是 100% 被面試問到,可能是我簡歷上提到的原因。
  • ListView 和 RecyclerView 區(qū)別?RecyclerView 有幾層緩存,如何讓兩個 RecyclerView 共用一個緩存?
  • 如何判斷一個 APP 在前臺還是后臺?
  • 如何做應(yīng)用?;??全家桶原理?
  • 講講你所做過的性能優(yōu)化。
  • Retrofit 在 OkHttp 上做了哪些封裝?動態(tài)代理和靜態(tài)代理的區(qū)別,是怎么實現(xiàn)的。
  • 講講軌跡視頻的音視頻合成原理;
  • AIDL 相關(guān);
  • Binder 機制,講講 Linux 上的 IPC 通信,Binder 有什么優(yōu)勢,Android 上有哪些多進(jìn)程通信機制?
  • RxJava 的線程切換原理。
  • OkHttp 和 Volloy 區(qū)別;
  • Glide 緩存原理,如何設(shè)計一個大圖加載框架。
  • LRUCache 原理;
  • 講講咕咚項目開發(fā)中遇到的最大的一個難題和挑戰(zhàn);
  • 這個問題基本是 95% 必問的一個問題;
  • 說說你開發(fā)最大的優(yōu)勢點。出現(xiàn)率同上。
     

算法

  • String 轉(zhuǎn) int。核心算法就三行代碼,不過臨界條件很多,除了判空,還需要注意負(fù)數(shù)、Integer 的最大最小值邊界等;
  • 如何判斷一個單鏈表有環(huán)?
  • 鏈表翻轉(zhuǎn);
  • 快排;
  • 100 億個單詞,找出出現(xiàn)頻率最高的單詞。要求幾種方案;
  • 鏈表每 k 位逆序;
  • 鏡像二叉樹;
  • 找出一個無序數(shù)組中出現(xiàn)超過一半次數(shù)的數(shù)字;
  • 計算二叉樹的最大深度,要求非遞歸算法。
  • String 方式計算加法。

HR 面

  • 你為什么離開咕咚?
  • 你的缺點是什么?
  • 你能給公司帶來什么效益?
  • 你對未來的職業(yè)規(guī)劃?

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 華為Android三面成功通過面試官都問了什么

    這篇文章主要介紹了華為Android三面成功通過,面試官都問了什么,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-26
  • Android 一線大廠面試總結(jié)

    這篇文章主要介紹了Android 一線大廠面試總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-08
  • 2019年Android高級面試題與相關(guān)知識點總結(jié)

    這篇文章主要介紹了2019年Android高級面試題與相關(guān)知識點,總結(jié)分析了Android開發(fā)中涉及的各種常見知識點與相關(guān)原理,需要的朋友可以參考下
    2019-11-21
  • 2019年必備的Android面試題及參考答案收集匯總

    這篇文章主要介紹了2019年必備的Android面試題及參考答案,整理匯總了Android開發(fā)中常見的各種知識點、技術(shù)細(xì)節(jié)與注意事項,需要的朋友可以參考下
    2019-10-30
  • 2019 金三銀四:阿里P9架構(gòu)的Android大廠面試題總結(jié)

    面試是一道坎,很多人會恐懼面試,即使是工作很多年的老鳥,可能仍存在面試的焦慮。 今天介紹了阿里P9架構(gòu)的Android大廠面試題總結(jié)的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分
    2019-05-05
  • 這20道題,聽說只有大廠的Android工程師能全對

    這篇文章主要介紹了這20道題,聽說只有大廠的Android工程師能全對,趕快一起來測試一下自己把,看看是不是都掌握了
    2020-05-25

最新評論