被辭退後我一週面試了13家公司,想給大家分享這個收穫

被辭退後我一週面試了13家公司,想給大家分享這個收穫

2019 年對我來講是最幸運的一年,在這一年我多了一個「小情人」。然而,剛忙完回到公司的第二週,我接到了最殘酷的通知,公司經濟情況不佳 —— 裁人!前端

雖然能夠選擇降薪留下來,可是社保公積金最低,還須要996,無奈只好選告別了待了三年之久的 xxx,沒有 n+1,沒有 xxx,mmp。
因爲離職時間點比較尷尬,立刻就是中秋節,恰好能夠放鬆下回家陪陪家人。程序員

中秋事後,嘗試投了幾份簡歷,可是效果不太好,面試機會也很少,多是因爲立刻就是國慶長假的緣故(也只能這樣安慰下本身)。web

下面是我面試所有以後整理的面試題,把一些重要的面試題給記了下來,有一些已經忘記不過不礙事,是一些比較簡單你們都能答上來的,但願這些面試題能給以後面試的朋友們一點幫助。面試

注意文末的準備與建議,還有整理好的面試PDF文檔分享~算法

優貝在線

  • Android 項目中 asset 目錄和 res 目錄有什麼區別
  • 面向對象的特徵,並舉例說明面向對象的過程
  • 如何結束一個正在運行的線程
  • 簡述 MVC 和 MVP,並說一下 MVP 的優勢
  • 如何獲取某個 View 的大小並動態改變 View 的大小
  • join()、wait()、interrupt()
  • 二維數組旋轉
  • 有一羣人A與B有關係,B與C有關係...分紅兩隊,讓彼此都有關係

這是一個神奇的公司,只怪本身太菜筆試都沒有過,出師不利啊。然而奇怪的是國慶後,該公司的HR找了我不下3次。編程

被辭退後我一週面試了13家公司,想給大家分享這個收穫

三節課

  • String、StringBuilder、StringBuffer 區別
  • ArrayMap、HashMap、SparseArray 原理
  • Fragment 添加方式,add、replace、show 區別
  • volatile 關鍵字做用
  • Binder 機制
  • HTTP 版本之間區別
  • invalidate()、requestLayout() 區別
  • View 繪製流程
  • 事件分發機制
  • 渲染優化
  • ArrayList 怎麼實現線程安全

必要商城

  • Android 線程間通信方式有哪些?
  • 類B繼承A,A、B兩個類中都有靜態變量、成員變量、靜態代碼塊、構造方法執行順序是什麼?
  • Java代碼執行時內存情況
  • Activity生命週期其餘函數
  • View何時繪製完成?
  • 如何獲取一個View的尺寸?

展心展力

  • Handler 機制,一個線程幾個 Looper,幾個 Handler,Looper 如何肯定是哪一個 Handler?
  • 內存溢出、內存泄漏的關係
  • volatile、synchronized關鍵字的區別
  • 垃圾回收機制,垃圾回收算法優缺點
  • Java內存模型的理解
  • HashMap實現原理,如何計算key的index,存儲方式
  • 一個無限單向鏈表如何計算長度,若是有環如何計算長度
  • RelativeLayout與LinerLayout的區別
  • View繪製原理
  • 事件分發機制,Activity怎麼處理的

團車網

  • 自定義 View 流程
  • View 繪製原理
  • 事件分發機制
  • AMS、WMS
  • Handler 機制
  • JMM
  • 鎖機制
  • AQS
  • 內存優化怎麼優化
  • 項目中遇到的最大的問題是什麼?怎麼解決的
  • 若是遇到項目進度沒法推動,你怎麼作的
  • 你對近五年的規劃

某課

  • Handler postDelay() 而後finish當前Activity會怎麼樣?
  • View 繪製流程
  • invalidate()、postInvalidate()、requestLayout()
  • Tinker 爲何須要重啓
  • volatile、synchronized
  • Java內存模型

這是我迄今體驗最差的面試沒有之一,面試官特別裝b,一直問我 API 細節,方法裏有什麼代碼。最後面試官居然 JVM 運行時內存區域和 JMM 都分不清,我實在忍不住了反問了一句:公司難道是在招 API 工程師嗎?小程序

被辭退後我一週面試了13家公司,想給大家分享這個收穫

諸葛找房

  • 事件分發機制
  • HTTP 響應嗎
  • Handler 機制
  • 手寫排序算法
  • 經常使用設計模式

異鄉好居

  • http https
  • js webview交互
  • handler爲何不卡死
  • App啓動流程
  • 自定義view過程
  • 動畫原理
  • 事件分發機制
  • 混淆怎麼處理
  • 設計模式
  • 對跨平臺技術的瞭解

FineChart

  • HTTP、HTTPS區別
  • HTTP報文
  • 手寫反轉鏈表
  • 手寫單例模式
  • volatile關鍵字原理
  • 事件分發機制
  • App啓動流程
  • 項目天氣曲線實現原理
  • 第三方開源庫實現原理
  • 線程池原理
  • wait()、sleep()區別
  • 項目中最大的困難是什麼?怎麼解決的?
  • 經常使用集合類實現原理
  • ConcurrentHashMap原理

阿里體育

電面

  • List、Map、Set 哪一個能存null,哪一個能重複?
  • 補間動畫與屬性動畫的區別
  • Handler 機制

一面

  • 怎麼實現View懸停?
  • TCP怎麼作長鏈接?
  • 網絡優化
  • 熱修復原理
  • Instant Run原理
  • 視頻作過嗎?
  • 相機作過嗎?
  • LinkedHashMap、HashMap實現原理,區別是什麼?

二面

  • Android與iOS相比有什麼差異
  • Android與iOS系統內存管理機制瞭解嗎?
  • 常見算法瞭解哪些,時間複雜度是什麼?
  • 項目中遇到的困難是什麼?怎麼解決的?
  • 你最大的優點是什麼?
  • 對於其餘同事,爲何你以爲你這個優點最突出?

不得不認可阿里實力仍是很強的,也可能我投的崗位指望 P8 以上水平的緣故,被虐的很慘。忽然感受這幾年都荒廢了,選擇大於努力,必定要選擇好的方向,好比我選擇小程序就是一個錯誤。設計模式

被辭退後我一週面試了13家公司,想給大家分享這個收穫

多點科技

一面

  • HashMap、ArrayMap
  • Handler、IdleHandler、postDelay
  • View 繪製原理
  • 事件分發機制
  • 若是子View已經處理了事件,父View怎麼攔截子View事件
  • Binder機制
  • 線程池原理
  • 垃圾回收機制
  • 類加載機制

二面

  • OkHttp、Retrofit、Glide、ButterKnife、EventBus、RxJava
  • Jetpack、LiveData、ViewModel
  • ArrayList、LinkedList
  • Material Design
  • Java併發編程(JMM)
  • MVP、MVVM區別

HR面

  • 指望什麼樣的領導?
  • 指望加入什麼樣的公司?
  • 拿到幾個Offer了?
  • 指望薪資?

董事之一

  • 介紹了下公司的發展前景,公司的優點
  • 對將來工做的指望?
  • 聊了將近一個小時...

美餐網

  • 怎麼判斷二叉搜索樹是否合法,白板手寫出解法
  • 給出一個業務場景怎麼處理

你沒有看錯,就只有兩道面試題,白板手寫代碼,這是我遇到的最奇葩的公司了,最後還說我代碼寫的不講究(這 tm 是面試吧,我已經說了因爲篇幅有限,一些細節就忽略了),太浪費時間了。數組

被辭退後我一週面試了13家公司,想給大家分享這個收穫

360

一面

  • 線程狀態轉換圖
  • Activity生命週期,一個Activity啓動另一個Activity生命週期函數調用
  • Activity啓動模式,onNewIntent() 調用時機
  • 動畫有哪些,實現原理
  • setContentView()後面的流程
  • Handler機制,Looper與ANR
  • 過分重繪、UI卡頓
  • WindowManager.addView(),View.getParent()是誰?
  • JMM理解
  • Lock機制

二面

  • 內存泄露、內存溢出
  • 類加載機制、雙親委派模型
  • CAS
  • 有多個線程一、二、三、4,一、二、3 並行完後與 4 串行,至少 3 種方式實現
  • 網絡參考模型
  • HTTP、HTTPS傳輸過程
  • TCP三次握手、四次揮手
  • 用過哪些設計模式
  • 根據簡歷多渠道包怎麼構建的
  • 反射原理

三面

  • 通常都是根據簡歷問
  • 對大前端技術的瞭解
  • 類加載機制
  • 對JDK各版本差別的瞭解
  • Android系統啓動流程
  • AMS、WMS
  • 對Framework層源碼的瞭解,爲何這麼設計,優缺點

關於準備

每一個人應聘的職位級別不同,須要準備的範圍也有所不一樣。我應聘的是高級職位,主要準備瞭如下幾點:安全

Java 基礎

通常都會問 Java 虛擬機相關知識:類加載機制、雙親委派模型、垃圾回收機制、運行時內存區域、註解、泛型、反射等等。強烈建議精讀一下《深刻理解 Java 虛擬機》這本書。

Java 併發編程也是高級必問知識:Thread生命週期、JMM、volatile、synchronizied、final、JUC、Lock、線程池等等。推薦看一下《Java 併發編程的藝術》。

被辭退後我一週面試了13家公司,想給大家分享這個收穫

Android 基礎

這部份內容比較多,仍是須要平時多積累,養成看源碼的習慣。

如今通常都不只僅問原理是什麼了,好比 View 繪製原理會問 requestLayout() 和 invalidate() 什麼區別?什麼狀況下 requestLayout() 會執行 onDraw() 方法?

Handler 機制你們都會說,網上找找都能找到,如今會問一個線程幾個 Looper,幾個 Handler?Looper 中的死循環爲何不會卡死主線程?IdleHandler 的原理?發送延時消息怎麼處理的?

若是你能從 Handler 答出 epoll 機制,接下來會問 epoll 機制的原理,有沒有看過源碼?

高級崗位 Framework 層原理確定逃不過的,系統啓動流程、Binder、AMS、WMS 都是最基礎的,最好有一個本身深刻研究的方向,好比 SurfaceFlinger。

進階必定要看剛哥的《Android 開發藝術探索》必備,Framework 部分《Android 內核剖析》、《Android 源碼情景解析》、《深刻理解 Android》系列等都是很不錯的書籍。

被辭退後我一週面試了13家公司,想給大家分享這個收穫

網絡基礎

面試中通常會問 HTTP 的三次握手、四次揮手過程,以及爲何?HTTPS 的通信過程?等等。

網絡是個大方向,對於 Android 工程師來講,常見的概念必需要了解的,固然深刻研究一下也是很不錯的加分項。就像直播,網絡優化等方面都離不開網絡知識。

推薦看一下《圖解 HTTP》、《圖解 TCP/IP》,向深刻研究能夠看《TCP/IP 詳解》、《UNIX 網絡編程》。

數據結構與算法

數據結構計算機專業的通常都是必修課,網上資料不少這裏放上我收集到的一些資料,文末自取。

面試中數據結構通常會問 Java 集合類:ArrayList、HashMap、ConcurrentHashMap 等等,常見的高頻算法題必定要準備下。
算法能夠看看《算法》、《算法導論》、覃超的《算法面試通關 40 講》、刷下 LeetCode。

被辭退後我一週面試了13家公司,想給大家分享這個收穫

設計模式與架構

設計模式通常會問你在項目中經常使用的設計模式有那些?等你說完以後會問你怎麼用的,什麼場景用的?它的優缺點是什麼?遵循了什麼原則?違背了什麼原則?...

架構 MVC、MVP、MVVM 爛大街的問題,通常會問它們的優缺點各是什麼?

被辭退後我一週面試了13家公司,想給大家分享這個收穫

總結

雖而後面還有好幾家面試,也有像豹廠這樣的很不錯的公司。但不得不認可一天面兩家,一週面 10 多家實在太累了。

在收到大數字公司的 Offer 後就沒有再面了,加上 HR 將近五輪的面試聊得過程都很愉快,大數字公司也是我比較理想的公司。

雖然在以前也收到了幾家很不錯 Offer,相比之下仍是大數字公司比較適合我,接下里的幾年也須要好好沉澱一下技術了。

通過這一次的被動面試經歷,我我的感覺有如下幾點:

必定不要裸辭

若是是裸辭找工做,HR 通常都會問何時離職的。若是手裏沒有 Offer,就很被動了,頗有可能被壓薪資。主動權必定要掌握在本身手中。

選擇大於努力

即便很努力若是方向錯了就是浪費時間,就像我選擇了小程序就是個錯誤(大前端坑太多,入坑需謹慎)。個人建議是多深刻研究一些以不變應萬變的技能。

學歷與履歷

雖說能力很重要,但學歷是敲門磚(HR 就看這個)。若是連面試機會都沒有,還怎麼談而後?若是學歷不突出有很好的大廠履歷也很不錯,貌似是個蛋生雞,雞生蛋的問題。

充分準備

一些基礎知識和理論確定是要背的,要理解的背,用本身的語言總結一下背下來。

雖然 Android 沒有前幾年火熱了,已通過去了會四大組件就能找到高薪職位的時代了。這隻能說明 Android 中級如下的崗位飽和了,如今高級工程師仍是比較缺乏的,我能明顯感受到國慶後多了不少高級職位,因此努力讓本身成爲高級工程師纔是最重要的。

好了,但願對你們有所幫助。

接下來是整理的一些Android學習資料,有興趣的朋友們能夠加我wx:X1524478394 免費獲取

①Android開發核心知識點筆記

被辭退後我一週面試了13家公司,想給大家分享這個收穫

②對標「阿里 P7」 40W+年薪企業資深架構師成長學習路線圖

被辭退後我一週面試了13家公司,想給大家分享這個收穫

③面試精品集錦彙總

被辭退後我一週面試了13家公司,想給大家分享這個收穫

④全套體系化高級架構視頻

被辭退後我一週面試了13家公司,想給大家分享這個收穫

Android精講視頻領取學習後更加是如虎添翼!進軍BATJ大廠等(備戰)!如今都說互聯網寒冬,其實無非就是你上錯了車,且穿的少(技能),要是你上對車,自身技術能力夠強,公司換掉的代價大,怎麼可能會被裁掉,都是淘汰末端的業務Curd而已!現現在市場上初級程序員氾濫,這套教程針對Android開發工程師1-6年的人員、正處於瓶頸期,想要年後突破本身漲薪的,進階Android中高級、架構師對你更是如魚得水,趕快領取吧!

【Android進階學習視頻】、【全套Android面試祕籍】加我wx:X1524478394 免費獲取!

相關文章
相關標籤/搜索