主頁 > 移動端開發 > Android面經, 2021面試經驗總結

Android面經, 2021面試經驗總結

2021-12-18 08:49:05 移動端開發

前言

由于技術有限, 面試的都是一些二線和三四線的公司. 不過也有一些自己的心得體會, 在此記錄總結一下.

面試周期比較長, 從3月份面到了12月份. 期間也是面一個, 總結一下(玩玩游戲, 看看動漫...), 再復習知識, 然后再去面試. 像我這種懶惰的人, 就得經歷面試啥都不會的尷尬, 才能有學習的動力...

面試的公司有B站, 喜馬拉雅, 七貓, 完美世界, 傳音控股, 人人影視, 播唄等.

面試經歷

喜馬拉雅 2021.3

演算法題

1.兩個有序鏈表合并
2.從n個版本中找到第一個壞的版本
3.給你二叉樹的根節點 root 和一個表示目標和的整數 targetSum ,判斷該樹中是否存在 根節點到葉子節點 的路徑,這條路徑上所有節點值相加等于目標和 targetSum ,

一面
hanler機制
livedata原理

service 使用相關(startService, bindService 區別, 多次呼叫觸發onCreate onStartCommand等細節, 因為我提到專案中使用service比較多, 問得很細...)

跨行程通訊
inline 函式原理

in out 逆變協變基本概念
apply 原理 let also with run對比
協程使用及原理

二面
viewmode原理
rtc是什么

問一面感覺怎么樣(不好)

哪些面的不好, 平時作業加班嗎

還有些問題不記得了...

小總結

這次面試問題很大, 因為沒有好好復習😭. 一面的時候八股文回答的不好, 但面試官看我業務上的回答的都還可以, 還是很和藹的, 讓我好好在二面表現. 結果二面上來我就掛了, 也沒有面HR, 就被提前撤離了.

七貓 2021.7(內推)
有筆試, 無演算法題, 筆試題都是一些基礎的Android問題, 包括手寫單例,切換執行緒有哪些方法,view繪制流程等

一面
性能優化(重點)
handler原理
view繪制流程

fragment生命周期

二面

好像沒問技術問題, 就說了下公司情況

小總結

這次還是準備了有一周時間的, 但很多知識點理解的不通透. 不能只簡單的看網上的文章決議, 還是要深入理解才行. 加班情況, 面試官說是臨時996. 我是不接受996的, 雖然也沒給offer...

內推的優勢很大, 最起碼可以得到一個面試機會, 一定要好好準備, 不要浪費機會. 后來我再投喜馬拉雅的時候, 沒有再給面試機會了...

播唄 2021.11

無筆試, 無演算法題

handler機制原理

activity啟動模式

view重繪機制,呼叫requestlayout后會立刻重繪view嗎, 其實就是handler同步屏障相關的知識啦

小總結

經歷了前面兩次尷尬的面試, 這次準備的相當充足. 但稍微有點緊張, 回答有點語無倫次的感覺, 后來逐漸進入了狀態, 可以說是和面試官對答如流, 漸漸的由我帶著面試官走~

建議大家面試的時候, 不要著急回答問題, 想稍微思考一下從哪里開始講, 怎么講會比較通順. 整體來說面的還可以, 不過竟然沒有一次性面完. 兩天后又通知我二面(不知道是技術面還是HR面), 由于該公司加班較多, 再者, 本來也是一個試水測驗, 就沒有接受二面. 不過也為B站的面試增加了信心.

B站 2021.11 直播方向

無筆試, 無演算法題

一面

surfaceview 影片

Android 系統原始碼在哪個版本改動最大

recycleview 原始碼

描述一下intent intentservice intentfilter

音頻直播改成視頻直播要注意什么(當場尬住, 不知道該回答啥了, 也是有點緊張...后來想想可能當時打開B站的直播, 根據他們的UI來回答會好一點)

Android各個版本適配

還有其他問題, 想不起來了...

二面

linux 環境下 new 10000個4k檔案, 會有什么問題

兩個player庫(一個開源, 一個不開源), 要求封裝代碼, 讓業務層呼叫無感知底層的區別, 怎么來實作

怎么保證影片流暢

activity中顯示UI的流程(xml檔案顯示到螢屏上的流程)

viewmodel原理

rxjava 切換執行緒

擅長Android哪一塊, 會問到相關原理

kotlin 檔案和 java 檔案編譯程序對比

exoplayer, ijkplayer有看過原始碼嗎

直播的推拉流實作, 直播的協議相關

HR面

離職原因

有用過B站app嗎, 都用來做什么

當前薪資, 期望薪資

講述一下作業經歷, 每份作業有什么心得體驗

小總結

去B站面試是最緊張的, 面試的前幾天, 晚上躺在床上還要刷會兒題. 一共面了兩個半小時左右, 從椅子上站起來的時, 腿都是軟的...

問的很廣, 當時面完給自己打了70分(滿分100). 總體下來感覺面的一般, 但還抱有一點希望, 畢竟面到了HR... 特別感謝給面試機會的組長(暫且稱之為組長). So, whatever, 這個月底就要去入職啦~O(∩_∩)O~

人人視頻 2021.12

一面

無筆試

判斷兩個鏈表是否相交

手撕String的substring

recyclerview 卡頓原因分析

輪播圖無線輪播實作

記憶體泄漏

視頻播放UI相關問題

小總結

面試感徑訓好, 但沒有給二面的機會. 哎, 心很累, 下了班, 怕面試遲到, 一路狂奔過去的...面試官只問了他準備好的的幾個問題. 加班情況, 每周選兩天加班到9點...面完等了5分鐘, 當場就給我結果了, 痛擊心靈的一拳.

完美世界 2021.12

一面(視頻面)

app啟動流程

java 類加載機制

性能優化

recyclerviewe 快取機制

leakcanary 原理

二面

拿到offer后, 就讓HR取消二面了

小總結

還有一些問題想不起來了, 面了40多分鐘. 面試官對于Android八股文很了解, 問題也有深有淺, 一個問題可以延伸很多問題, 溝通起來很順暢. 讓我震驚的是, 是位女面試官! 可惜了, 無緣一睹妹子芳容...

傳音控股 2021.12

一面

執行緒池有了解過嗎

handlerthread了解過嗎

contentprovider使用

sqlite 使用和升級

講一下anr

二面

sleep和notify區別

記憶體泄漏

java如何保證執行緒安全

死鎖的必要條件

如何保證代碼的健壯

HR面

公司介紹

離職原因

期望薪資

小總結

不好的體驗就是面試官遲到了半小時, 不過面試官也道歉了. 還好我請了一下午假, 心里不慌. 面試的專案是做系統級app開發的, 撥號通訊錄等, 所以應該是不不能使用第三方庫, 有加班, 但面試官也沒說清楚具體的加班情況. 后來有了更好的offer, 就沒再考慮了, 實際上也感覺不太適合. 當前我是想找一個好的技術方向, 去細細的研究(雖然也不知道哪個方向).

大總結

想進一二線大廠, LeetCode是必刷的, 大概刷完 劍指offer 應該就沒啥問題了(雖然我只刷了簡單題...).

簡歷上技術堆疊很重要, 寫上去的一定要會, 還要能完善的表達出來. 不知道怎么寫技術堆疊? 可以去招聘網站上, 把他們的要求寫上去就好啦~(要抄自己會的哦~) 80%的面試官都會根據你簡歷上寫的技術進行面試.

性能優化, 記憶體泄漏都會問到, 如果平時作業中用的少, 網上找一些文章背一下吧(簡單的可以記一下, 復雜的了解下原理就好~, 不然容易暴露...)

待準備作業做好之后, 最好先面一兩家試試水, 查缺補漏, 積累面試經驗. 然后就向著目標公司出發吧~

總體來說Android面試要準備的東西還是挺多的, 但我(太菜)基本是不可能把所有知識都準備好的. 基礎的八股文一定要完全理解, 不能只是背網上的文章決議, 要自己思考, 再寫代碼體會一下, 才能加深印象.

祝大家都能拿到滿意的offer ~O(∩_∩)O~

補充

在此推薦幾篇八股文詳解, 卷起來~

handler看下面兩篇, 就能應付基本的面試啦, 看不懂的就多看幾遍, 我也就看了七八遍~

Handler二十七問

萬字復盤 Handler 中各式 Message 的使用和原理

RecyclerView的三大流程

Jetpack AAC完整決議

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/384302.html

標籤:其他

上一篇:對話框式Activity的設定

下一篇:速度提高30%,Android 12 Go 發布

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【從零開始擼一個App】Dagger2

    Dagger2是一個IOC框架,一般用于Android平臺,第一次接觸的朋友,一定會被搞得暈頭轉向。它延續了Java平臺Spring框架代碼碎片化,注解滿天飛的傳統。嘗試將各處代碼片段串聯起來,理清思緒,真不是件容易的事。更不用說還有各版本細微的差別。 與Spring不同的是,Spring是通過反射 ......

    uj5u.com 2020-09-10 06:57:59 more
  • Flutter Weekly Issue 66

    新聞 Flutter 季度調研結果分享 教程 Flutter+FaaS一體化任務編排的思考與設計 詳解Dart中如何通過注解生成代碼 GitHub 用對了嗎?Flutter 團隊分享如何管理大型開源專案 插件 flutter-bubble-tab-indicator A Flutter librar ......

    uj5u.com 2020-09-10 06:58:52 more
  • Proguard 常用規則

    介紹 Proguard 入口,如何查看輸出,如何使用 keep 設定入口以及使用實體,如何配置壓縮,混淆,校驗等規則。

    ......

    uj5u.com 2020-09-10 06:59:00 more
  • Android 開發技術周報 Issue#292

    新聞 Android即將獲得類AirDrop功能:可向附近設備快速分享檔案 谷歌為安卓檔案管理應用引入可安全隱藏資料的Safe Folder功能 Android TV新主界面將顯示電影、電視節目和應用推薦內容 泄露的Android檔案暗示了傳說中的谷歌Pixel 5a與折疊屏新機 谷歌發布Andro ......

    uj5u.com 2020-09-10 07:00:37 more
  • AutoFitTextureView Error inflating class

    報錯: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解決: <com.example.testy2.AutoFitTextureView android: ......

    uj5u.com 2020-09-10 07:00:41 more
  • 根據Uri,Cursor沒有獲取到對應的屬性

    Android: 背景:呼叫攝像頭,拍攝視頻,指定保存的地址,但是回傳的Cursor檔案,只有名稱和大小的屬性,沒有其他諸如時長,連ID屬性都沒有 使用 cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATIO ......

    uj5u.com 2020-09-10 07:00:44 more
  • Android連載29-持久化技術

    一、持久化技術 我們平時所使用的APP產生的資料,在記憶體中都是瞬時的,會隨著斷電、關機等丟失資料,因此android系統采用了持久化技術,用于存盤這些“瞬時”資料 持久化技術包括:檔案存盤、SharedPreference存盤以及資料庫存盤,還有更復雜的SD卡記憶體儲。 二、檔案存盤 最基本存盤方式, ......

    uj5u.com 2020-09-10 07:00:47 more
  • Android Camera2Video整合到自己專案里

    背景: Android專案里呼叫攝像頭拍攝視頻,原本使用的 MediaStore.ACTION_VIDEO_CAPTURE, 后來因專案需要,改成了camera2 1.Camera2Video 官方demo有點問題,下載后,不能直接整合到專案 問題1.多次拍攝視頻崩潰 問題2.雙擊record按鈕, ......

    uj5u.com 2020-09-10 07:00:50 more
  • Android 開發技術周報 Issue#293

    新聞 谷歌為Android TV開發者提供多種新功能 Android 11將自動填表功能整合到鍵盤輸入建議中 谷歌宣布Android Auto即將支持更多的導航和數字停車應用 谷歌Pixel 5只有XL版本 搭載驍龍765G且將比Pixel 4更便宜 [圖]Wear OS將迎來重磅更新:應用啟動時間 ......

    uj5u.com 2020-09-10 07:01:38 more
  • 海豚星空掃碼投屏 Android 接收端 SDK 集成 六步驟

    掃碼投屏,開放網路,獨占設備,不需要額外下載軟體,微信掃碼,發現設備。支持標準DLNA協議,支持倍速播放。視頻,音頻,圖片投屏。好點意思。還支持自定義基于 DLNA 擴展的操作動作。好像要收費,沒體驗。 這里簡單記錄一下集成程序。 一 跟目錄的build.gradle添加私有mevan倉庫 mave ......

    uj5u.com 2020-09-10 07:01:43 more
最新发布
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:40:31 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:40:11 more
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:39:36 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:39:13 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:16:23 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:16:15 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:15:46 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:14:53 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:14:08 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:08:34 more