最新百度、頭條、小米、360、網易、等公司 Android 社招面試心得

每到「金三銀四」的季節,總人不少人去尋找名叫「面經」同樣的東西,其實就是一個個具體的題目,而後臨陣磨槍,去「背」答案,若是一直是這樣的話,我相信你的能力不會有任何提升,即便工做三年五年也達不到高級工程師的水平,事實證實這類「程序員」佔大多數。並且我認爲一個「面經」真正有價值的內容是面試前你是如何學習的,面試中面對不會的題目你是如何回答的,以及面試後的你的感覺和總結,而不是冷冰冰的羅列題目。

一.想要分享的內容

開篇我也表達了我對「面經」的見解,因此我就不羅列具體的題目了,並且每次面試的題目都大同小異,其餘專欄已經列舉的足夠多了,再列舉也沒有太多的意義,這裏我想着重分享如下五點:面試前的準備學習方法面試風格面試後的感覺,以及職業規劃程序員


二.面試前你應該作的準備

面試前必定要系統的複習各個模塊的知識點,不要匆忙的出去面試,尤爲是對於大公司來講,面試機會原本就不易,不要由於本身沒有複習準備好,而白白的喪失了機會,尤爲是對於忽然被裁,事前沒有充分準備的同窗來講,更應該注意這一點,我深知被裁的滋味,可是被裁後也要理性的對待這件事,不要由於本身的慌張,無助而匆匆投簡歷去面試
面試

對於Android應用開發而言,須要複習的並非不少,無非是都熟知的那幾大類:Java 基礎,JVM,Java 併發,Android 源碼,Android 第三方框架,Android 性能優化,數據結構與算法,再加上一些網絡知識等等,這裏我就不在重複贅述了。算法

另外我在補充兩個點,咱們在複習具體的題目或知識點時,還能夠着重去百度查找具體公司的面試題目,由於不少面試官都會習慣性的問同一問題或同類問題,這樣更有針對性。再者就是本身簡歷上所描述的內容必定要會,包括具體的知識點,也包括你的項目經驗,都同等重要。設計模式

當本身感受複習的差很少了,先不要投遞和預定大公司或者本身嚮往的公司,先去幾家小公司,或者本身確定不會去的公司面試,這樣即便沒有經過面試也不算是浪費了機會,還能順便幫助本身更好的查漏補缺,若是經過了還能夠更加本身後面面試的信心。雖然這樣的行爲「欺騙」了一些公司的hr同窗,但面對本身求職的利益來講,只能抱歉了。緩存


三.學習方法:

學生時代的咱們,經常聽到的一個詞就是「學習方法」,它看不見摸不着,卻經常體如今咱們的考試成績上。等到畢業,真正工做的時候,這個詞彷佛離咱們愈來愈遠,不變的是咱們依然只是在不停的作計劃,這一年要讀幾本書,這一月要學會哪些知識點,甚至以天來量化,但不多去思考爲何去學習這些,更重要的是如何去學習。
性能優化

面試複習和咱們平時學習也同樣,在學習態度端正的前提下,那麼如何學習就會變的尤爲重要,雖然在學生時代老生常談,可是自從工做後,不少人忘了它,都在急功近利的搪塞知識,覺得讀了幾遍《Android 開發藝術探索》就能夠成功躋身高級工程師了,真正理解的依然在少數,和讀了幾遍沒有必然關係。我才疏學淺,不過仍是想表達和分享下個人學習觀。但願能夠給不知道怎麼學習的夥伴一點點啓發
網絡

  • 系統
    「系統」很好理解,也就是咱們在複習知識點時必定要全面,只有全面了,咱們的基礎才能夠打的牢,這個基礎很重要,基礎有了才能夠更好的進行思考和總結。
    好比咱們常常會使用以及研究一些 Android 第三方的框架,如 OKHttp ,咱們要從三個方面去全面理解它:數據結構

    1,利用 okhttp 實現基本的網絡訪問功能,包括基本的數據請求,表單提交,文件上傳,文件斷點下載,https的設置等等。
    2,深刻研究 okhttp 源碼,熟悉 okhttp 中的調用過程,攔截器原理,緩存原理以及其中涉及的設計模式,並能夠自定義攔截器實現特殊的功能,如日誌打印等等。
    3,在研究 okhttp 緩存原理以前,得首先熟悉 http 緩存的相關字段以及在設置 https 時,也要全面複習 https 的相關原理。
    經過以上思路的複習,慢慢地你的知識體系就會建成,基礎也就日漸牢固。併發

  • 思考
    我認爲思考和下面的總結都是比較困難的,由於這和每一個人的基礎和視野有很大的關係,基礎差、視野小的工程師必定和基礎牢固、見識廣範的人所思考的深度和方向不同,就拿我這種中級工程師來講,我面對 okhttp 所能想到的方向有:它與 retrofit 是什麼關係;okhttp 與其餘網絡框架的比較;由於涉及到網絡相關,還可能再延伸到網絡優化方向等等。可是無論你所思考的方向是什麼,只有有所思考就是進步,而不是單純的停留在 okhttp 框架的自己。框架

  • 總結
    這裏的總結是在上一步思考的基礎之上進行的,並不僅僅是把本身所學習過的知識點所有羅列出來就能夠了。由於每一個知識點在學習的過程當中看似是獨立的,實際上知識點之間大都是有關聯的,咱們要學會去思考並總結各個有關聯的知識點,而後盡本身所能深挖出更多的知識點,使之串聯,後面我會利用實際的面試題再來更加清楚的解釋這一點。


四.面試風格:

這部分我想分享一下面試官都是如何去問問題的。因此就暫且起名總結爲面試風格的問題。
我想你們應該也都知道,這裏我大體分爲五種:

  • 所有按照簡歷上所列舉的知識點問。在我此次面試經歷中360的一面和二面的面試官都是這樣問的,所以咱們必定要熟知咱們簡歷上所寫的內容,包括新技術例如koltin,flutter,只要簡歷上有寫,就必須得會
  • 從簡歷中挑選問題問,並不全問,固然面試官也會根據本身的習慣提問簡歷上沒有寫的內容。這種狀況是最多的。
  • 在你介紹項目經驗的時候,從中選擇感興趣的問題或相關知識點去提問。
  • 只關注你的項目自己,包括項目介紹,項目難點等等。在此次網易一面中就是這樣的,只詢問了我簡歷上所列舉的項目重難點,以及解決方案。
  • 不提問任何具體知識點和項目經驗,讓你回答一些開放性的問題,好比你是經過什麼途徑學習的;你對跨平臺的技術如何看待等等。這種面試方式通常出如今技術面的最後一面。

最後我想要着重強調一下,項目經驗很重要,尤爲是對於社招生來講,因此就要求咱們在平時作項目的時候必定要逐漸的去積累項目的重難點是什麼,以及如何解決的。固然有可能在實際工做中咱們負責的那一個模塊確實沒有很大的難點值得去說,這也是有可能的,這就須要咱們去全面的瞭解本身的項目,看看其餘同事負責的模塊有沒有值得去學習和總結的,這不只有利於咱們技術上的提升,也有利於增長咱們的項目經驗。

喜歡的點個贊,下篇將着重分享這些一線互聯網公司的面試題

相關文章
相關標籤/搜索