2018年的騰訊,阿里,百度,微軟,頭條春招實習面試經歷
一面3.15
你參加了這麼多比賽,講一下你參加的比賽,在隊伍中的角色
你參賽做的專案詳細講一下,實現了什麼功能
這個專案你用了什麼框架,圖片的載入怎麼做的?自己寫的圖片快取有沒有用記憶體快取?
講一下在實習做的東西:繼續追問實習做的東西,比較詳細的問
如果一個執行緒在迴圈處理訊息,當沒有訊息要處理的時候這個執行緒會阻塞,請問如果沒有訊息的以後,當前上下文如果退出,這個執行緒要怎麼處理
說一下序列化?序列化的作用是啥?
TCP和UDP的區別
一個連結串列,給了頭如何確定長度?如果為指標指向一箇中間節點呢?時間複雜度是多少?空間複雜度是多少?
老闆給A和B兩萬塊錢讓他倆分,A先提出分錢方案,如果B不同意,則錢降低到一萬塊錢並且由B來提出方案,如果A再不同意,錢就不分了,強制一人一千塊錢。請問如果A和B都很聰明的話,如果你是A你提出什麼方案會讓自己收益最高。
平時都喜歡做什麼?
看原始碼都看了哪些原始碼?
玩什麼遊戲?
除了英雄聯們,還玩什麼麼?
總結:10題答錯了,太緊張,掛了電話仔細一想才想出思路。總體感覺這一面是面綜合能力,並沒有問什麼太具體的Android技術,只有一個圖片快取,他還是提了一句,只是問了有沒有用,也沒問怎麼實現。
二面3.16
你在實習的時候做的東西具體講一講
追問實習具體寫了什麼
繼續追問實習寫的一個具體功能
參加比賽的專案具體講一講,你在隊伍裡是什麼角色,隊伍組成?
你覺得你參加比賽能拿好的名次,具體優勢在哪?
你是怎麼參加這些比賽的,找到這些比賽的?
問另一個研究生期間做的專案,有哪些功能,具體到三級導航怎麼實現的,每次切換導航是否訪問網路?如果每次訪問網路可不可以做一個快取?做快取的話你怎麼具體實現?加入購物車是怎麼做的?商品詳情頁如何做的?在做這個專案的時候有沒有遇到什麼難點?
Google為了防止過度重繪推薦使用哪些標籤?又不推薦使用哪些標籤?
如果自定義實現一個View的話如何實現?
Android併發過程中如何實現執行緒的安全性?
物件各種引用分別說一下
可不可以把物件的引用用於用在上面說的快取上?具體怎麼做?(說到弱引用問我的)
講一下你所知道的Android系統架構內容,越詳細越好
講一下Binder
Google出了一些不是原生的開發框架你有了解過嗎?
Google現在出Android8.0、Android9.0,你有沒有了解過他們的新特性?
你有什麼問題想問我嗎?
總結:能記起來的就這麼多了,都是很基礎的問題,感覺比其他幾家公司都容易
二面結束他告訴我他是螞蟻金服國際事業部的,還會有人再聯絡我,意思就是這次面試過了?然而一個星期後在系統上把我拒絕了,真的沒法說,不講信用?實力不濟?
然後又投了一個非內推的,被口碑撈起來面試了,一面是一個IOS面試官,呵呵,能面出什麼就奇了怪了,二面是一個java面試官,但是懂Android,聊了好久,大概一個小時四十分鐘,但是螞蟻的經驗告訴我,阿里面試官說的話當那啥就好,果不其然,面試完以後問問題環節,我問了一下北京的崗位問題,然而他說“啊呀,忘了告訴你了,口碑在北京沒有Android崗位,我可以把你轉到其他部門比如螞蟻,如果轉不了我也沒辦法了”,此時心裡一萬個草泥馬在奔騰。
再然後螞蟻又面了一次,結果一面面試官是個搞java的,問我一些java後臺的問題,這麼隨意嗎?二面是總監面,面了10分鐘,除了專案經歷,又是問我java的問題,無語。
螞蟻可能又涼了,轉到釘釘了,釘釘打電話問我去不去杭州,我肯定不去的,然後又有北京的釘釘聯絡我問我什麼時候入職,讓我多瞭解一下釘釘,全程矇蔽臉,說會加我釘釘和我聊一聊,結果本人不會使用釘釘就這樣不知道咋回事,沒收到聯絡。
第二天,杭州釘釘打電話重新面試,當時已經耐煩了,二十分鐘回答完問題以後,讓我加他釘釘,他給我出道題做,順便說一下,這個面試官也是做java後臺的,面試中我說了半天,他說他聽不懂Android相關的。。。
再後來加了釘釘,他讓我看釘釘的開發文件,給我一天的時間讓我寫文件感悟?當時已經對阿里失望至極,就告訴面試官我主動放棄面試。
感覺吧,阿里對客戶端開發不友好,收人少?面試官為什麼都是後臺的?
5.29收到實習意向書
騰訊(已收offer)
一面3.21
自我介紹
JNI如何呼叫,能不能更改對應native函式的名字
一個物件比如Person person = new Person()這個過程虛擬機器做了哪些操作
講一下Binder
如果所需記憶體超過Binder限制,你會怎麼設計這個IPC
講一下Android用到的Socket
IO多路複用epoll poll select區別
onCreate方法依次執行print("logA");post("logB");print("logC"),print表示列印,post想looper中傳送任務,請問輸出順序
一開始執行緒ClassLoader是ClassLoaderA,然後Thread設定ClassLoaderB,設定ClassLoader之後的程式碼使用哪個ClassLoader?
Activity啟動流程
ActivityThread檔案作用
Instrumentation作用
SSL原理
Http1.0和Http2.0區別
寫程式碼,二維陣列回形輸出,不輸出四個角
什麼時候能入職?
二面3.21
Voliate關鍵字的作用?
寫一下單例,不能用內部類
單例如何不讓執行緒阻塞
1000瓶酒,其中有一瓶酒有毒,老鼠可以試毒,就可以隨便兌,每個老鼠只能喝一次,並且必須所有的老鼠一起喝,問你最少幾隻老鼠可以試出哪個酒有毒
講一下ANR
兩個棧實現一個佇列
如何阻斷ANR(不是避免)
Activity物件在哪兒存著?
Android元件跨程序通訊方式?ContentProvider,Service如何跨程序通訊的?
Android中有哪些同步方式
Atomic作用?
還有的問題記不清了...
老闆是做什麼的?
平時怎麼學習?
總結:第一個面試官按照簡歷問,打破沙鍋問到底,哪個變數的作用甚至都會聞到。二面沒怎麼問簡歷上的,也是問的比較細,如果不是深刻理解,綜合能力達不到的話肯定不行,如果只是刷刷面經,上面的問題可能答對不少,但是上面的問題他會延伸,延伸至少一兩次。乾脆利落,面試管還留了電話讓我思考兩個沒答出來的問題,可以發簡訊給他。面試問題也面出了實力,相比阿里整個面試橫跨兩個月,要好很多。
後來騰訊地圖也讓我去面試,結果騰訊新聞這邊已經要我了,白跑了一趟,打電話的時候地圖的面試官態度很好,各種說不好意思,意思他們工作沒做到位,讓我跑一趟,本來打算走了,他說讓我等他一會兒,他跟我聊一會兒,接下來三分鐘尷聊,問我地圖和新聞傾向於哪兒,當然是說兩個都可以啦,然後告訴我如果新聞那邊有什麼問題的話,可以聯絡他,還可以面地圖這邊。收到新聞這邊的offer,全程很快,一個星期有結果,10天有錄取意向通知書。很給力。
百度(手機百度部) 已獲offer
一面3.19
自我介紹
ArryList和LinkedList區別
HashMap原理,還有什麼解決hash衝突的方法?
9.png畫素是怎麼拉伸的?
在Android上如何畫一個鐘錶,包括刻度,圓盤,指標
px、dp、sp的區別?具體講講每個?
如何通過反射拿到一個私有變數的值?
做的專案裡邊的具體實現,問的很細,讓我介面圖,每個部分都是用什麼做的
圖片快取怎麼做的?LRUCache實現的資料結構?
講一下HTTPS,SSL原理?
一個APP從產品的角度來說有哪些標準?(我從CPU和記憶體角度答了,他提示我啟動速度,又告訴我耗電量等等)
如果讓你寫一個網路請求的類庫你會怎麼實現?各個模組如何解耦,都有哪些模組,從巨集觀上講一下
你看的原始碼裡你比較熟悉的機制,講一下
Binder的好處是什麼,為什麼google用Binder而不用其他的?
ViewGroup的繪製流程,提示:先測量
ViewGroup裡面的onDraw具體有哪些步驟,提示:先畫背景
Android的動畫有哪些?
序列化有哪些?java的序列化為什麼不好?Android的又為什麼好?
一個應用可不可以有多個程序?
一個應用可不可以有多個Application物件,為什麼?
寫個演算法,兩個有序數組合併成一個
總結:問的比騰訊細,百度是實打實的技術點,騰訊會問原理但是不會問題具體哪一點怎麼實現,像onDraw的內容我只能記得繪製子View,其他的根本記不住。還有以上來問了一個9.png的問題,只答對了一半,畢竟是需要記憶的東西,長時間不用就忘了,瞬間矇蔽。序列化的問題,Parcel我是真的懂,然後我也大概知道Serializable是怎麼實現的,但是具體不知道,我說我猜一下,其實也猜的七七八八了,但是他說我說對了一半,告訴我Serializable有冗餘資訊(其實我也說出來了,只是沒說冗餘二字)。
二面(技術總監)3.19
學術方面做的什麼?
如果以後工作中接觸道AI領域,你怎麼看?
你的學長學姐們都是在哪兒工作?他們從事工程和從事AI方面工作有什麼差別?
如果你在實習,你的leader正在開會沒給你佈置任務,你會怎麼辦?
未來三年你對自己的職業規劃是什麼樣子的?
你以後想從事Android的前端還是後端?
有沒有看過系統自帶的上層App的原始碼?
有沒有關注Android新系統的功能?
如果Android出了新系統,需要你出一份調研報告,你會怎麼去做?
自己的優缺點?
平時是怎麼學習的?
講一下你覺得印象比較深刻的開發經歷
平時有沒有寫寫部落格或者什麼的來記錄學習?
準備什麼時候入職?
阿里和百度都要你你怎麼選?你會以什麼作為參照條件?
總結:技術經理講話比較和藹易懂,總的來說沒問技術問題,最後還讓我加他微信有什麼,可以微信詳細聊,本來一面感覺很慘,都感覺要掛了,他聊的又讓我產生了面過了的感覺。。。
最後發了offer,也答應了我五月中旬入職的要求,不過我也明確告訴他了,我還有其他的面試,不一定接offer,hr也表示理解,說可以拒絕offer。後來就把百度拒絕了。百度態度很好,大廠風範,前臺妹子也很溫柔~
今日頭條(GG)
不想回憶這個面試過程,全程面試官雞蛋裡挑骨頭,挑出問題來以後就嘲笑你,什麼你到學沒學過資料結構?意思是我啥也不會,各種嘲笑,嘲諷,挑毛病,態度很差。面了一面就結束了。你問的問題我不會,可以沒問題,我實力不濟,但是我答對了,你挑文字毛病,好,沒問題,我說話不嚴謹,我改正,但是你嘲笑我什麼意思呢?我是一個面試者,我當然有不足的地方,你嘲笑我,作為面試官真的應該嗎?應該慶幸沒面過,不然遇到這樣的leader,有的受了。當然也沒打算去,因為聽說加班超級嚴重。
微軟(GG)
1.簡歷初選通過
2.線上筆試,全英文題目,由於有leetcode功底,讀起來沒問題,一共四道題,兩個小時,做了三道,除了一道有一個極端情況忘了處理了,剩餘兩個都沒問題,最後一個沒時間做了。
3.現場面試,一面面試官寫了一個二維動態規劃,後來在題目基礎上延伸了一下,改了下程式碼,問了一下程序通訊的問題,免得還行
4.二面面試官問的問題比較開放,比如估算北京四環內有多少便利店,如果讓你做小冰的某個具體功能,你會怎麼做?全程大腦洞,考察思維能力。
總結:盡力了。。。沒有遺憾。一週後收到Thank you letter。
最後當然是去鵝場了,揭露一個比較嚴酷的事實,Android,IOS的小夥伴們,騰訊一個事業群裡只有三個Android崗位,IOS也類似,但是後臺有六七十個,二十倍的比率。阿里的更慘,因為騰訊的業務很多是以客戶端為入口的,比如新聞在的OMG網路媒體事業群,就這樣才收三個Android,其他的事業群可想收的也不會多了。所以客戶端的小夥伴們面臨的競爭是後端的很多倍。
推薦一個Java架構群909723834,群裡有資料,可以自行下載觀看,裡面都是同行,相互幫助相互學習(面試資料和學習資料)