一、大部分公司的 HR 都說咱們不看重學歷(騙你的!),可是若是你的學校不出衆的話,很難在一堆簡歷中脫穎而出,除非你的簡歷上有特別的亮點, 好比:某某大廠的實習經歷、得到了某某大賽的獎等等。
二、大部分應屆生找工做的硬傷是沒有工做經驗或實習經歷,因此若是你是 應屆生就不要錯過秋招和春招。一旦錯過,你後面就極大可能會面臨社 招,這個時候沒有工做經驗的你可能就會面臨各類碰壁,致使找不到一個好的工做
三、寫在簡歷上的東西必定要慎重,這是面試官大量提問的地方;
四、將本身的項目經歷完美的展現出來很是重要。java
這裏簡單說一下本身的狀況,大專學歷,以前學的機電,而後參加一個 Java 培訓,培訓以後,本身發現 javaee 開發須要用到的知識太多了,而後,本身恰好那個時候接觸到 android,因而,就想作 android 開發。android
第一份安卓工做,本身進去差很少就是實習生的身份,由於公司給學習機會,能夠一邊學習,一邊跟着作項目,因此,到如今仍是很感謝當初第一份工做。程序員
固然,說到剛開始找工做,由於沒有 android 開發經驗,去網上搜了不少職位,投了簡歷都沒反應,搜了好久才找到那家公司,要求很低,實習生均可以,我纔去面試,還有上機測試,可是,由於測試的都是基礎知識,而後,那家公司是在一個縣級市的軟件園區,估計,也由於去面試的人,加上當初本身表現的比較願意學習,老闆纔給了此次機會。無論怎麼說,我從心底感謝第一份工做。面試
我發現你們比較喜歡看面經 ,這點無可厚非,可是大部分面經都沒告訴你不少問題都是在特定條件下才問的。
舉個簡單的例子:通常狀況下你的簡歷上註明你會的東西纔會被問到(Java、數據結構、網絡、算法這些基礎是每一個人必問的);
好比:寫了你會 redis,那面試官就很大機率會問你 redis 的一些問題。
好比:redis 的常見數據類型及應用場景、redis 是單線程爲何還這麼快、 redis 和memcached 的區別、redis 內存淘汰機制等等。
因此,首先,你要明確的一點是:你不會的東西就不要寫在簡歷上。另外,你要考慮你該如何才能讓你的亮點在簡歷中凸顯出來,好比:你在某某項目作了什麼事情解決了什麼問題(只要有項目就必定有要解決的問題)、你的某一個項目裏使用了什麼技術後總體性能和併發量提高了不少等等。redis
面試和工做是兩回事,聰明的人會把面試官往本身擅長的領域領,其餘人則被面試官牽着鼻子走。雖然說面試和工做是兩回事,可是你要想要得到本身滿意的offer ,你自身的實力必需要強。算法
接下來是一些面試題,我作了些整理
![]()
1.startactivityforresult的時候,好比A startB activity,A activity被回收,B回來的時候的A和B的生命週期各自是什麼?編程
2.如何實現一個環形佈局的ViewGroup,相似一個菊花的形狀。又問了在onMeasure中傳遞的參數是什麼?這道題主要就是想了解對View的measure、layout和draw流程是否熟悉。數組
3.android的事件傳遞機制緩存
4.內存泄露問題,常見的致使內存泄露的緣由安全
5.頁面很卡頓,分析一下緣由是什麼,而後從哪些方面入手解決
6.java的線程同步問題。new了不少A對象,一個線程池的線程不斷去操做A對象被synchronized修飾的方法,會同步操做嗎?若是該方法是static的,又會怎麼樣?
7.碰見過的項目難點的地方
8.強化android優化方面
1.工做相關,強化工做相關項目
2.android性能調優
今日頭條問的都是網上能找到的。好幾個問題都是網上面經的原題,因此刷面經很重要。
一面主要是問了Android基礎、Java基礎和數據結構算法
一、軟引用和弱引用的區別
二、1億個數中找出最大的100個數。回答了能夠建一個小頂堆,而後問如何建小頂堆以及如何維護小頂堆
三、Bitmap加載過程當中OOM了怎麼辦?回答了能夠壓縮圖片,而後問具體怎麼壓縮?若是有一張很大size的圖片須要加載到手機裏怎麼辦?回答能夠局部加載。
四、有了解什麼是IntentService麼?
五、Activity的幾種啓動模式有了解麼?各自的含義是什麼?
六、TCP和UDP的區別,以及簡單說了一下TCP三次握手協議
七、手寫單例模式
八、除了Lru緩存算法,你還知道哪些緩存算法?
二面面試官是百度t6,主要問了項目相關的問題,也問了一些Android基礎和算法數據結構
一、1億個url存在文件中,裏面有重複的url,請問怎麼去重?題外:這道題給人的感受就是這個面試官只會抄網上的題目來「考」面試者,而不是真的用心去了解面試者的Android能力水平,網上這樣的「海量數據」處理問題已經被問爛了,並且平時android開發中間幾乎不多用到,面試者能答上來無非二者:一、刷過面經;二、真的會「海量數據」處理的大牛,可是Android中是後者的幾乎沒有,因此這道題沒有任何意義,徹底就是面試官照抄面試題的應付而已。
二、2*8的最快運算是什麼?考察點是位運算,但平時工做中幾乎不多「2<<3」這樣寫,緣由是沒有必要,由於編譯器早就作過這方面的優化。
三、討論了一下熱修復相關的問題
三、一個listview很卡頓,讓分析一下其中可能的緣由和你遇見這個問題如何動手解決。算是相對比較發散思惟的問題,應該能從必定角度反應求職者水平。
一、cpu的喚醒,cpu休眠會中止線程xxx
二、線程同步synchronized,volatile關鍵字的用法
三、怎麼中止一個線程,waitxxx有用嗎?
四、靜態內部類引用外部類怎麼解決引用問題
五、for循環…的線程同步問題
六、c裏面static關鍵字的用法
七、include頭文件兩種方式的區別
八、弱引用和軟應用的區別
九、Dalvik和ART虛擬機的區別
十、Java虛擬機何時進行GC,Android虛擬機呢?
十一、弱引用和軟引用的區別?各自的使用場景是什麼
一、n個元素的集合一共多少個子集
二、view的事件傳遞機制
三、咱們的應用的架構
四、靜態內部類訪問外部類的作法
五、RxJava和EventBus的區別?好奇怪
六、okhttp訪問線程池的問題
*
小米hr要求每輪面試都必須有一到兩個算法題,因此算法和數據結構也是不能放。
一面主要就圍繞着個人項目裏的展開的討論,也問了不少Android基礎問題。
一、handler的機制
二、RxJava的好處
三、EventBus的內部實現原理是什麼?
四、什麼是內存泄露,如何分析?MAT和LeakCanary。MAT和LeakCanary的各自優缺點是什麼?
五、有哪些常見的內存泄露的緣由
六、算法:1)求最大連續子序列之和。2)遍歷輸出一個文件夾中的全部文件(遞歸)
七、手寫單例模式,單例的使用場景有哪些?
一、算法:非遞減序列求個數,例如 一、一、二、二、三、三、三、三、四、七、八、九、九、9,input:3,output:4
一、一個類中聲明private static Bitmap會引發什麼問題,主要考察的是內存泄露
二、Activity的生命週期,主要考慮異常狀況
三、ScrollView和Listview的區別?好奇怪的問題
四、兩個有序數組a[n]和b[m],合併成一個有序數組並放入a中,a數組開的存儲空間保證能放下a和b中全部元素,如何實現效率最高?
一、listview的卡頓分析和優化
二、listview加載圖片會有什麼問題,若是引發圖片錯位是什麼緣由致使的?怎麼解決?
三、本身設計一個Picasso應該考慮哪些方面。圖片緩存(DiskLruCache,LruCache)、壓縮、listview致使的錯位、線程池的數量等
1.儘可能避免主觀表述,少一點語義模糊的形容詞,儘可能要簡潔明瞭,邏輯結構清晰。
2.若是本身有博客或者我的技術棧點的話,寫上去會爲你加分不少。
3.若是本身的 Github 比較活躍的話,寫上去也會爲你加分不少。
4.注意簡歷真實性,必定不要寫本身不會的東西,或者帶有欺騙性的內容
5.項目經歷建議以時間倒序排序,另外項目經歷不在於多,而在於有亮點。
6.若是內容過多的話,不須要非把內容壓縮到一頁,保持排版乾淨整潔就能夠了。
7.簡歷最後最好能加上:「感謝您花時間閱讀個人簡歷,期待能有機會和您共事。」這句話,顯的你會頗有禮貌。
一、談談你本身的狀況?
【解答思路】:建議你們用 2 分鐘得自我介紹,面試官較喜歡的自 我介紹
一、有亮點,每一小段都有一個亮點,而不是平鋪直敘
二、有互動,每一小段都會和麪試官互動,而不是自說自話,可是 切記,這種互動並不須要面試官配合,絕對不要老是直勾勾地盯着 面試官的眼睛逼着人家配合你,要知道面試官最恐怖的經歷就是被 申請人從頭盯到尾!
三、 相關性強, 每一小段都和所申請的職位有關係,而不是流水 帳。
2.你是否有過工做經驗?
【解答思路】:最好的回答是如實回答本身的真實狀況。
一、若是面試者 沒有工做經驗的話,依照崗位要求的技術方向以及崗位職責,把重 點轉移到作過的相似的項目經驗上去,讓面試官確信你的技術可以 勝任這個崗位。
二、有過工做經驗的面試者,要把之前的工做經驗描述的 和應聘的崗位有相同之處。 正確回答:以前曾經在XX網絡科技公司作過網絡管理員這個職位, 在工做中我充分利用所學知識,對公司的網絡環境進行了淨化,同 時對公司的網絡進行了安全加固……,在工做當我學到了不少的東 西,甚至包括以前我所沒有接觸過的方面。
Android相關源碼解讀
只要是程序員,無論是Java仍是Android,若是不去閱讀源碼,只看API文檔,那就只是停留於皮毛,這對咱們知識體系的創建和完備以及實戰技術的提高都是不利的。
Flutter學習進階
每個移動開發者都在爲 Flutter 帶來的「快速開發、富有表現力和靈活的 UI、原生性能」的特點和理念而癡狂,從超級 App 到獨立應用,從純 Flutter 到混合棧,開發者們在不一樣的場景下樂此不疲的探索和應用着 Flutter 技術,也在面臨着各類各樣不一樣的挑戰。
NDK模塊開發
NDK 模塊開發,JNI 模塊,Native 開發工具,Linux 編程,底層圖片處理,音視頻開發,機器學習