打算跳槽漲薪?你想要的面試題這裡都有

打算跳槽漲薪?你想要的面試題這裡都有

新的一年已經開始,最近在網上看到了許多小夥伴打算跳槽或者申請漲薪

這邊給大家分享一下面試會遇到的問題(如果你想獲取這些面試題的答案以及詳細問題鏈接請見文末)

找工作還是需要大家不要經常,有我們幹這一行的接觸人本來就不多 難免看到面試官會緊張,主要是因為怕面試官問的問題到不上來,那時候不要著急 ,答不上了的千萬不然胡扯一些,直接就給面試官說這塊我還沒接觸到,以後如果工作當中遇到的話我可以很快的吧這個問題給解決了,但是我們有了這篇文章,就不一樣了,基本上問的問題都有適當的看一下,到時候很快就可以拿到 offer 我在這裡祝大家工作順利,天天開心 ,好了下面就是正題:

一、 Android

1.Activity

  1. 說下Activity的生命週期?
  2. onStart()和onResume()/onPause()和onStop()的區別?
  3. Activity A啟動另一個Activity B會回調哪些方法?如果Activity B是完全透明呢?如果啟動的是一個對話框Activity呢?
  4. 談談onSaveInstanceState()方法?何時會調用?
  5. onSaveInstanceState()與onPause()的區別?
  6. 如何避免配置改變時Activity重建?
  7. 優先級低的Activity在內存不足被回收後怎樣做可以恢復到銷燬前狀態?
  8. 說下Activity的四種啟動模式?(有時會出個實際問題來分析返回棧中Activity的情況)
  9. 談談singleTop和singleTask的區別以及應用場景
  10. onNewIntent()調用時機?
  11. 瞭解哪些Activity啟動模式的標記位?
  12. 如何啟動其他應用的Activity?
  13. Activity的啟動過程?

2.Fragment

  1. 談一談Fragment的生命週期?
  2. Activity和Fragment的異同?
  3. Activity和Fragment的關係?
  4. 何時會考慮使用Fragment?

3.Service

  1. 談一談Service的生命週期?
  2. Service的兩種啟動方式?區別在哪?
  3. 一個Activty先start一個Service後,再bind時會回調什麼方法?此時如何做才能回調Service的destory()方法?
  4. Service如何和Activity進行通信?
  5. 用過哪些系統Service?
  6. 是否能在Service進行耗時操作?如果非要可以怎麼做?
  7. AlarmManager能實現定時的原理?
  8. 前臺服務是什麼?和普通服務的不同?如何去開啟一個前臺服務?
  9. 是否瞭解ActivityManagerService,談談它發揮什麼作用?
  10. 如何保證Service不被殺死?

4.Broadcast Receiver

  1. 廣播有幾種形式?什麼特點?
  2. 廣播的兩種註冊形式?區別在哪?

5.ContentProvider

  1. ContentProvider瞭解多少?

6.數據存儲

  1. Android中提供哪些數據持久存儲的方法?
  2. Java中的I/O流讀寫怎麼做?
  3. SharePreferences適用情形?使用中需要注意什麼?
  4. 瞭解SQLite中的事務處理嗎?是如何做的?
  5. 使用SQLite做批量操作有什麼好的方法嗎?
  6. 如果現在要刪除SQLite中表的一個字段如何做?
  7. 使用SQLite時會有哪些優化操作?

7.IPC

  1. Android中進程和線程的關係?
  2. 為何需要進行IPC?多進程通信可能會出現什麼問題?
  3. 什麼是序列化?Serializable接口和Parcelable接口的區別?為何推薦使用後者?
  4. Android中為何新增Binder來作為主要的IPC方式?
  5. 使用Binder進行數據傳輸的具體過程?
  6. Binder框架中ServiceManager的作用?
  7. Android中有哪些基於Binder的IPC方式?簡單對比下?
  8. 是否瞭解AIDL?原理是什麼?如何優化多模塊都使用AIDL的情況?

8.View

  1. MotionEvent是什麼?包含幾種事件?什麼條件下會產生?
  2. scrollTo()和scrollBy()的區別?
  3. Scroller中最重要的兩個方法是什麼?主要目的是?
  4. 談一談View的事件分發機制?
  5. 如何解決View的滑動衝突?
  6. 談一談View的工作原理?
  7. MeasureSpec是什麼?有什麼作用?
  8. 自定義View/ViewGroup需要注意什麼?
  9. onTouch()、onTouchEvent()和onClick()關係?
  10. SurfaceView和View的區別?
  11. invalidate()和postInvalidate()的區別?

9.Drawable等資源

  1. 瞭解哪些Drawable?適用場景?
  2. mipmap系列中xxxhdpi、xxhdpi、xhdpi、hdpi、mdpi和ldpi存在怎樣的關係?
  3. dp、dpi、px的區別?
  4. res目錄和assets目錄的區別?

10.Animation

  1. Android中有哪幾種類型的動畫?
  2. 幀動畫在使用時需要注意什麼?
  3. View動畫和屬性動畫的區別?
  4. View動畫為何不能真正改變View的位置?而屬性動畫為何可以?
  5. 屬性動畫插值器和估值器的作用?

11.Window

  1. Activity、View、Window三者之間的關係?
  2. Window有哪幾種類型?
  3. Activity創建和Dialog創建過程的異同?

12.Handler

  1. 談談消息機制Hander?作用?有哪些要素?流程是怎樣的?
  2. 為什麼系統不建議在子線程訪問UI?
  3. 一個Thread可以有幾個Looper?幾個Handler?
  4. 可以在子線程直接new一個Handler嗎?那該怎麼做?
  5. 如何將一個Thread線程變成Looper線程?Looper線程有哪些特點?
  6. Message可以如何創建?哪種效果更好,為什麼?
  7. 這裡的ThreadLocal有什麼作用?
  8. 主線程中Looper的輪詢死循環為何沒有阻塞主線程?
  9. 使用Hanlder的postDealy()後消息隊列會發生什麼變化?

13.線程

  1. Android中還了解哪些方便線程切換的類?
  2. AsyncTask相比Handler有什麼優點?不足呢?
  3. 使用AsyncTask需要注意什麼?
  4. AsyncTask中使用的線程池大小?
  5. HandlerThread有什麼特點?
  6. 快速實現子線程使用Handler
  7. IntentService的特點?
  8. 為何不用bindService方式創建IntentService?
  9. 線程池的好處、原理、類型?
  10. ThreadPoolExecutor的工作策略?
  11. 什麼是ANR?什麼情況會出現ANR?如何避免?在不看代碼的情況下如何快速定位出現ANR問題所在?

14.Bitmap

  1. 加載圖片的時候需要注意什麼?
  2. LRU算法的原理?

15.性能優化

  1. 項目中如何做性能優化的?
  2. 瞭解哪些性能優化的工具?
  3. 佈局上如何優化?
  4. 內存洩漏是什麼?為什麼會發生?常見哪些內存洩漏的例子?都是怎麼解決的?
  5. 內存洩漏和內存溢出的區別
  6. 什麼情況會導致內存溢出?

16.谷歌新動態

  1. 是否瞭解和使用過谷歌推出的新技術?
  2. 有了解剛發佈的Androidx.0的特性嗎?
  3. Kotlin對Java做了哪些優化?

二、Java

1.基礎

  1. 面向對象編程的四大特性及其含義?
  2. String、StringBuffer和StringBuilder的區別?
  3. String a=""和String a=new String("")的的關係和異同?
  4. Object的equal()和==的區別?
  5. 裝箱、拆箱什麼含義?
  6. int和Integer的區別?
  7. 遇見過哪些運行時異常?異常處理機制知道哪些?
  8. 什麼是反射,有什麼作用和應用?
  9. 什麼是內部類?有什麼作用?靜態內部類和非靜態內部類的區別?
  10. final、finally、finalize()分別表示什麼含義
  11. 重寫和重載的區別?
  12. 抽象類和接口的異同?
  13. 為什麼匿名內部類中使用局部變量要用final修飾?
  14. Object有哪些公有方法?

2.集合

  1. Java集合框架中有哪些類?都有什麼特點
  2. 集合、數組、泛型的關係,並比較
  3. ArrayList和LinkList的區別?
  4. ArrayList和Vector的區別?
  5. HashSet和TreeSet的區別?
  6. HashMap和Hashtable的區別?
  7. HashMap在put、get元素的過程?體現了什麼數據結構?
  8. 如何解決Hash衝突?
  9. 如何保證HashMap線程安全?什麼原理?
  10. HashMap是有序的嗎?如何實現有序?
  11. HashMap是如何擴容的?如何避免擴容?
  12. hashcode()的作用,與equal()有什麼區別?

3.併發

  1. 同步和非同步、阻塞和非阻塞的概念
  2. Thread的join()有什麼作用?
  3. 線程的有哪些狀態?
  4. 什麼是線程安全?保障線程安全有哪些手段?
  5. ReentrantLock和synchronized的區別?
  6. synchronized和volatile的區別?
  7. synchronized同步代碼塊還有同步方法本質上鎖住的是誰?為什麼?
  8. sleep()和wait()的區別?

4.Java新動態

  1. 是否瞭解Java1.x的特性嗎?
  2. 談談對面向過程編程、面向對象編程還有面向切面編程的理解

三、計算機網絡

1.基礎

  1. 五層協議的體系結構分別是什麼?每一層都有哪些協議?
  2. 為何有MAC地址還要IP地址?
  3. TCP和UDP的區別?
  4. 擁塞控制和流量控制都是什麼,兩者的區別?
  5. 談談TCP為什麼要三次握手?為什麼要四次揮手?
  6. 播放視頻用TCP還是UDP?為什麼?

2.HTTP

  1. 瞭解哪些響應狀態碼?
  2. get和post的區別?
  3. HTTP1.0、HTTP1.1、HTTP2.0的區別?
  4. HTTP和TCP的區別
  5. HTTP和HTTPS的區別
  6. HTTP和Socket的區別
  7. 在地址欄打入URL會發生什麼?

四、JVM

  1. JVM內存是如何劃分的?
  2. 談談垃圾回收機制?為什麼引用計數器判定對象是否回收不可行?知道哪些垃圾回收算法?
  3. Java中引用有幾種類型?在Android中常用於什麼情景?
  4. 類加載的全過程是怎樣的?什麼是雙親委派模型?
  5. 工作內存和主內存的關係?在Java內存模型有哪些可以保證併發過程的原子性、可見性和有序性的措施?
  6. JVM、Dalvik、ART的區別?
  7. Java中堆和棧的區別?

五、操作系統

  1. 操作系統中進程和線程的區別?
  2. 進程死鎖的產生和避免?

六、數據結構&算法

  1. 怎麼理解數據結構?
  2. 什麼是斐波那契數列?
  3. 迭代和遞歸的特點,並比較優缺點
  4. 瞭解哪些查找算法,時間複雜度都是多少?
  5. 瞭解哪些排序算法,並比較一下,以及適用場景
  6. 快排的基本思路是什麼?最差的時間複雜度是多少?如何優化?
  7. AVL樹插入或刪除一個節點的過程是怎樣的?
  8. 什麼是紅黑樹?
  9. 100盞燈問題
  10. 老鼠和毒藥問題,加個條件,必須要求第二天出結果
  11. 海量數據問題
  12. (手寫算法)二分查找
  13. (手寫算法)反轉鏈表
  14. (手寫算法)用兩個棧實現隊列
  15. (手寫算法)多線程輪流打印問題
  16. (手寫算法)如何判斷一個鏈有環/兩條鏈交叉
  17. (手寫算法)快速從一組無序數中找到第k大的數/前k個大的數
  18. (手寫算法)最長(不)重複子串

七、設計模式

  1. 談談MVC、MVP和MVVM,好在哪裡,不好在哪裡?
  2. 如何理解生產者消費者模型?
  3. 是否能從Android中舉幾個例子說說用到了什麼設計模式?
  4. 裝飾模式和代理模式有哪些區別?
  5. 實現單例模式有幾種方法?懶漢式中雙層鎖的目的是什麼?兩次判空的目的又是什麼?
  6. 談談了解的設計模式原則?

八、數據庫

  1. 數據庫中的事務瞭解嗎?事務的四大特性?
  2. 如何理解數據庫的範式?

九、HR問題

  1. 請簡單的自我介紹一下
  2. 談談項目經歷,為什麼會做,怎麼做的,遇到的難點?
  3. 談談實習經歷,做了什麼,收穫有哪些?
  4. 談談學習Android的經歷,有哪些學習方法和技巧?
  5. 成績怎麼樣?獎學金情況?
  6. 學過哪些課程?那門課印象最深刻/最有意義/學的最好/最不喜歡?為什麼?
  7. 學習生活中遇到什麼挫折,如何解決的?
  8. 家是哪裡的?是獨生子女嗎?從小的家庭環境如何?
  9. 平常有哪些興趣愛好?大學參加了哪些校園活動?
  10. 評價一下自己的優缺點?/用x個詞形容你自己。/別人都是怎樣評價你的?
  11. 覺得自己博客寫的最好的文章是什麼?為什麼?
  12. 覺得自己的優勢是什麼?
  13. 是否會考研?/為何不保研?
  14. 近x年的職業規劃?
  15. 為什麼想來我們公司?/為何不轉正留在xx?
  16. 對公司/部門是否有了解?
  17. 為何會選擇做技術?/對女生做開發的看法?
  18. 還投過那些公司,進展如何?如果xx和xx都給你發offer會如何選擇?
  19. 有男/女朋友嗎?未來有什麼規劃?
  20. 如何看待加班?
  21. 意向工作城市是哪?/是否會考慮在xx發展?
  22. 對於薪酬有什麼想法?
  23. 有什麼問題想要問我?

注:關注我,私信發送“面試”即可獲取以上面試資料答案。


分享到:


相關文章: