1. 程式人生 > 其它 >Android開發新手入門教程!我三年開發經驗,從位元組跳動抖音離職後,跳槽薪資翻倍

Android開發新手入門教程!我三年開發經驗,從位元組跳動抖音離職後,跳槽薪資翻倍

前言

馬爸爸總結了一句話:跳槽,要麼是錢不到位,要麼是受了委屈。

我給自己這次的跳槽經歷做了一個分析,希望能對那些想換工作的朋友有所幫助。

許多朋友想換工作,但是對“換工作”的理解可能僅限於寫簡歷、投簡歷、面試。在跳槽之前,我也是這麼想的。

當時,工作並不順利,我的專業技能並沒有很好的發揮,公司也給不了什麼發展前景,就有了跳槽的打算。

我看到一家行業內還不錯的上市公司在招聘這個崗位,於是我發了簡歷。面試後我感覺很好,但我拒絕了,因為工資沒有達到預期。

經過仔細思考,我發現我準備得太匆忙了,或者根本沒有準備好。粗糙地寫了一份簡歷,面試前也沒有充分的準備,就去了那裡。在面試中,專案的一些細節無法得到回答,許多知識點也沒有很好的回答,這可能讓面試官感覺處於普通水平。

在接下來的幾個月裡,我開始查閱各種跳槽和麵試相關的資料,同時按計劃組織重點、整理學習路徑,逐步複習。

目錄:

Java基礎
Android初中級面試題
Kotlin相關
資料結構與演算法
計算機網路
FrameWork原始碼相關
Flutter相關

一、Java初中級面試題

1.容器(HashMap、HashSet、LinkedList,HashSet等)
2.記憶體模型
3.JVM、Davilk、ART 三者的原理和區別
4.垃圾回收機制
5.類載入方案
6.說說你對Java 反射的理解
7.說說你對動態代理的理解
8.什麼是執行緒池,如何使用?為什麼要使用執行緒池?
9.在多執行緒執行過程中,解決安全性問題?
10.設計模式(六大基本原則)
11.Java 中引用型別都有哪些?
12.Java 的泛型
13.String、StringBuffer 和 StringBuilder 的區別
14.關鍵字 final 和 static 是怎麼使用的?
15.什麼是過載,什麼是重寫,有什麼區別?
16.說說你在專案開發過程中,常用的幾種設計模式?
17.java 中==和 equals 和 hashCode 有哪些區別?
18.utf-8 編碼中的中文佔幾個位元組;int 型幾個位元組?
19.JAVA 的異常體系是怎樣的
20.談談你對解析與分派的認識。

二、Android初中級

1.Activity的四大啟動模式,以及應用場景?
2.Activity中onStart和onResume的區別?
3.平時如何有使用螢幕適配嗎?原理是什麼呢?
4.Android訊息機制介紹?
5.Looper在主執行緒中死迴圈為什麼沒有導致介面的卡死?
6.IdleHandler介紹?
7.View事件分發機制和View繪製原理
8.Bitmap的記憶體計算方式?
9.Bitmap的高效載入?
10.原始碼分析:AMS 、PMS、Handler,Binder
11.Android是如何通過Activity進行互動的?
12.Binder 機制(IPC、AIDL 的使用)
13.橫豎屏切換時Activity的生命週期
14.Android中程序的級別和它們的區別
15.Android版本的新特性你知道哪些?
16.Android有哪些序列化方式?
17.什麼是ANR 如何避免它?
18.AsyncTask的缺陷和問題,說說他的原理。
19.android中有哪幾種解析xml的類,官方推薦哪種?以及它們的原理和區別?
20.Android為每個應用程式分配的記憶體大小是多少

三、Kotlin相關(初中級)

1.說一下使用kotlin的幾大好處
2.為什麼kotlin跟Java具有互相的操作性?
3.說一下Kotlin的伴生物件
4.協程能解決什麼問題
5.Kotlin裡的Extension Functions實現原理分析
6.kotlin中的抽象有什麼作用?
7.Kotlin Null檢測機制是怎樣的?
8.Kotlin中的高階函式,說說你的理解
9.Kotlin 編譯為什麼比Java慢?
10.Kotlin 泛型的 in 和 out 有什麼用?
11.Kotlin 擴充套件功能有什麼用?
12.=和equal的區別?
13.Kotlin中預設引數的作用以及原理?
14.Kotlin中常用的類的修飾符有哪些?
15.Kotlin中的內部類和Java中的內部類有什麼不同?
16.使用實化型別引數解決泛型擦除的原理是什麼?

四、演算法

1.說一下使用kotlin的幾大好處
2.為什麼kotlin跟Java具有互相的操作性?
3.說一下Kotlin的伴生物件
4.協程能解決什麼問題
5.Kotlin裡的Extension Functions實現原理分析
6.kotlin中的抽象有什麼作用?
7.Kotlin Null檢測機制是怎樣的?
8.Kotlin中的高階函式,說說你的理解
9.Kotlin 編譯為什麼比Java慢?
10.Kotlin 泛型的 in 和 out 有什麼用?
11.Kotlin 擴充套件功能有什麼用?
12.=和equal的區別?
13.Kotlin中預設引數的作用以及原理?
14.Kotlin中常用的類的修飾符有哪些?
15.Kotlin中的內部類和Java中的內部類有什麼不同?
16.使用實化型別引數解決泛型擦除的原理是什麼?

五、計算機網路

1.Http與Https兩者的區別
2.從網路載入一個10M 的圖片,說下注意事項
3.網路請求快取處理,okhttp如何處理網路快取的
4.自己去設計網路請求框架,怎麼做?
5.TCP 的 3 次握手和四次揮手…
6.三次握手為什麼要傳回 SYN,為什麼要ACK
7.DNS解析過程
8.談談你對安卓簽名的理解。
9.TCP/IP四層協議有哪些結構與功能
10.TCP 利用滑動視窗實現流量控制的機制
11.在瀏覽器中輸入url地址後顯示主頁的過程
12.常見的Http狀態碼
13.HTTPS是如何保證安全的?
14.HTTPS的中間人攻擊是什麼?
15.如何理解HTTP協議是無狀態的?
16.ping命令基於哪一層協議的原理是什麼?

六、Framework原始碼相關

1.Glide的快取機制
2.EventBus
3.LeakCanary原理
4.ARouter框架解決了什麼問題,內部原理是怎樣?
5.RxJava 的執行緒切換原理
6.RxJava用到哪些設計模式?
7.Retrofit 動態代理的理解
8.OkHttp 內部原理的理解
9.事件分發機制是怎樣的?設計者為什麼要設定攔截?
10.Android是如何通過View進行渲染的?
11.Android App 安裝的流程是怎樣的?
12.Android事件分發流程是怎樣的?
13.Android外掛化原理知道嗎?
14.Android 元件化管理模式是怎樣?
15.Android 使用Hook去攔截過系統原始碼嗎?

最後

如果你看到了這裡,覺得文章寫得不錯就給個讚唄?如果你覺得那裡值得改進的,請給我留言。一定會認真查詢,修正不足。謝謝。

最後針對Android程式設計師,我這邊給大家整理了一些資料,包括不限於高階UI、效能優化、移動架構師、NDK、混合式開發(ReactNative+Weex)微信小程式、Flutter等全方面的Android進階實踐技術;希望能幫助到大家,也節省大家在網上搜索資料的時間來學習,也可以分享動態給身邊好友一起學習!

需要資料的朋友可以點選我的Gitee免費領取