各大企業(yè)秋招流程:
杭州/阿里/數(shù)據(jù)技術(shù)及產(chǎn)品部:2輪技術(shù)面+交叉面+hr面深圳/騰訊/OMG/騰訊視頻:2輪技術(shù)面+hr面北京/百度/百度APP研發(fā)部:3輪技術(shù)面+文化測評北京/愛奇藝:3輪技術(shù)面深圳/vivo:1輪技術(shù)面+hr面+線下交流會北京/一點(diǎn)資訊:3輪技術(shù)面+hr面
北京/360:2-3輪技術(shù)面+2輪HR面(一般第一輪的筆試現(xiàn)在已經(jīng)略過了笆制,不用筆試了)
常見面試題:
Android:
Activity
Q
:說下Activity的生命周期玉掸?
Q
:onStart()和onResume()/onPause()和onStop()的區(qū)別壹蔓?
Q
:Activity A啟動另一個Activity B會回調(diào)哪些方法漫贞?如果Activity B是完全透明呢馋袜?如果啟動的是一個Dialog呢柬祠?
Q
:談?wù)刼nSaveInstanceState()方法鸟赫?何時會調(diào)用淤毛?
Q
:onSaveInstanceState()與onPause()的區(qū)別今缚?
Q
:如何避免配置改變時Activity重建?
Q
:優(yōu)先級低的Activity在內(nèi)存不足被回收后怎樣做可以恢復(fù)到銷毀前狀態(tài)低淡?
Q
:說下Activity的四種啟動模式姓言?(有時會出個實(shí)際問題來分析返回棧中Activity的情況)
Q
:談?wù)剆ingleTop和singleTask的區(qū)別以及應(yīng)用場景
Q
:onNewIntent()調(diào)用時機(jī)?
Q
:了解哪些Activity啟動模式的標(biāo)記位蔗蹋?
Q
:如何啟動其他應(yīng)用的Activity何荚?
Q
:Activity的啟動過程?
Fragment
Q
:談一談Fragment的生命周期猪杭?
Q
:Activity和Fragment的異同餐塘?
Q
:Activity和Fragment的關(guān)系?
Q
:何時會考慮使用Fragment皂吮?
Service
Q
:談一談Service的生命周期戒傻?
Q
:Service的兩種啟動方式税手?區(qū)別在哪?
Q
:一個Activty先start一個Service后需纳,再bind時會回調(diào)什么方法芦倒?此時如何做才能回調(diào)Service的destory()方法?
Q
:Service如何和Activity進(jìn)行通信不翩?
Q
:用過哪些系統(tǒng)Service兵扬?
Q
:是否能在Service進(jìn)行耗時操作?如果非要可以怎么做口蝠?
Q
:AlarmManager能實(shí)現(xiàn)定時的原理器钟?
Q
:前臺服務(wù)是什么?和普通服務(wù)的不同妙蔗?如何去開啟一個前臺服務(wù)傲霸?
Q
:是否了解ActivityManagerService,談?wù)勊l(fā)揮什么作用灭必?
Q
:如何保證Service不被殺死狞谱?
Broadcast Receiver
Q
:廣播有幾種形式?什么特點(diǎn)禁漓?
Q
:廣播的兩種注冊形式跟衅?區(qū)別在哪?
ContentProvider
Q
:ContentProvider了解多少播歼?
數(shù)據(jù)存儲
Q
:Android中提供哪些數(shù)據(jù)持久存儲的方法伶跷?
Q
:Java中的I/O流讀寫怎么做?
Q
:SharePreferences適用情形秘狞?使用中需要注意什么叭莫?
Q
:了解SQLite中的事務(wù)處理嗎?是如何做的烁试?
Q
:使用SQLite做批量操作有什么好的方法嗎雇初?
Q
:如果現(xiàn)在要刪除SQLite中表的一個字段如何做?
Q
:使用SQLite時會有哪些優(yōu)化操作?
IPC
Q
:Android中進(jìn)程和線程的關(guān)系减响?區(qū)別靖诗?
Q
:為何需要進(jìn)行IPC?多進(jìn)程通信可能會出現(xiàn)什么問題支示?
Q
:什么是序列化刊橘?Serializable接口和Parcelable接口的區(qū)別?為何推薦使用后者颂鸿?
Q
:Android中為何新增Binder來作為主要的IPC方式促绵?
Q
:使用Binder進(jìn)行數(shù)據(jù)傳輸?shù)木唧w過程?
Q
:Binder框架中ServiceManager的作用?
Q
:Android中有哪些基于Binder的IPC方式败晴?簡單對比下浓冒?
Q
:是否了解AIDL?原理是什么位衩?如何優(yōu)化多模塊都使用AIDL的情況裆蒸?
View
Q
:MotionEvent是什么熔萧?包含幾種事件糖驴?什么條件下會產(chǎn)生?
Q
:scrollTo()和scrollBy()的區(qū)別佛致?
Q
:Scroller中最重要的兩個方法是什么贮缕?主要目的是?
Q
:談一談View的事件分發(fā)機(jī)制俺榆?
Q
:如何解決View的滑動沖突感昼?
Q
:談一談View的工作原理?
Q
:MeasureSpec是什么罐脊?有什么作用定嗓?
Q
:自定義View/ViewGroup需要注意什么?
Q
:onTouch()萍桌、onTouchEvent()和onClick()關(guān)系宵溅?
Q
:SurfaceView和View的區(qū)別?
Q
:invalidate()和postInvalidate()的區(qū)別上炎?
Drawable等資源
Q
:了解哪些Drawable恃逻?適用場景?
Q
:mipmap系列中xxxhdpi藕施、xxhdpi寇损、xhdpi、hdpi裳食、mdpi和ldpi存在怎樣的關(guān)系矛市?
Q
:dp、dpi诲祸、px的區(qū)別浊吏?
Q
:res目錄和assets目錄的區(qū)別?
Animation
Q
:Android中有哪幾種類型的動畫烦绳?
Q
:幀動畫在使用時需要注意什么卿捎?
Q
:View動畫和屬性動畫的區(qū)別?
Q
:View動畫為何不能真正改變View的位置径密?而屬性動畫為何可以午阵?
Q
:屬性動畫插值器和估值器的作用?
Window
Q
:Activity、View底桂、Window三者之間的關(guān)系植袍?
Q
:Window有哪幾種類型?
Q
:Activity創(chuàng)建和Dialog創(chuàng)建過程的異同籽懦?
Handler
Q
:談?wù)勏C(jī)制Hander于个?作用?有哪些要素暮顺?流程是怎樣的厅篓?
Q
:為什么系統(tǒng)不建議在子線程訪問UI?
Q
:一個Thread可以有幾個Looper捶码?幾個Handler羽氮?
Q
:如何將一個Thread線程變成Looper線程?Looper線程有哪些特點(diǎn)惫恼?
Q
:可以在子線程直接new一個Handler嗎档押?那該怎么做?
Q
:Message可以如何創(chuàng)建祈纯?哪種效果更好令宿,為什么?
Q
:這里的ThreadLocal有什么作用腕窥?
Q
:主線程中Looper的輪詢死循環(huán)為何沒有阻塞主線程粒没?
Q
:使用Hanlder的postDealy()后消息隊列會發(fā)生什么變化?
線程
Q
:Android中還了解哪些方便線程切換的類油昂?
Q
:AsyncTask相比Handler有什么優(yōu)點(diǎn)革娄?不足呢?
Q
:使用AsyncTask需要注意什么冕碟?
Q
:AsyncTask中使用的線程池大欣雇铩?
Q
:HandlerThread有什么特點(diǎn)安寺?
Q
:快速實(shí)現(xiàn)子線程使用Handler
Q
:IntentService的特點(diǎn)厕妖?
Q
:為何不用bindService方式創(chuàng)建IntentService?
Q
:線程池的好處挑庶、原理言秸、類型?
Q
:ThreadPoolExecutor的工作策略迎捺?
Q
:什么是ANR举畸?什么情況會出現(xiàn)ANR?如何避免凳枝?在不看代碼的情況下如何快速定位出現(xiàn)ANR問題所在抄沮?
Bitmap
Q
:加載圖片的時候需要注意什么跋核?
Q
:LRU算法的原理?
Q
:Android中緩存更新策略叛买?
性能優(yōu)化
Q
:項目中如何做性能優(yōu)化的砂代?
Q
:了解哪些性能優(yōu)化的工具?
Q
:布局上如何優(yōu)化率挣?列表呢刻伊?
Q
:內(nèi)存泄漏是什么?為什么會發(fā)生椒功?常見哪些內(nèi)存泄漏的例子捶箱?都是怎么解決的?
Q
:內(nèi)存泄漏和內(nèi)存溢出的區(qū)別蛾茉?
Q
:什么情況會導(dǎo)致內(nèi)存溢出讼呢?
谷歌新動態(tài)
Q:是否了解和使用過谷歌推出的新技術(shù)撩鹿?
Q
:有了解剛發(fā)布的Androidx.0的特性嗎谦炬?
Q
:Kotlin對Java做了哪些優(yōu)化?
Java
基礎(chǔ)
Q
:面向?qū)ο缶幊痰乃拇筇匦约捌浜x节沦?
Q
:String键思、StringBuffer和StringBuilder的區(qū)別?
Q
:String a=""和String
a=new String("")的的關(guān)系和異同甫贯?
Q
:Object的equal()和==的區(qū)別吼鳞?
Q
:裝箱、拆箱什么含義叫搁?
Q
:int和Integer的區(qū)別赔桌?
Q
:遇見過哪些運(yùn)行時異常?異常處理機(jī)制知道哪些渴逻?
Q
:什么是反射疾党,有什么作用和應(yīng)用?
Q
:什么是內(nèi)部類惨奕?有什么作用雪位?靜態(tài)內(nèi)部類和非靜態(tài)內(nèi)部類的區(qū)別?
Q
:final梨撞、finally雹洗、finalize()分別表示什么含義卧波?
Q
:重寫和重載的區(qū)別时肿?
Q
:抽象類和接口的異同?
Q
:為什么匿名內(nèi)部類中使用局部變量要用final修飾港粱?
Q
:Object有哪些公用方法螃成?
集合
Q
:Java集合框架中有哪些類?都有什么特點(diǎn)
Q
:集合、數(shù)組锈颗、泛型的關(guān)系顷霹,并比較
Q
:ArrayList和LinkList的區(qū)別?
Q
:ArrayList和Vector的區(qū)別击吱?
Q
:HashSet和TreeSet的區(qū)別淋淀?
Q
:HashMap和Hashtable的區(qū)別?
Q
:HashMap在put覆醇、get元素的過程朵纷?體現(xiàn)了什么數(shù)據(jù)結(jié)構(gòu)?
Q
:如何解決Hash沖突永脓?
Q
:如何保證HashMap線程安全袍辞?什么原理?
Q
:HashMap是有序的嗎常摧?如何實(shí)現(xiàn)有序搅吁?
Q
:HashMap是如何擴(kuò)容的?如何避免擴(kuò)容落午?
Q
:hashcode()的作用谎懦,與equal()有什么區(qū)別?
并發(fā)
Q
:開啟一個線程的方法有哪些溃斋?銷毀一個線程的方法呢界拦?
Q
:同步和非同步、阻塞和非阻塞的概念
Q
:Thread的join()有什么作用梗劫?
Q
:線程的有哪些狀態(tài)享甸?
Q
:什么是線程安全?保障線程安全有哪些手段梳侨?
Q
:ReentrantLock和synchronized的區(qū)別?
Q
:synchronized和volatile的區(qū)別蛉威?
Q
:synchronized同步代碼塊還有同步方法本質(zhì)上鎖住的是誰?為什么猫妙?
Q
:sleep()和wait()的區(qū)別瓷翻?
Java新動態(tài)
Q
:是否了解Java1.x的特性嗎?
Q
:談?wù)剬γ嫦蜻^程編程割坠、面向?qū)ο缶幊踢€有面向切面編程的理解
3.3 計算機(jī)網(wǎng)絡(luò)
基礎(chǔ)
Q
:五層協(xié)議的體系結(jié)構(gòu)分別是什么齐帚?每一層都有哪些協(xié)議?
Q
:為何有MAC地址還要IP地址彼哼?
TCP
Q
:TCP和UDP的區(qū)別对妄?
Q
:擁塞控制和流量控制都是什么,兩者的區(qū)別敢朱?
Q
:談?wù)凾CP為什么要三次握手剪菱?為什么要四次揮手摩瞎?
Q
:播放視頻用TCP還是UDP?為什么孝常?
HTTP
Q
:了解哪些響應(yīng)狀態(tài)碼旗们?
Q
:get和post的區(qū)別?
Q
:Http1.0构灸、Http1.1上渴、Http2.0的區(qū)別?
Q
:HTTP和TCP的區(qū)別?
Q
:HTTP和HTTPS的區(qū)別?
Q
:HTTP和Socket的區(qū)別?
Q
:在地址欄打入http://www.baidu.com會發(fā)生什么喜颁?
JVM
Q:JVM內(nèi)存是如何劃分的稠氮?
Q
:談?wù)劺厥諜C(jī)制?為什么引用計數(shù)器判定對象是否回收不可行半开?知道哪些垃圾回收算法隔披?
Q
:Java中引用有幾種類型?在Android中常用于什么情景寂拆?
Q
:類加載的全過程是怎樣的奢米?什么是雙親委派模型?
Q
:工作內(nèi)存和主內(nèi)存的關(guān)系漓库?在Java內(nèi)存模型有哪些可以保證并發(fā)過程的原子性恃慧、可見性和有序性的措施?
Q
:JVM渺蒿、Dalvik、ART的區(qū)別彪薛?
Q
:Java中堆和棧的區(qū)別茂装?
操作系統(tǒng)
Q:操作系統(tǒng)中進(jìn)程和線程的區(qū)別?
Q
:死鎖的產(chǎn)生和避免?
數(shù)據(jù)結(jié)構(gòu)&算法
Q:怎么理解數(shù)據(jù)結(jié)構(gòu)善延?
Q
:什么是斐波那契數(shù)列少态?
Q
:迭代和遞歸的特點(diǎn),并比較優(yōu)缺點(diǎn)
Q
:了解哪些查找算法易遣,時間復(fù)雜度都是多少彼妻?
Q
:了解哪些排序算法,并比較一下豆茫,以及適用場景
Q
:快排的基本思路是什么侨歉?最差的時間復(fù)雜度是多少?如何優(yōu)化揩魂?
Q
:AVL樹插入或刪除一個節(jié)點(diǎn)的過程是怎樣的幽邓?
Q
:什么是紅黑樹?
Q
:100盞燈問題
Q
:老鼠和毒藥問題火脉,加個條件牵舵,必須要求第二天出結(jié)果
Q
:海量數(shù)據(jù)問題
Q
:(手寫算法)二分查找
Q
:(手寫算法)反轉(zhuǎn)鏈表
Q
:(手寫算法)用兩個棧實(shí)現(xiàn)隊列
Q
:(手寫算法)多線程輪流打印問題
Q
:(手寫算法)如何判斷一個鏈有環(huán)/兩條鏈交叉
Q
:(手寫算法)快速從一組無序數(shù)中找到第k大的數(shù)/前k個大的數(shù)
Q
:(手寫算法)最長(不)重復(fù)子串
設(shè)計模式
Q:談?wù)凪VC柒啤、MVP和MVVM,好在哪里畸颅,不好在哪里担巩?
Q
:如何理解生產(chǎn)者消費(fèi)者模型?
Q
:是否能從Android中舉幾個例子說說用到了什么設(shè)計模式没炒?
Q
:裝飾模式和代理模式有哪些區(qū)別兵睛?
Q
:實(shí)現(xiàn)單例模式有幾種方法?懶漢式中雙層鎖的目的是什么窥浪?兩次判空的目的又是什么祖很?
Q
:談?wù)劻私獾脑O(shè)計模式原則?
數(shù)據(jù)庫
Q:數(shù)據(jù)庫中的事務(wù)了解嗎漾脂?事務(wù)的四大特性假颇?
Q
:如何理解數(shù)據(jù)庫的范式?
hr問題
Q:請簡單的自我介紹一下
Q
:談?wù)勴椖拷?jīng)歷骨稿,為什么會做笨鸡,怎么做的,遇到的難點(diǎn)坦冠?
Q
:談?wù)剬?shí)習(xí)經(jīng)歷形耗,做了什么,收獲有哪些辙浑?
Q
:談?wù)剬W(xué)習(xí)Android的經(jīng)歷激涤,有哪些學(xué)習(xí)方法和技巧?
Q
:是否會考研判呕?/為何不保研倦踢?
Q
:成績怎么樣?獎學(xué)金情況?
Q
:學(xué)過哪些課程侠草?那門課印象最深刻/最有意義/學(xué)的最好/最不喜歡辱挥?為什么?
Q
:近x年的職業(yè)規(guī)劃边涕?
Q
:為什么想來我們公司晤碘?/為何不轉(zhuǎn)正留在xx?
Q
:對公司/部門是否有了解?
Q
:為何會選擇做技術(shù)功蜓?/對女生做開發(fā)的看法园爷?
Q
:學(xué)習(xí)生活中遇到什么挫折,如何解決的霞赫?
Q
:還投過那些公司腮介,進(jìn)展如何?如何xx和xx都給你發(fā)offer會如何選擇端衰?
Q
:家是哪里的叠洗?是獨(dú)生子女嗎甘改?從小的家庭環(huán)境如何?
Q
:平常有哪些興趣愛好灭抑?大學(xué)參加了哪些校園活動十艾?
Q
:有男/女朋友嗎?未來有什么規(guī)劃腾节?
Q
:評價一下自己的優(yōu)缺點(diǎn)忘嫉?/用x個詞形容你自己。/別人都是怎樣評價你的案腺?
Q
:覺得自己博客寫的最好的文章是什么庆冕?為什么?
Q
:覺得自己的優(yōu)勢是什么劈榨?
Q
:如何看待加班访递?
Q
:意向工作城市是哪?/是否會考慮在xx發(fā)展?
Q
:對于薪酬有什么想法同辣?
Q
:有什么問題想要問我拷姿?
項目相關(guān)、實(shí)習(xí)相關(guān)技術(shù)問題(略)
Q:使用那些版本控制工具旱函?Git和SVN的區(qū)別响巢?
Q
:了解Git工具嗎?用過哪些命令棒妨?解決沖突時git
merge和git rebase的區(qū)別踪古?
(備注:博主一直都是一個人開發(fā)(雖然也是上市公司,更公司遍布全球靶衍,然鵝項目組就一個人開發(fā))灾炭,所以就直接說了:不知道,我是一個人開發(fā)颅眶。沒有做深入了解。)
安卓田弥,Java面試題百度網(wǎng)盤獲取鏈接URL:
鏈接:https://pan.baidu.com/s/13d2TELI_NO88Qj2cs76OuA 密碼:ns7h
轉(zhuǎn)自:http://www.reibang.com/p/0f72ac621f82