開頭
這里是一些個人開發者接私活和自己做軟件加廣告的一些科普知識。可是做軟件,需要服務器,需要后臺,對于一些小的開發者,想賺點廣告費而又不想做后臺使用服務器的人來說,網上提供了一些免費的接口,可以供我們使用,提供了許多數據。在這里我分享兩個不錯的提供WEB服務的網站。
一.想要分享的內容
開篇我也表達了我對“面經”的看法,所以我就不羅列具體的題目了,而且每次面試的題目都大同小異,其他專欄已經列舉的足夠多了,再列舉也沒有太多的意義,這里我想著重分享以下五點:面試前的準備,學習方法,面試風格,面試后的感受,以及職業規劃。
二.面試前你應該做的準備
面試前一定要系統的復習各個模塊的知識點,不要匆忙的出去面試,尤其是對于大公司來說,面試機會本來就不易,不要因為自己沒有復習準備好,而白白的喪失了機會,尤其是對于突然被裁,事前沒有充分準備的同學來說,更應該注意這一點,我深知被裁的滋味,但是被裁后也要理性的對待這件事,不要因為自己的慌張,無助而匆匆投簡歷去面試
對于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,只要簡歷上有寫,就必須得會
從簡歷中挑選問題問,并不全問,當然面試官也會根據自己的習慣提問簡歷上沒有寫的內容。這種情況是最多的。
在你介紹項目經驗的時候,從中選擇感興趣的問題或相關知識點去提問。
只關注你的項目本身,包括項目介紹,項目難點等等。在這次網易一面中就是這樣的,只詢問了我簡歷上所列舉的項目重難點,以及解決方案。
不提問任何具體知識點和項目經驗,讓你回答一些開放性的問題,比如你是通過什么途徑學習的;你對跨平臺的技術如何看待等等。這種面試方式一般出現在技術面的最后一面。
最后我想要著重強調一下,項目經驗很重要,尤其是對于社招生來說,所以就要求我們在平時做項目的時候一定要逐漸的去積累項目的重難點是什么,以及如何解決的。當然有可能在實際工作中我們負責的那一個模塊確實沒有很大的難點值得去說,這也是有可能的,這就需要我們去全面的了解自己的項目,看看其他同事負責的模塊有沒有值得去學習和總結的,這不僅有利于我們技術上的提高,也有利于增加我們的項目經驗。
Android開發除了flutter還有什么是必須掌握的嗎?
相信大多數從事Android開發的朋友們越來越發現,找工作越來越難了,面試的要求越來越高了
除了基礎扎實的java知識,數據結構算法,設計模式還要求會底層源碼,NDK技術,性能調優,還有會些小程序和跨平臺,比如說flutter,以思維腦圖的方式展示在下圖;
點擊文檔前往獲取面試資料與視頻教程;【阿里P7級別Android架構師技術腦圖+全套視頻】
c/DSkNLaERkbnFoS0ZF)**
[外鏈圖片轉存中…(img-7fOosQww-1621071255991)]