
清明節過后第一個作業日收到微信支付Offer,做的準備作業也是刷題和不斷的充實自己的技術,其實目前騰訊的面試題并不是現在流傳的那樣,不過還算好順利拿到了offer,下面來跟大家分享一下我遇到的面試題,
3.22騰訊微信支付 一面(60min)
1、View繪制的流程
2、長連接建立連接的程序
3、TCP三次握手
4、Android應用的啟動流程
5、Handler機制
6、如何處理一張比較大的Bitmap
7、如何壓縮Bitmap
8、演算法題“{}【】()”優先級,字串是否合法
9、什么時候能來上班
…(一些非技術問題)
3.28騰訊微信支付 二面(35min)
1、你在專案中扮演什么角色
2、你覺得你專案中最難的地方在哪
3、專案中最能證明你個人技術水平的地方
4、TCP的三次握手,以及在此程序中有哪些不安全性?針對這些不安全性的攻擊手段?以及防御手段?
5、HTTP重定向的原理
6、Android JVM的組成部分?
7、JVM記憶體結構
8、動態代理設計模式
9、HashMap的實作原理
10、Android事件分發機制
11、二選一:
①App啟動流程
②Android發生Crash等例外之后系統的處理機制
12、相比于身邊的同學,你的優勢和短板有哪些?
13、如果你能順利加入騰訊,你覺得你能給騰訊帶來哪些方面的價值?
3.29騰訊微信支付 三面/總監面(微信電話面 31min)
1、有其他實習經歷嗎?
2、挑一個最能代表你的技術實力的專案講一下
3、挖專案,不斷挖,瘋狂挖,
4、專案中學習到了什么技術相關的東西?
5、說一下View的繪制流程
6、場景題:如何實作一個俄羅斯方塊游戲?
7、在俄羅斯方塊中,如何進行碰撞檢測?
8、未來的計劃是什么?
9、現在很多畢業生都覺得一線城市房價太高,對這個問題你怎么看?
10、你是哪里人?
11、有女朋友嗎?
12、有參加其他公司的面試嗎
3.31騰訊微信支付HR面(27min)
1、實驗室相關情況
2、什么時候開始接觸Android
3、挑一個你覺得你在其中貢獻最大的比賽或者專案分享一下
4、你覺得你對于這個專案]的核心貢獻是什么
5、專案里的有關資料是如何實作的?
6、專案中其他成員的情況
8、專案最后取得了什么成績
9、你平常是怎么學習的?有沒有什么獨特的學習習慣呢?
10、你一般怎么安排自己一天的時間呢?
11、分享一個攻克技術難點的case
12、你會怎么評價自己呢?
13、當時為什么會考慮學Android開發呢?
14、分享一個讓你最有挫敗感的case
15、確認一下基本資訊
(1)學歷
(2)作業時間
(3)作業地點
(4)簡單介紹一下家庭情況
(5)獨生子女?
(6)有直系親屬在騰訊作業嗎
(7)健康方面有沒有問題
(8)還參加了哪些公司的面試?
總的來說,一面的面試官比較親切,二面面試官要嚴肅些,說話比較有氣場(應該是個leader),三面的話壓力就有點大了,幸運的是最后順利拿到了Offer,
面試攻略
這份面試攻略是我在某論壇看到并且結合自己的面試經歷做了一些調整修改,僅僅針對Android開發崗,希望能給大家一些參考,
1.簡歷攻略
簡歷的基本原則是資訊真實,少數求職者可能會動歪心思,比如故意延長或縮短某段作業經歷,或是對學歷進行美容,真別這樣,一旦被發現,不只是尷尬,
簡歷要好好寫,用心寫,真實地寫,而且要對簡歷上的每個內容都了如指掌,因為簡歷上的任何東西,都可能被問到,我在面試的時候面試官一直對的專案進行深挖,挖到答不出為止,
如果學校不錯,建議簡歷檔案名采用如下格式:某某-XX大學-本科-應聘騰訊Android開發崗位.pdf,看到這簡歷名,就有想看看的沖動,
如果有github賬號且寫得很好,或者有開源作品,也可以放到簡歷中,讓人看到你對技術的熱愛和追求,這是加分項,
簡歷的其他注意點也很多,如下4點,不接受反駁:
a. 簡歷只能是PDF格式,
b. 簡歷不能是壓縮檔案,
c. 簡歷中不能有錯別字,
d. 簡歷最多不超過2頁,
總之,自己寫完簡歷后,要好好檢查和修改,多站在他人的角度審視自己的簡歷,也可以讓自己信賴的朋友幫修改,
2. 技術面攻略
雞湯大師說,如果看到地上有紙屑,要去撿起來,然后會被錄用,這有點反智,真的,別去撿,沒用的!要搞清楚,這是技術面,需要真刀真槍的本領,
組員面、組長面、總監面…,可能你還會遇到更多輪的技術面,我不逐一介紹攻略,這些流程,都是以考查技術為主,故統一介紹,
在面試之前,我去騰訊招聘網站看了相關崗位的要求,就知道要準備的技術內容和方向了,要準備的技術內容,紛繁駁雜,大致如下:
1.Java 基礎知識
- 面向物件的基本思想
- Object類相關:Object類的幾個關鍵函式、String涉及到的常量池概念,序列化 & 反序列化,
- 重要關鍵字:final、static,
- 內部類:內部類的分類、應用場景、內部類編譯成class后是怎么樣的,
- 抽象類 & 介面:區別、應用場景,
- 編碼:編碼的目的、分類,
- 例外:例外體系、自定義例外,
- 注解:注解的基本概念、分類、編譯時注解 & 運行時注解,
- 容器:重要容器的內部實作、容器間的對比,
- 記憶體模型,
- 垃圾回收,
- 類加載的程序,
- 泛型:分類、通配符 & 上下邊界、泛型擦除,
- 反射:使用,
2.Android 基礎知識
- Dalvik、Art虛擬機
- Activity:生命周期、launchMode,
- Fragment:生命周期、懶加載、兩種Adapter之間的區別,
- BroadcastReceiver:基本概念、廣播分類、權限,
- Service:生命周期、onStartCommand的回傳值、startService和bindService的區別、相同行程 & 不同* * 行程的互動、IntentService實作原理,
- 重要的工具類 & 原始碼實作:AsyncTask、HandlerThread、Handler、IntentService、LruCache、LinkedHashMap、SparseArray,
- RecyclerView:快取原理、和ListView的對比、Adapter如何適配多種layout,
- 存盤:資料庫升級 & 優化、ContentProvider,SharePreference,
- SDK版本升級的兼容問題,
- Android的權限管理機制,
3.圖片
- Bitmap相關:Bitmap的大小計算、質量、inJustDecodeBounds、inBitmap,
- 幾種圖片格式的對比、壓縮,
- 大圖加載:BitmapRegionDecoder
- 圖片庫對比
- LRUCache原理
- 圖片加載原理
- 自己去實作圖片庫,怎么做?
- Glide原始碼決議
- Glide使用什么快取?
- Glide記憶體快取如何控制大小?
4.演算法
別無捷徑,刷題,但是刷題的時候,要按照題的型別去總結,
5.開源框架
- RxJava:運算子的應用場景、重點運算子的內部實作、和RxJava的對比,
- Glide:流程、快取相關的實作,
- Retrofit:流程、動態代理 & 注解決議,
- OkHttp:流程、佇列實作、快取實作,
6.性能
- 性能優化技巧:啟動速度優化、布局優化、記憶體優化、電量優化、APK大小優化、串列滑動優化,
- 性能優化工具:TraceView、Systrace、除錯GPU過度繪制 & GPU呈現模式分析、Hierarchy Viewer、MAT、Memory Monitor & Heap Viewer & Allocation Tracker、LeakCanary、Lint,
- ANR
- ANR原因
- ANR產生程序原始碼分析
- 資訊收集程序
- trace檔案分析
- 分析基本流程
- 具體示例
- 如何避免產生ANR
- 性能實踐:解決過的性能問題,從 遇到問題、分析問題、解決問題、結果 四個點進行闡述,
7.View
- 繪制流程:measure、layout、draw三個關鍵流程,
- 事件分發:事件分發的原理、處理過的滑動沖突問題,
- 自定義View:Canvas & Path,實作過的比較復雜的自定義View,
8.架構設計和設計模式
- MVC MVP MVVM原理和區別
- MVP:MVP的思想 & 優劣勢、在專案中的應用
- 專案中常用的設計模式
- 手寫生產者/消費者模式
- 寫出觀察者模式的代碼
- 配接器模式,裝飾者模式,外觀模式的異同?
- 用到的一些開源框架,介紹一個看過原始碼的,內部實作程序,
- 談談對RxJava的理解
- Rxjava發送事件步驟
- RxJava的作用,與平時使用的異步操作來比的優缺點
- 說說EventBus作用,實作方式,代替EventBus的方式
- 從0設計一款App整體架構,如何去做?
- 說一款你認為當前比較火的應用并設計(比如:直播APP,P2P金融,小視頻等)
- 談談對java狀態機理解
- Fragment如果在Adapter中使用應該如何解耦?
- Binder機制及底層實作
9.原始碼
- AMS
- WMS
- Binder
- 應用啟動流程
- APK相關知識點
- APK構成:resources.arsc組成、AndroidManifest.xml、aapt作用及原理
- APK打包程序
- APK安裝程序
- APK簽名 & 校驗原理
- dexopt原理
10.網路和安全機制
- 網路框架對比和原始碼分析
- 自己去設計網路請求框架,怎么做?
- 網路請求快取處理,okhttp如何處理網路快取的
- 從網路加載一個10M的圖片,說下注意事項
- TCP的3次握手和四次揮手
- TCP與UDP的區別
- TCP與UDP的應用
- HTTP協議
- HTTP1.0與2.0的區別
- HTTP報文結構
并不是說以上所有知識點都要掌握,世上沒有萬能人,大家都有知識盲區,遇到困難太正常了,遇到困難還能現場解決,才能體現出自身價值,即便無法解決問題,也可嘗試說出自己的思路,而一個人的思路,往往能反映出這個人的心智模式和未來潛力,
總之,技術準備,功在平時,還是應該修煉基本功,有了這份基本功,就不怕變化,畢竟萬變不離其宗,至于該怎么提升基本功,建議多學習、多思考、多實踐、多總結,
我把所有刷過的大廠面試題都做了一個整理,有需要的朋友可以 點贊+評論 支持下我,然后【點擊這里】免費閱讀下載,

世上沒有銀彈,也沒有萬能捷徑,不要浮躁地以為,臨時抱佛腳,刷幾個題目,就能通過騰訊面試,沒那么簡單的,功夫修煉,千朝萬夕,用兵一時,養兵千日,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/273756.html
標籤:其他
