1. 程式人生 > 其它 >【深夜思考】Android記憶體洩漏總結,最新整理

【深夜思考】Android記憶體洩漏總結,最新整理

  • 前言

筆者看了一些NDK的專案。一些教程不是HelloWord就是直接整FFmpeg或OpenCV,可謂一個天一個地,而且目錄結構和Android3.5的預設結構並不是太一致,一直沒找到什麼合心的文章。故寫此文連線這天地,來總結一下在NDK開發之前你應知道的東西。


  • 在此之前,先劃分三類人,如果不認清自己是什麼角色就去玩NDK,你會很糟心:

user : 純粹.so連結庫使用者(伸手黨)
creator : 純粹ndk開發者,創作.so連結庫(創作家)
designer : 在現有的.so上自己開發.so連結庫實現特定功能(程式設計師)

一面

  • 資料結構中堆的概念,堆排序
  • 死鎖的概念,怎麼避免死鎖
  • ReentrantLock 、synchronized和volatile(n面)
  • HashMap
  • singleTask啟動模式
  • 用到的一些開源框架,介紹一個看過原始碼的,內部實現過程。
  • 訊息機制實現
  • ReentrantLock的內部實現
  • App啟動崩潰異常捕捉
  • 事件傳遞機制的介紹

二面

  • ListView的優化
  • 二叉樹,給出根節點和目標節點,找出從根節點到目標節點的路徑
  • 模式MVP,MVC介紹
  • 斷點續傳的實現
  • 集合的介面和具體實現類,介紹
  • TreeMap具體實現
  • synchronized與ReentrantLock
  • 手寫生產者/消費者模式
  • 邏輯地址與實體地址,為什麼使用邏輯地址
  • 一個無序,不重複陣列,輸出N個元素,使得N個元素的和相加為M,給出時間複雜度、空間複雜度。手寫演算法

三面

  • Android程序分類
  • 前臺切換到後臺,然後再回到前臺,Activity生命週期回撥方法。彈出Dialog,生命值週期回撥方法。
  • Activity的啟動模式
  • RxJava的功能與原理實現
  • RecycleView的使用,原理,RecycleView優化
  • ANR的原因
  • 四大元件
  • Service的開啟方式
  • Activity與Service通訊的方式
  • Activity之間的通訊方式

HR面

  • 家是哪的?
  • 父母做什麼的?
  • 我看你是通訊專業的,為什麼想做客戶端開發?
  • 保研還嘗試過哪些學校?為什麼最後選擇北郵?
  • 還有別的Offer嗎,薪資是多少?等等。。。

題外話

不管怎麼樣,不論是什麼樣的大小面試,要想不被面試官虐的不要不要的,只有刷爆面試題題做好全面的準備,當然除了這個還需要在平時把自己的基礎打紮實,這樣不論面試官怎麼樣一個知識點裡往死裡鑿,你也能應付如流啊~

這裡我為大家準備了一些我工作以來以及參與過的大大小小的面試收集總結出來的一套進階學習的視訊及面試專題資料包,點選這裡免費分享給大家,主要還是希望大家在如今大環境不好的情況下面試能夠順利一點,希望可以幫助到大家~

最後如果馬化騰把騰訊給你一天,你會來做什麼?歡迎評論區討論。