日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Android面试题集合

發(fā)布時(shí)間:2025/4/16 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android面试题集合 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Java基礎(chǔ)

簡述題(一)

  • &和&&的區(qū)別。
  • Get和Post的區(qū)別
  • http response code
  • udp連接和TCP的不同之處
  • java中的soft reference是個(gè)什么東西
  • 抽象類和接口的區(qū)別
  • 談一下對(duì)java中的abstract的理解
  • Overload和Override的區(qū)別
  • Static Nested Class 和 Inner Class的不同
  • 內(nèi)部類機(jī)制

簡述題(二)

  • 怎么用接口來連接兩個(gè)層的
  • 接口是否可繼承接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可繼承實(shí)體類(concreteclass)?
  • private和default有什么區(qū)別
  • java里的常量是怎么定義的
  • 類前邊加+final的用處?
  • finally final finalize的作用?
  • java中final定義的類有什么特點(diǎn)
  • try{ return} catch{} finally{}; return還是finally先執(zhí)行。
  • 數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法?
  • 是否可以繼承String類?
  • swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
  • 常量final string str=“ab”可不可以變成”abd”,為什么?
  • StringBuffer的作用?
  • String s=new String(“abc”); new了幾個(gè)對(duì)象

簡述題(三)

  • 啟動(dòng)一個(gè)線程是用run()還是start()?
  • 多線程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?
  • 同步和異步的區(qū)別?
  • sleep和wait有什么區(qū)別? 一個(gè)是用來讓線程休息,一個(gè)是用來掛起線程
  • abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized?
  • 當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法?

簡述題(四)

  • Error與Exception的區(qū)別
  • Java中的異常處理機(jī)制的簡單原理和應(yīng)用。
  • Java內(nèi)存回收機(jī)制,GC 垃圾回收機(jī)制,垃圾回收的優(yōu)點(diǎn)和原理。并考慮2種回收機(jī)制。
  • 對(duì)象Object讀寫的是哪兩個(gè)流
  • 反射,求字段的值和方法名
  • Socket編程的步驟
  • 什么是Java序列化

簡述題(五)

  • 常見集合及區(qū)別
  • ArrayList和Vector區(qū)別,HashMap和HashTable區(qū)別
  • ArrayList和LinkedList的區(qū)別
  • List, Set, Map是否繼承自Collection接口?
  • hashCode方法的作用
  • Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?
  • 當(dāng)x.equals(y)等于true時(shí),x.hashCode()與y.hashCode()可以不相等,這句話對(duì)不對(duì)?
  • JSON,fastjson和GSON的區(qū)別
  • XML,解析XML的幾種方式的原理與特點(diǎn):DOM、SAX、PULL
  • MD5加密原理,可否解密。
  • heap和stack有什么區(qū)別。
  • 用最有效率的方法算出2乘以8等於幾? (2<< 3)

java集合類框架

http://blog.csdn.net/axi295309066/article/details/54089986

Android面試——Java相關(guān)

Android基礎(chǔ)

Activity

  • 生命周期及橫豎屏切換時(shí)生命周期
  • 啟動(dòng)模式
  • 內(nèi)存不足時(shí),怎么保持Activity的一些狀態(tài),在哪個(gè)方法里面做具體操作?
  • 介紹Activity、Service、Broadcast、BroadcastReceiver、Intent、IntentFilter
  • 怎么在啟動(dòng)一個(gè)activity時(shí)就啟動(dòng)一個(gè)service
  • 同一個(gè)程序不同的Activity如何放在不同的任務(wù)棧中?
  • 如何將一個(gè)Activity設(shè)置成窗口的樣式
  • 如何退出Activity?如何安全退出已調(diào)用多個(gè)Activity的Application?
  • Activity中如何動(dòng)態(tài)的添加Fragment?
  • activity的啟動(dòng)過程 參考
  • 不用Service,B頁面為音樂播放,從A跳到B,再返回,如何使音樂繼續(xù)播放?
  • windows和activity之間關(guān)系?
  • 一個(gè)activity打開另外一個(gè)activity,再打開一個(gè)activity?回去的時(shí)候發(fā)生了什么操作?
  • onActivityResult(int requestCode, int resultCode, Intent data)方法的用法;

Fragment

  • 生命周期
  • Fragment嵌套多個(gè)Fragment會(huì)出現(xiàn)bug嗎?

BroadcastReceiver

  • 注冊(cè)廣播有哪幾種方式,有什么區(qū)別
  • Android引入廣播機(jī)制的用意?
  • 無序廣播、有序廣播 -1000——1000
  • 同優(yōu)先級(jí),清單文件中上面先收到
  • Broadcast、Content Provider 和 AIDL的區(qū)別和聯(lián)系
  • Android基礎(chǔ)——廣播接收者BroadcastReceiver

Service

  • 注冊(cè)Service需要注意什么
  • 什么是Service以及描述下它的生命周期。
  • Service與Activity怎么實(shí)現(xiàn)通信
  • Service有哪些啟動(dòng)方法,有什么區(qū)別,怎樣停用Service?
  • 什么是IntentService?有何優(yōu)點(diǎn)?
  • Service和Activity在同一個(gè)線程嗎 main 線程 UI線程
  • Service里面可以彈土司么
  • 如何啟用Service,如何停用Service
  • 什么時(shí)候使用Service?
  • 說說Activity、Intent、Service是什么關(guān)系
  • AIDL,兩個(gè)android應(yīng)用間的互相調(diào)用方法?
  • AIDL的全稱是什么?如何工作?能處理哪些類型的數(shù)據(jù)
  • Android基礎(chǔ)——Service
  • Android基礎(chǔ)——IntentService
  • Android開發(fā)指導(dǎo)——Service
  • Android開發(fā)指導(dǎo)——綁定Service
  • Android開發(fā)指導(dǎo)——進(jìn)程間通信AIDL

ContentProvider

  • 自定義一個(gè)contentProvider。
  • 請(qǐng)介紹下ContentProvider是如何實(shí)現(xiàn)數(shù)據(jù)共享的
  • 創(chuàng)建一個(gè)屬于你自己的Content provider或者將你的數(shù)據(jù)添加到一個(gè)已經(jīng)存在的Content provider中,前提是有相同數(shù)據(jù)類型并且有寫入Content provider的權(quán)限。
  • contentProvider權(quán)限;

AsyncTask簡介

  • Asynctask具體用法?
  • Asynctask的Do in background方法是怎么通知UI線程刷新進(jìn)度條的?
  • Asynctask的Do in background方法默認(rèn)是返回 true ,表示任務(wù)完成,如果想返回具體的數(shù)據(jù)呢,怎么做。如果Activity被銷毀了,還會(huì)執(zhí)行到postexcutd方法嗎?
  • Android基礎(chǔ)——AsyncTask

ListView

  • 手指快速拖動(dòng)ListView時(shí),如何處理慣性引起的加載問題;
  • 怎么實(shí)現(xiàn)ListView多種布局?
  • ListView與數(shù)據(jù)庫綁定的實(shí)現(xiàn)
  • 怎么實(shí)現(xiàn)一個(gè)部分更新的 ListView?
  • ListView卡頓的原因與性能優(yōu)化,大量數(shù)據(jù)時(shí),說的越多越好

UI相關(guān)

  • 談UI中,Padding和Margin有什么區(qū)別?
  • rawable-hdpi的dpi是什么意思?
  • 介紹下Android中常用的五種布局
  • ndroid中px,sp,dip,dp的區(qū)別與聯(lián)系
  • 么處理屏幕適配的

簡述題(一)

  • android開發(fā)中怎么去調(diào)試debug
  • 請(qǐng)解釋下Android程序運(yùn)行時(shí)權(quán)限與文件系統(tǒng)的權(quán)限的區(qū)別
  • JVM 和Dalvik虛擬機(jī)的區(qū)別
  • android dvm的進(jìn)程和Linux的進(jìn)程應(yīng)用程序是否為同一個(gè)概念
  • sim卡的ef文件有何作用。
  • 你如何評(píng)價(jià)Android系統(tǒng)?優(yōu)缺點(diǎn)
  • 談下android系統(tǒng)的架構(gòu)
  • 根據(jù)自己的理解描述下android數(shù)字簽名

簡述題(二)

  • 如何加載音樂信息,如何改善其效率。
  • Android程序與java程序的區(qū)別?
  • 什么是 MVC 模式?MVC 模式的好處是什么?
  • 在Android中MVC的具體體現(xiàn)
  • 簡述Android應(yīng)用程序的組成

簡述題(三)

  • 如何讓程序自動(dòng)啟動(dòng)
  • 如何讓程序不被系統(tǒng)自動(dòng)銷毀
  • 常見異常,5種運(yùn)行時(shí)異常
  • 運(yùn)行時(shí)異常與一般異常有何異同?
  • 什么情況會(huì)導(dǎo)致Force Close?如何避免?是否捕獲導(dǎo)致其的異常
  • 什么是 ANR 問題?為什么會(huì)引起 ANR 問題?
  • 系統(tǒng)上安裝了多種瀏覽器,能否指定某瀏覽器訪問指定頁面?請(qǐng)說明原由
  • ContentValues相關(guān),key是不是任意類型,value是不是任意類型
  • URL和URI區(qū)別用法
  • 數(shù)據(jù)存儲(chǔ),數(shù)據(jù)持久化的方式有哪些
  • 進(jìn)程優(yōu)先級(jí)
  • intent-filter屬性及其含義;
  • 如何打開res/raw 目錄中的數(shù)據(jù)庫文件?

簡述題(四)

  • NotifactionManager使用原理
  • Asset與raw都能存放資源,他們有什么區(qū)別?
  • postInvalidate與invalidate有什么區(qū)別?
  • notifyDataSetChanged 和notifyDataSetInvalidated的區(qū)別
  • Serializable和Parcelable的區(qū)別
  • 子線程中更新UI的方法
  • Scrollview怎么判斷是否滑倒底部
  • ViewPager 怎么做性能優(yōu)化
  • 布局如何動(dòng)態(tài)加載
  • 外存儲(chǔ)器文件遍歷輸出文件名
  • Intent啟動(dòng)Activity有幾種方式,請(qǐng)分別簡述
  • AndroidManifest.xml文件中主要包含哪些信息
  • 列舉常用的Android開源項(xiàng)目及應(yīng)用場景
  • 文件和數(shù)據(jù)庫哪個(gè)效率高

簡述題(五)

  • 常見設(shè)計(jì)模式,并手動(dòng)簡單實(shí)現(xiàn)觀察者模式
  • Handler機(jī)制
  • 熱修復(fù)
  • 簡述靜默安裝的原理,如何在無需Root權(quán)限的情況下實(shí)現(xiàn)靜默安裝
  • 什么是65535問題,如何防止或解決65535問題
  • 簡述實(shí)現(xiàn)Android APK插件化的簡單方法
  • 如何實(shí)現(xiàn)資源文件的混淆
  • 如何在不引用第三方工具的情況下防止應(yīng)用二次打包?并對(duì)應(yīng)用進(jìn)行簡單加固
  • 簡述控制反轉(zhuǎn)(Inversion of Control)的應(yīng)用場景
  • 怎么考慮數(shù)據(jù)傳輸?shù)陌踩?/li>
  • xmpp openfire 基于xmpp openfire smack開發(fā)之Android客戶端開發(fā)
  • 應(yīng)用常駐后臺(tái),避免被第三方殺掉的方法,講講你用過的奇淫巧技?
  • 簡述實(shí)現(xiàn)Android APK插件化的簡單方法

JS交互

  • 如何實(shí)現(xiàn)點(diǎn)擊網(wǎng)站某個(gè)鏈接就自動(dòng)下載一個(gè)程序到手機(jī)上并自動(dòng)安裝運(yùn)行;
  • java和JS的交互 Android中Java和JavaScript交互
  • WebView 遠(yuǎn)程代碼執(zhí)行漏洞淺析
  • 解決方案:WebView中的Java與JavaScript提供【安全可靠】的多樣互通方案

Android動(dòng)畫

  • Android中有哪些類型的動(dòng)畫,用屬性動(dòng)畫實(shí)現(xiàn)控件的縮放
  • 不使用動(dòng)畫,怎么實(shí)現(xiàn)一個(gè)動(dòng)態(tài)的 View?
  • Android中的動(dòng)畫有哪些,區(qū)別是什么

自定義View

  • View,SurfaceView,GLSurfaceView有什么區(qū)別
  • View的繪制
  • 如何自定義ViewGroup?
  • View刷新機(jī)制
  • android UI中的View如何刷新
  • 事件傳遞及處理機(jī)制
  • View中onTouch,onTouchEvent,onClick的執(zhí)行順序
  • Android事件分發(fā)機(jī)制源碼分析及總結(jié)

JNI

  • JNI怎么使用
  • 簡單描述你是如何進(jìn)行JNI開發(fā)的
  • 在哪些情況下java代碼中需要調(diào)用C代碼

性能優(yōu)化

  • 圖片緩存及優(yōu)化,設(shè)計(jì)一個(gè)圖片緩存加載機(jī)制
  • 內(nèi)存優(yōu)化,布局優(yōu)化,代碼優(yōu)化
  • 內(nèi)存溢出OOM是怎么引起的?怎么盡量避免OOM問題的出現(xiàn)?
  • Android中引起內(nèi)存泄露的原因
  • Android面試——APP性能優(yōu)化
  • Android性能優(yōu)化——避免內(nèi)存泄露(譯)

數(shù)據(jù)庫

  • 分頁查詢數(shù)據(jù)
  • 如何將SQLite數(shù)據(jù)庫與apk文件一起發(fā)布?
  • 左連接與右連接的區(qū)別
  • 描述Sqlite數(shù)據(jù)庫(類型、關(guān)系);
  • 你的項(xiàng)目中Sqlite數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)用SharePreference來處理也可以,為什么不用SharePreference呢;

網(wǎng)絡(luò)編程

  • Rest API
  • Volley相關(guān) Volley Android Volley完全解析
  • 如何控制TCP連接時(shí)的擁塞 TCP的流量控制和擁塞控制
  • 三次握手 TCP協(xié)議中的三次握手和四次揮手(圖解)
  • Android客戶端和服務(wù)端如何使用Token和Session
  • 移動(dòng)端獲取網(wǎng)絡(luò)數(shù)據(jù)優(yōu)化

編程算法題

  • 冒泡排序
  • 求素?cái)?shù)
  • 單例模式——寫一個(gè)Singleton出來
  • 二叉樹遍歷
  • 最長不重復(fù)子串(最長重復(fù)子串)
  • 有一個(gè)一維整型數(shù)組int[]data保存的是一張寬為width,高為height的圖片像素值信息。請(qǐng)寫一個(gè)算法,將該圖片所有的白色不透明(xffffffff)- 像素點(diǎn)的透明度調(diào)整為5%。
  • 寫一個(gè)求遞歸程序 求54321
  • 請(qǐng)使用java或者C++實(shí)現(xiàn)反轉(zhuǎn)單鏈表
  • 生產(chǎn)者、消費(fèi)者
  • 死鎖(同步嵌套同步且鎖不同)
  • 寫一個(gè)多線程實(shí)例代碼;
  • 寫一個(gè)方法,交換兩個(gè)變量的值?
  • 給最外層的rootview,把這個(gè)根視圖下的全部button背景設(shè)置成紅色,手寫代碼,不許用遞歸
  • 給一串字符串比如abbbcccd,輸出a1b3c3d1,手寫代碼(注意有個(gè)別字符可能會(huì)出現(xiàn)十次以上的情況)
  • 一個(gè)序列,它的形式是12349678,9是最高峰,經(jīng)歷了一個(gè)上升又下降的過程,找出里面的最大值的位置,要求效率盡可能高
  • 二叉查找樹的刪除操作,手寫代碼
  • 二分查找,手寫代碼
  • 有海量條 url,其中不重復(fù)的有300萬條,現(xiàn)在希望挑選出重復(fù)出現(xiàn)次數(shù)最高的 url,要求效率盡可能的高
  • 一篇英語文章,去掉字符只留下k個(gè),如何去掉才能使這k個(gè)字符字典序最小
  • 弗洛伊德算法和 Dijkstra算法的區(qū)別?復(fù)雜度是多少?講講 Dijkstra算法的具體過程
  • 反轉(zhuǎn)字符串,要求手寫代碼,優(yōu)化速度、優(yōu)化空間
  • 給出兩個(gè)無向圖,找出這2個(gè)無向圖中相同的環(huán)路。手寫代碼

Java實(shí)現(xiàn)單例模式的正確姿勢

Android面試——編程算法題

部分答案可參考:CSDN:劍蕭舞蝶

原文出處:于衛(wèi)國,http://yuweiguocn.github.io/android-interview-list/

總結(jié)

以上是生活随笔為你收集整理的Android面试题集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。