主頁 > 移動端開發 > 靠這份面試攻略,騰訊微信支付 安卓開發崗 四面上岸啦

靠這份面試攻略,騰訊微信支付 安卓開發崗 四面上岸啦

2021-04-08 11:50:08 移動端開發

清明節過后第一個作業日收到微信支付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

標籤:其他

上一篇:Android的activity(Android學習筆記之第四課)

下一篇:axios請求中contentType設定與提交資料的形式

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【從零開始擼一個App】Dagger2

    Dagger2是一個IOC框架,一般用于Android平臺,第一次接觸的朋友,一定會被搞得暈頭轉向。它延續了Java平臺Spring框架代碼碎片化,注解滿天飛的傳統。嘗試將各處代碼片段串聯起來,理清思緒,真不是件容易的事。更不用說還有各版本細微的差別。 與Spring不同的是,Spring是通過反射 ......

    uj5u.com 2020-09-10 06:57:59 more
  • Flutter Weekly Issue 66

    新聞 Flutter 季度調研結果分享 教程 Flutter+FaaS一體化任務編排的思考與設計 詳解Dart中如何通過注解生成代碼 GitHub 用對了嗎?Flutter 團隊分享如何管理大型開源專案 插件 flutter-bubble-tab-indicator A Flutter librar ......

    uj5u.com 2020-09-10 06:58:52 more
  • Proguard 常用規則

    介紹 Proguard 入口,如何查看輸出,如何使用 keep 設定入口以及使用實體,如何配置壓縮,混淆,校驗等規則。

    ......

    uj5u.com 2020-09-10 06:59:00 more
  • Android 開發技術周報 Issue#292

    新聞 Android即將獲得類AirDrop功能:可向附近設備快速分享檔案 谷歌為安卓檔案管理應用引入可安全隱藏資料的Safe Folder功能 Android TV新主界面將顯示電影、電視節目和應用推薦內容 泄露的Android檔案暗示了傳說中的谷歌Pixel 5a與折疊屏新機 谷歌發布Andro ......

    uj5u.com 2020-09-10 07:00:37 more
  • AutoFitTextureView Error inflating class

    報錯: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解決: <com.example.testy2.AutoFitTextureView android: ......

    uj5u.com 2020-09-10 07:00:41 more
  • 根據Uri,Cursor沒有獲取到對應的屬性

    Android: 背景:呼叫攝像頭,拍攝視頻,指定保存的地址,但是回傳的Cursor檔案,只有名稱和大小的屬性,沒有其他諸如時長,連ID屬性都沒有 使用 cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATIO ......

    uj5u.com 2020-09-10 07:00:44 more
  • Android連載29-持久化技術

    一、持久化技術 我們平時所使用的APP產生的資料,在記憶體中都是瞬時的,會隨著斷電、關機等丟失資料,因此android系統采用了持久化技術,用于存盤這些“瞬時”資料 持久化技術包括:檔案存盤、SharedPreference存盤以及資料庫存盤,還有更復雜的SD卡記憶體儲。 二、檔案存盤 最基本存盤方式, ......

    uj5u.com 2020-09-10 07:00:47 more
  • Android Camera2Video整合到自己專案里

    背景: Android專案里呼叫攝像頭拍攝視頻,原本使用的 MediaStore.ACTION_VIDEO_CAPTURE, 后來因專案需要,改成了camera2 1.Camera2Video 官方demo有點問題,下載后,不能直接整合到專案 問題1.多次拍攝視頻崩潰 問題2.雙擊record按鈕, ......

    uj5u.com 2020-09-10 07:00:50 more
  • Android 開發技術周報 Issue#293

    新聞 谷歌為Android TV開發者提供多種新功能 Android 11將自動填表功能整合到鍵盤輸入建議中 谷歌宣布Android Auto即將支持更多的導航和數字停車應用 谷歌Pixel 5只有XL版本 搭載驍龍765G且將比Pixel 4更便宜 [圖]Wear OS將迎來重磅更新:應用啟動時間 ......

    uj5u.com 2020-09-10 07:01:38 more
  • 海豚星空掃碼投屏 Android 接收端 SDK 集成 六步驟

    掃碼投屏,開放網路,獨占設備,不需要額外下載軟體,微信掃碼,發現設備。支持標準DLNA協議,支持倍速播放。視頻,音頻,圖片投屏。好點意思。還支持自定義基于 DLNA 擴展的操作動作。好像要收費,沒體驗。 這里簡單記錄一下集成程序。 一 跟目錄的build.gradle添加私有mevan倉庫 mave ......

    uj5u.com 2020-09-10 07:01:43 more
最新发布
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:40:31 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:40:11 more
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:39:36 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:39:13 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:16:23 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:16:15 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:15:46 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:14:53 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:14:08 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:08:34 more