一:題目
1:java核心思想
2:java高級知識务豺,注解间唉,反射厚满,泛型的理解與作用
3:framework有那方面什么理解
4:Activity的生命周期與啟動模式
5:性能優(yōu)化
6:內(nèi)存優(yōu)化
7:數(shù)據(jù)結(jié)構(gòu)(這方面是我的弱項,于是給我一個場景讓我如何去選擇廉赔,為什么)
8:Bitmap如果優(yōu)化,他的三級緩存的大致思想與邏輯
9:給我說一個你項目中你用到的自定義View的實現(xiàn)匾鸥,不用細節(jié)到代碼蜡塌,主要的思想與核心方法輸出即可。
10:ListView如何優(yōu)化勿负,復(fù)用的原理馏艾,為什么會圖片錯位,如何解決,分頁的思想是什么琅摩。
11:會根據(jù)你所寫的技能特長找出3-4個點來問一問铁孵。由淺入深。從使用到場景到優(yōu)化再到源碼等等房资。(所以前面說了蜕劝,不要隨便寫精通,除非你真的"精通")轰异。
12:你在公司中用的什么代碼管理岖沛,如何解決git沖突。你在工作中你的職責和主要內(nèi)容等工作相關(guān)的問題
1:手寫三種單例模式搭独,冒泡排序
2:線程種類
3:java線程婴削,場景實現(xiàn),多個線程如何同時請求戳稽,返回的結(jié)果如何等待所有線程數(shù)據(jù)完成后合成一個數(shù)據(jù)
4:Android子線程與主線程交互方式馆蠕,原理以及各自的優(yōu)缺點。
5:有哪幾種創(chuàng)建線程的方式惊奇,優(yōu)缺點互躬。
6:項目介紹,開源框架的認識如何封裝颂郎,項目中的難點
7:Activity的生命周期吼渡,熱修復(fù)的實現(xiàn)原理與區(qū)別(因為我簡歷里寫了)。
8:在實際開發(fā)中的內(nèi)存泄漏產(chǎn)生原因乓序,如何查看寺酪,和你所知道的內(nèi)存泄漏檢測工具
9:項目介紹,項目提問替劈,結(jié)果那些第三方寄雀,用工具解決問題,如何科學上網(wǎng)陨献,會瀏覽那些網(wǎng)站盒犹,了解Android等技術(shù)途徑等。
1:handle的使用與原理
2:線程切換與線程池的種類與作用眨业,什么情況下使用多線程急膀,有什么好處
3:Manifest.xml的里有什么和作用
4:什么是多進程,進程和線程的區(qū)別龄捡,如何給四大組件指定多進程卓嫂。
5:多進程之間的通信的方式,如何使用AIDL聘殖。他的使用場景是什么晨雳。
6:View的加載流程
7:如何實現(xiàn)一個自定義View
8:如何選擇第三方行瑞,從那些方面考慮
9:內(nèi)存優(yōu)化
10:bitmap的三級緩存思想與如何優(yōu)化bitmap
11:注解的作用與原理
12:設(shè)計一個音樂播放界面,你會如何實現(xiàn)悍募,用到那些類蘑辑,如何設(shè)計,如何定義接口坠宴,如何與后臺交互洋魂,如何緩存與下載,如何優(yōu)化(15分鐘時間)
13:什么是hash喜鼓,他的作用是什么副砍。hashMap源碼是什么,他是依據(jù)什么原理實現(xiàn)的庄岖。
14:手寫一段代碼豁翎,如何找出一段字符串中,出現(xiàn)最多的漢字是哪個隅忿。
1:說下你了解那些framework心剥。
2:說說你對布局優(yōu)化的理解
3:說下當前你所知道的熱更新與插件化,他們的實現(xiàn)核心原理是什么背桐,他的異同有什么优烧。
4:從哪些角度可以減少APK體積的
5:對gradle命令與打包,接觸過那些平臺的上架
6:簡單說下接入支付的流程
7:談?wù)勀銓ψ远xView的理解链峭,如果有一個需求你會如何實現(xiàn)一個自定義View
8:說下LinkedList與ArrayList畦娄,HashTable與HashMap的區(qū)別與存儲過程與遍歷方式。
9:說下四大組件的啟動過程(從Framework層去說弊仪,不必說出每個方法的名字熙卡,大致流程即可)。四大組件的啟動與銷毀的方式励饵。
10:Android的數(shù)據(jù)存儲方式有哪些驳癌,是否SQLite中要繼承那個類來創(chuàng)建與更新數(shù)據(jù)庫。SQL語句掌握怎么樣役听。如何得到操作數(shù)據(jù)庫的類等颓鲜。
11:說下你對多進程的理解,什么情況下要使用多進程禾嫉,為什么要使用多進程,在多進程的情況下為什么要使用進程通訊蚊丐。
1:說下你所知道的設(shè)計模式與使用場景
2:java語言的特點與是OOP思想
3:說下java中的線程創(chuàng)建方式熙参,線程池的工作原理。
4:說下handler原理麦备,為什么會出現(xiàn)內(nèi)存泄漏孽椰,為什么繼承Handle就不會出現(xiàn)能存泄漏
5:說下Activity的橫豎屏的切換的生命周期昭娩,用那個方法來保存數(shù)據(jù),兩者的區(qū)別黍匾。觸發(fā)在什么時候在那個方法里可以獲取數(shù)據(jù)等
6:是否了SurfaceView栏渺,它是什么?他的繼承方式是什么锐涯?他與View的區(qū)別(從源碼角度磕诊,如加載,繪制等)纹腌。
7:如何實現(xiàn)進程宾眨活
8:說下冷啟動與熱啟動是什么,區(qū)別升薯,如何優(yōu)化莱褒,使用場景等。
9: 給定命題涎劈,一串字符串中有通配符與占位符广凸,如何化簡優(yōu)化(
10:說下產(chǎn)生OOM,ANR的原因蛛枚,三級緩存原理谅海,如何優(yōu)化ListView。
11:說下你對Collection這個類的理解坤候。
1:說下AIDL的使用與原理
2:說下你對廣播的理解
3:說下你對服務(wù)的理解胁赢,如何殺死一個服務(wù)。服務(wù)的生命周期(start與bind)白筹。
4:是否接觸過藍牙等開發(fā)
5:設(shè)計一個ListView左右分頁排版的功能自定義View智末,說出主要的方法
6:說下binder序列化與反序列化的過程,與使用過程
7:是否接觸過JNI/NDK徒河,java如何調(diào)用C語言的方法
8:如何查看模擬器中的SP與SQList文件系馆。如何可視化查看布局嵌套層數(shù)與加載時間。
9:說下你對后臺的編程有那些認識顽照,聊些前端那些方面的知識由蘑。
10:說下你對線程池的理解,如何創(chuàng)建一個線程池與使用代兵。
11:說下你用過那些注解框架尼酿,他們的原理是什么。自己實現(xiàn)過植影,或是理解他的工作過程嗎裳擎?
12:說下java虛擬機的理解,回收機制思币,JVM是如何回收對象的鹿响,有哪些方法等
13:一些java與Android源碼相關(guān)知識等
1:實際開發(fā)中的內(nèi)存優(yōu)化羡微,APK體積優(yōu)化,代碼優(yōu)化惶我,資源優(yōu)化妈倔,緩存,數(shù)據(jù)庫等
2:支付寶與微信的支付功能接入绸贡,常見問題
3:如何和后臺交互盯蝴,post請求的數(shù)據(jù)格式定義在那里定義,手寫出來恃轩。
4:http與https的理解與4層都是哪4層结洼,在一個請求過程中都是什么時候走這些流程與各自的作用
5:http的結(jié)構(gòu)有那些(請求頭,請求行之類的)
6:session與cookie的區(qū)別
7:如何在后臺沒有給接口的情況下如何開發(fā)應(yīng)用
8:你是如何封裝網(wǎng)絡(luò)請求叉跛,數(shù)據(jù)緩存松忍,優(yōu)化,文件下載筷厘,線程池鸣峭,OKHttp3源碼的理解,如何提交post請求酥艳,如何處理返回數(shù)據(jù)摊溶,異常處理,實體定義等實際開發(fā)中與后臺協(xié)作相關(guān)知識充石。
9:說下Android中特有的數(shù)據(jù)結(jié)構(gòu)與常見的java數(shù)據(jù)結(jié)構(gòu)(熟悉那個說那個)莫换,存儲過程,源碼與底層實現(xiàn)骤铃。
自我提升