先說一下關於我本人的一些情況吧,我是一個目前大四在讀,雙非的普通本科二本的學生,由於對本方向的軟件(游戲)開發實在是不感興趣於是開始自學了 JAVA 與安卓開發,因為沒有系統的指導於是自己在學習期間還是走了很多彎路的吧哈哈~(不過自學的確可以很扎實地了解到很多相關的知識)然后在暑期的一個初創型公司實習了近兩個月把,可能是因為公司人力不足把感覺學習還是和自學一樣,恰又正好碰到秋招這個人才流動高峰期,於是就先邊投了幾個大廠邊開始准備理論筆試和面試(自學起來的理論真的是超級差。。),那於是在不久同花順的 HR通過 Boss 聯系上了我,那么接下來就是正式開始面試的環節了。
一、筆試
簡單了解了簡歷上和我自己的一些方面的情況后,HR小姐姐發了一封筆試的郵件給我,印象里記得好像有10道題目吧。具體也記不太清了只記得幾個,不過電話里說的因為是社招的題目所以會有點難但是實際做起來好像還。。。可以??努力回憶一下好像這幾個是比較有印象的,不是一字不落的題不過大概是這個意思(實在抱歉真的想不起來所有的。。。)
1.自己封裝一個StringBuffer類,要求實現 append()方法;
2.實現在應用程序退出后依然可以在10分鍾后在 Log 里面打印一段信息
3.看了一段代碼,具體是啥忘了反正是在主線程中等待了一段時間然后更新了 UI,讓指出有什么錯誤
4.一段代碼查錯
5. 怎么讓指定的 Receiver 接受到該廣播並且阻止其他廣播接收器接收
6.LinearLayout 和 Button都設置點擊事件,問 Up 和 Down 的時候View 的事件分發是怎樣的。
7.Fragment 的性能優化
8.如何繪制一個 View(過程)
反正我記得一共10道題目吧,一個20分的我應該是沒答對還一個5分的應該有一兩個點沒答上其他的應該都是穩得(嘻嘻~),那然后考完就等消息唄,那個時候估摸着應該有機會面試於是就開始看面試題了。
那之后第二天下午,接到 HR小姐姐的電話說筆試通過了問什么時候能到現場面試,因為家里不在杭州嘛於是就問問能不能電話面試,他說希望還是現場面試吧(意思就是不行唄。。),那好趕緊定高鐵票(真貴。。),第四天大清早就踏上了去杭州的路。。。
二、面試
大概10點多到的火車站吧(怎么好像在寫旅游日記??!?),然后地鐵轉啊轉啊轉(還真有點遠說實話)12點到了余杭區公司那邊吃了個飯然后登記,坐沙發等,公司的大廳真的挺大的挺豪華的,然后就像個沒見過世面的孩子一樣到處拍(沒錯我就是來旅游的哈哈哈),等了半小時吧大概,就給叫上去了。
1.技術面
首先是技術面試,在面試快結束的時候我的提問了解到這個技術主管小哥哥還挺年輕的,並且已經在公司待了7年了,面試氣氛有點壓抑吧不管我怎么笑着談話氣氛都提不起來(這就是強者的世界嗎.jpg)咳咳,那開始正式面試吧。
1.首先是跑不了的自我介紹
2.我看你簡歷上是有項目的,能大概說一下嗎?
3.你項目采用的是怎樣的架構呢?能大概講一下 MVC,MVP,MVVM 嗎?,如果要用 XXX 模式的話,哪些控件或者說哪些類屬於那一部分呢?(教科書般的問題基本每個帖子都有所以早就准備好了哈哈哈)
4.講一下安卓的 View 事件分發吧
5.Activity 的啟動模式有哪幾種,講一下區別唄,什么情況下用哪種啟動模式
6.怎么處理 Scrollview 和 ListView 的滑動沖突?我現在實現了高版本的 ScrollView 和 Listview 嵌套,怎么在低版本實現呢?
7.ArrayList 和 Map 的區別有哪些,Map 底層是怎樣實現的有了解過嗎?
8.怎么實現子線程與主線程進行通信呢?能把 message相關類及message的處理流程講一下嗎?handler 可以在線程中實現嗎?
9.什么情況下會導致內存泄露,有哪些處理方式呢?
10.導致ANR 的常見情況有哪些
11.http 和 https 的區別有哪些,ssl 加密的原理是怎樣的呢?
12.提到加密,Base64編碼用過吧,AES 加密算法和 RSA 加密算法的原理能講一下嗎?哪個是采用對稱密鑰哪個是采用公私鑰?
13.講一下 Http 請求的分類和組成吧
14.解析 XML 通常有哪幾種方式,json 和XML的利弊有哪些
15.看過 volley 框架的源碼嗎?能講一下 Volley 框架是怎么實現的嗎
16.你用過哪些框架?看過哪些源碼?講一下Glide 框架的源碼吧(這里懵了。。平常源碼看的不細,基本等於沒看)
17.現在我有 n 個隨機數,你給我一個算法,找出三個數乘積的最大值;(這里想了一下后問:有負數和0嗎?需要我排序嗎?然后就說好了我知道你的思路了你的思路是對的我:???)
18.問了幾個基本排序算法的原理,我知道原理但不太會講就大概拿手邊比邊講,他應該是聽懂了
19.你在平時寫項目遇到最大的困難是什么,怎么解決的?
20.你有什么想問我的嗎?
聽到最后一個問題我就知道應該結束了,期間還有幾個問題我不太記得了但是都答出來了,9,14,16沒有答好面試官點撥了一下幾個點也差不多答上來了,不過第一次面試氣氛又太僵硬發揮可能不太好后面想着還有東西應該一塊說出來的。技術面是的考官應該是經驗很豐富的,面試問題順序行雲流水,圍繞項目的點一點點往深了問,從布局到優化,從數據結構到算法,然后就通知去另一個辦公室找 HR 小改改 HR 面。(技術面大概面了一個小時了)
2.HR面
HR面氣氛就很輕松了,HR 小姐姐也很年輕,說話也很好聽,長的也很漂亮,咳咳..扯遠了,那HR 面就開始了問題不多吧感覺上和聊天差不多。
也大概概括一些點吧
1.家庭情況
2.父母對來這邊工作的意見,自己怎么看的
3.自己以后打算怎么發展
4.為什么想要從事移動開發
5.最近一次感受到壓力大是什么時候,因為什么
6.加班的一些情況
7.工資待遇
8.公司及當前主要業務介紹(到這里就感覺 offer 穩了不知道為什么會有這種感覺,可能是后面一直在說什么我來了之后要干啥之類的)
后面好像也沒啥了。。。就瘋狂聊天也忘了在聊啥
然后面試結束。。。
后面在回去的路上接到了 offer,但是由於家里的意見和我自己的想法我還是放棄了這份offer,現在想想也有點后悔吧,不過絕大部分還是想通了這次就當做一次證明自己能力的經歷,能拿到 offer 結果也是好的,還是得多加強理論方面的東西吧,希望秋招能找到更好更適合自己的地方!
加油吧,也希望各位看到帖子的小伙伴能得到一些幫助和經驗!