三年Android開發經驗,從老東家離職後,趕上金九銀十,已拿字節、騰訊、墨墨等offer,(面經分享)

前言:

個人情況:小編從江南小鎮出來,一本本科畢業,畢業後出來就一直在一個小廠搞Android開發,由於是第一份工作,這一做就是三年,直到今年6月份感覺在現有的崗位已到了一個瓶頸的狀態,也無法突破,繼續下去只會變成Crud的工作狀態,下定決心,果斷從老東家辭了職,準備認識新的自我,在家複習了兩個月時間,再加上這些年的工作經驗準備在金九銀十驗證一下自己,給自己一個滿意的答覆。

轉眼金九銀十過去了,筆者的跳槽面試也告一段落了。在接近一個月的時間,經歷了面試時的緊張、失敗時的痛苦、拿到offer的興奮。目前面了字節、美團、騰訊、清遠墨墨、阿里。並拿到了字節、騰訊、清遠墨墨的offer。 這次就先從筆者就從自己的心路歷程結合面試乾貨娓娓道來。

「初面試-字節跳動(頭條部一面)」

  • 自我介紹

  • css選擇器、優先級

  • 標準盒模型和ie盒模型

  • js繼承 (原型式、構造函數式、組合式、寄生式)

  • js判斷類型 (typeof 、 instanceof、 Object.prototype.toString.call)

  • settimeout和setinterval區別 。 宏任務、微任務、異步隊列

  • 一道考察promise的題

  • 說幾個http字段吧,作用是什麼(content-type 、Cache-Control 、Etag)

  • 跨域問題 node怎麼配置跨域 (cros)

  • http狀態碼以及代表什麼

  • cookie、session、token

  • node的框架學過嗎 express、koa 區別? 這裏筆者主要講了洋蔥模型

  • 筆試題 1.廣度優先遍歷二叉樹 2.多維數組壓平 3.翻轉矩陣 筆試題都不難,是leetcode的easy原題。

這次面試表現得不是很好,很緊張,寫編程題的時候手都在抖。幸運的是當天晚上就被告知通過了。第二天開始二面。

「字節跳動(頭條部二面)」

二面面試官是一個小哥哥,沒有露臉,全程語音交流。

  • 前端優化 這個題比較開放,可以從減少資源請求、資源大小、優化網絡、資源加載、迴流重繪等多方面回答。
  • vuex狀態管理存在意義? 單向數據流、集中管理
  • vuex的action怎麼觸發? dispatch
  • 介紹下項目 、難點? 這個就不細講了,每個人項目都不一樣,答得讓面試官覺得你在遇到問題時有思考的過程就好。
  • 筆試題

「清遠墨墨」

筆者最開始接觸清遠墨墨是考四級的時候下載了這個app(雖然從來沒有真的用過)。面試的時候有個hr小姐姐加了我,給我介紹公司,通知我面試。 面試的時候是在企業微信上,boss和技術一起面我。

  • BOSS : 用過墨墨app嗎 (筆者很慌,撒謊說用過)
  • 背了多少單詞 (更慌了,隨口說100個左右)
  • 怎麼知道有墨墨這個app的 (同學介紹)
  • 你簡歷說你自己心思縝密,但是你簡歷上的句子的標點符號有問題啊。(emmm)
  • 項目的UI問題
  • 技術 : JavaScript空數組是true嗎?
  • JavaScript是單線程嗎
  • js精度問題 0.1+0.2 === 0.3 //false
  • 你覺得英語水平會影響編程嗎 (答影響不大)

原諒我只記住了這些,這次面試技術上更偏向於js基礎知識,問了很多口頭判斷題,只需要回答yes or no就可以了。 如果有想去向清遠墨墨這樣的小公司實習的,筆者建議多瞭解這個公司的相關信息,因爲很可能接觸到BOSS的靈魂拷問。清遠墨墨公司壓力相比於大廠小,公司裏養了很多貓,還是個貓咖。如果不是爲了麪包,筆者是很青睞這種公司的。雖然拿到了offer,還是婉拒了小姐姐,對方還很禮貌的問我,怎麼不來了呢,是不喜歡廣東嗎? T_T 。

「騰訊PCG一面」

這次面試是在電話上進行的,面試官小哥哥說話很清晰,問的問題也很細,總體來說表現還是可以的。

  • 爲什麼學習前端?

  • 瞭解python、go嗎 ? 瞭解python

  • node作爲後端有什麼優缺點 ? 這裏小哥哥告訴我node在高併發場景表現和性能存在瓶頸

  • 做過音視頻方面的嗎 ? 答做過網盤,有媒體文件預覽功能

  • 瀏覽器重拍重繪,怎麼減少重拍重繪 ?

  • 異步隊列 微任務、宏任務 優先級

  • 跨域方式有哪些? 同源策略 cors、JSONP、postMessage 、代理服務器

  • JSONP實現原理 ? 利用script標籤和註冊全局函數

  • localstorage、sessionstorage區別 ?

  • 怎麼實現一個水平居中的alert窗口 ? 定寬高margin、calc、不定寬高transform、flex佈局

  • webpack打包過程 ?

  • 用過你覺得最好用的webpack插件 ? 答模塊熱替換插件

  • 什麼是SPA應用,相對於多頁的缺點 首屏緩慢、不利於SEO爬取

  • CDN的優勢在哪裏 有用過嗎(答出了優勢,但沒有用過)

  • 瀏覽器緩存問題

  • 瀏覽器資源加載優先級 ? 答不瞭解,能給我講講嗎,對面講了下如圖片資源,瀏覽器會優先加載用戶可視的內容。

  • 最近在讀過什麼書? 深入淺出nodeJS

  • 3:20 時,求時針分針之間的夾角。 這裏注意減去時針偏移的10度。

  • 筆試 模擬大整數相加、相乘

這次面試感覺還不錯,面試官小哥哥給我講了很多東西,還告訴我他在工作中的實際業務,使用的技術棧,現在的前端發展。對我這樣的雙非學歷也一視同仁,我個人是非常尊敬欣賞這樣的面試官的。打call!

「阿里釘釘」

阿里釘釘是在釘釘上加了羣,和羣主老哥聊過幾句,最後也是這位老哥面的我。上來就是兩個筆試題。

面試題

  • 前端安全 怎麼防範XSS攻擊?
  • 如何進行轉義
  • 網絡爬蟲有了解嗎
  • CDN主要用來解決什麼問題? (負載均衡、就近原則)

這次面試和以前的面試遇到的問題差不多,但對面沒有直接問我問題,而是從實際問題引導我回答。

「阿里CBU一面」

  • html節點類型? 塊級元素和行內元素
  • vue的雙向綁定原理? 訂閱發佈模式和Object.defineProperties
  • vue3.0、2.0、1.0的區別? 主要答的是虛擬DOM、proxy代替Object.defineProperties
  • 爲什麼用proxy代替Object.defineProperties 後者只能監聽已有屬性變化,且不能監聽數組的內容變化
  • vue的解析器原理? 用template生成AST語法樹分析
  • async瀏覽器支持情況,沒有async的時候用什麼模擬? (generator)
  • generator有什麼作用? 供for of 消費、利用next接口
  • 三道很簡單的編程題(前兩個代碼量有點多,把第三題分享出來)

這次面試總體感覺很不錯,主要是因爲面試官小哥人很幽默,面試氛圍也很放鬆,和我閒聊了很多。這個小哥帶給我很多積極能量,筆者希望能在以後遇到越來越多這樣的人。

「騰訊PCG二面」

PCG二面很突然,早上剛起牀來的電話,就匆匆開始了~

  • 談談你的實習經歷,過程中你遇到哪些問題,怎麼克服的 (這裏主要談了自己在技術上和同事協作遇到的問題,一頓胡編。。。)

  • 兩個用戶,A在深圳帶寬2M,B在上海帶寬100M,請求一個服務器部署在黑龍江4kb的文件。誰更快?(個人認爲理論上差不多,現實上B可能由於距離近會快一些。我的答案不一定正確)

  • 瀏覽器地址欄輸入網址到顯示,發生了什麼?

  • 砝碼分鹽問題。 140g鹽用2g和7g砝碼,一個天平,三次分出50g、90g

  • 反問環節, 這裏我問道面試官我有哪裏不足? 對方很中肯的告訴我在計算機網絡底層需要加強。

「字節商業變現平臺一面」

  • 怎麼判斷數組類型? Object.prototype.toString.call([]).slice(8,-1) === ‘Array’
  • bind、call、apply區別
  • 瀏覽器地址欄輸入網址到顯示,發生了什麼?(這個和上邊一樣)
  • TCP三次握手 爲什麼三次?
  • http狀態碼?
  • web通信技術? Comet(http流 、ajax輪詢)、SSE、 websocket
  • 都接觸過哪些後端語言? node、python
  • react和vue的區別? 答雙向綁定和單向數據流
  • vuex的作用? 狀態管理、集中式管理、把公用數據抽象出來、便於開發維護
  • react和jquery有什麼區別? 聲明式和命令式區別?
  • MVVM和MVC?

個人覺得是因爲這次面試問的問題恰好都是我瞭解的,對面印象不錯,甚至誇讚我基礎很牢固。面完直接開始進行二面。

「字節商業變現平臺二面 + HR面」

這次面試官是部門的leader,比較嚴肅

  • 做過哪些項目
  • 項目安全問題 項目裏md5在哪裏加密 (我答是前端加密)
  • 防止XSS、CSRF攻擊?
  • 前端鑑權 token
  • 有做過管理類的項目嗎 答無
  • 一個算法題 這個題筆者沒有寫出來,但是說了說思路,並表示自己算法很菜
  • 有什麼想問的? 筆者問商業變現平臺是做啥子的blabla…

大概是這些問題,有點記不清了。面完後就被告知通過了,等HR。兩天後HR面,主要是問問你的優缺點,最近在讀什麼書,平時成績如何。面完的兩個小時便拿到offer,不得不說字節的效率是真的很高。個人覺得之所以字節發展的如此之快,和字節的務實、技術氣氛濃厚,在管理上扁平化,有着很大關係。

這裏拿到字節的offer後,網易來電面試,因爲地域問題,婉拒了這次邀請。

「阿里CBU二面」

  • 自我介紹
  • 項目安全(這裏和我探討了下localstorage存放token有哪些安全問題,如何讓改善)
  • vue、react區別
  • vue除了父子傳值還有哪些辦法? eventbus、vuex
  • socket.io協議降級有了解嗎?
  • koa框架和原生node有什麼不同?
  • XSS攻擊

這次面試談到項目時說了我做的雲盤和聊天室,雖然問到的幾乎所有問題都答了出來。但對面表示項目上沒有亮點,建議我我在一些方向繼續深挖。 我很感謝面試官的建議。

以上就是能記下來的面試經歷了,並且小編已將相關面經答案整理成了完整PDF:免費分享給有需要的朋友。
需要文中完整版面經整理(附答案)和更多Android大廠高頻面試題,以及更多Android進階電子書籍的朋友**可以點此處GitHub自行下載。**

image

另外小編手頭上整理的2020 Android 核心知識點筆記也是免費分享給大家的,希望能夠幫助到更多喜歡學習的人。早日進階成爲Android高級架構師,實現個人理想和創造更多價值。

image

image
需要文中完整版面經整理(附答案)和更多Android大廠高頻面試題,以及更多Android進階電子書籍的朋友**可以點此處GitHub自行下載。**

整理不易,覺得有幫助的朋友可以幫忙點贊分享支持一下小編~

你的支持,我的動力;祝各位前程似錦,offer不斷!!!