意外收獲字節跳動內部資料,音視頻開發進階指南

A軟件程序員 2021-09-20 03:58:27 阅读数:962

意外 指南

1、四大組件是什麼?

  • Activity【活動】:用於錶現功能。
  • Service【服務】:後臺運行服務,不提供界面呈現。
  • BroadcastReceiver【廣播接收器】:用來接收廣播。
  • Content Provider【內容提供商】:支持在多個應用中存儲和讀取數據,相當於數據庫。

2、四個組件的生命周期?

Activity生命周期圖及?Fragment生命周期圖? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

意外收獲字節跳動內部資料,音視頻開發進階指南_程序員

意外收獲字節跳動內部資料,音視頻開發進階指南_移動開發_02

Service的生命周期:首先Service有兩種啟動方式,而在這兩種啟動方式下,它的生命周期不同。

意外收獲字節跳動內部資料,音視頻開發進階指南_程序員_03

通過startService()方法啟動的服務

???初始化結束後系統會調用 void onStart(Intent intent)?方法,用於處理傳遞給startService()的Intent對象。如音樂服務會打開Intent 來探明將要播放哪首音樂,並開始播放。注意:多次調用startService()方法會多次觸發onStart()方法。

通過bindService ()方法啟動的服務

???初始化結束後系統會調用 IBinder onBind(Intent intent)?方法,用來綁定傳遞給bindService 的Intent 的對象。注意:多次調用bindService()時,如果該服務已啟動則不會再觸發此方法。

3、Activity的四種啟動模式對比?

  • Standard:標准的啟動模式,如果需要啟動一個activity就會創建該activity的實例。也是activity的默認啟動模式。
  • SingeTop:如果啟動的activity已經比特於棧頂,那麼就不會重新創建一個新的activity實例。而是複用比特於棧頂的activity實例對象。如果不比特於棧頂仍舊會重新創建activity的實例對象。
  • SingleTask:設置了singleTask啟動模式的activity在啟動時,如果比特於activity棧中,就會複用該activity,這樣的話,在該實例之上的所有activity都依次進行出棧操作,即執行對應的onDestroy()方法,直到當前要啟動的activity比特於棧頂。一般應用在網頁的圖集,一鍵退出當前的應用程序。
  • singleInstance:如果使用singleInstance啟動模式的activity在啟動的時候會複用已經存在的activity實例。不管這個activity的實例是比特於哪一個應用當中,都會共享已經啟動的activity的實例對象。使用了singlestance的啟動模式的activity會單獨的開啟一個共享棧,這個棧中只存在當前的activity實例對象。

4、Activity在有Dialog時按Home鍵的生命周期?

當我們的Activity上彈出Dialog對話框時,程序的生命周期依然是onCreate() —> onStart() —> onResume(),在彈出Dialog的時候並沒有onPause()和onStop()方法。而在此時我們按下Home鍵,才會繼續執行onPause()和onStop()方法。這說明對話框並沒有使Activity進入後臺,而是在點擊了Home鍵後Activity才進入後臺工作。

原因就是,其實Dialog是Activity的一個組件,此時Activity並不是不可見,而是被Dialog組件覆蓋了其他的組件,此時我們無法對其他組件進行操作而已。

5、兩個Activity 之間跳轉時必然會執行的是哪幾個方法??

首先定義兩個Activity,分別為A和B。

當我們在A中激活B時,A調用onPause()方法,此時B出現在屏幕時,B調用onCreate()、onStart()、onResume()。

這個時候B【B不是一個透明的窗體或對話框的形式】已經覆蓋了A的窗體,A會調用onStop()方法。

最後

簡曆首選內推方式,速度快,效率高啊!然後可以在拉鉤,boss,脈脈,大街上看看。簡曆上寫道熟悉什麼技術就一定要去熟悉它,不然被問到不會很尷尬!做過什麼項目,即使項目體量不大,但也一定要熟悉實現原理!不是你負責的部分,也可以看看同事是怎麼實現的,換你來做你會怎麼做?做過什麼,會什麼是廣度問題,取决於項目內容。但做過什麼,達到怎樣一個境界,這是深度問題,和個人學習能力和解决問題的態度有關了。大公司看深度,小公司看廣度。大公司面試你會的,小公司面試他們用到的你會不會,也就是崗比特匹配度。

面試過程一定要有禮貌!即使你覺得面試官不尊重你,經常打斷你的講解,或者你覺得他不如你,問的問題缺乏專業水平,你也一定要尊重他,誰叫現在是他選擇你,等你拿到offer後就是你選擇他了。

另外,描述問題一定要慢!不要一下子講一大堆,慢顯得你沉穩、自信,而且你還有時間反應思路接下來怎麼講更好。現在開發過多依賴ide,所以會有個弊端,當我們在面試講解很容易不知道某個方法怎麼讀,這是一個硬傷…所以一定要對常見的關鍵性的類名、方法名、關鍵字讀准,有些面試官不耐煩會說“你到底說的是哪個?”這時我們會容易亂了陣脚。正確的發音+沉穩的描述+好聽的嗓音决對是一個加分項!

最重要的是心態!心態!心態!重要事情說三遍!面試時間很短,在短時間內對方要摸清你的底子還是比較不現實的,所以,有時也是看眼緣,這還是個看臉的時代。

希望大家都能找到合適自己滿意的工作!
 CodeChina開源項目:《Android學習筆記總結+移動架構視頻+大廠面試真題+項目實戰源碼》

進階學習視頻

意外收獲字節跳動內部資料,音視頻開發進階指南_移動開發_04

附上:我們之前因為秋招收集的二十套一二線互聯網公司Android面試真題?(含BAT、小米、華為、美團、滴滴)和我自己整理Android複習筆記(包含Android基礎知識點、Android擴展知識點、Android源碼解析、設計模式匯總、Gradle知識點、常見算法題匯總。)

意外收獲字節跳動內部資料,音視頻開發進階指南_程序員_05

版权声明:本文为[A軟件程序員]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210920035826655y.html