怒斬獲了30家互聯網公司offer,Android開發社招面試經驗

mb612e2bd2b528b 2021-09-19 05:53:22 阅读数:61

公司 offer android

面試經曆

1.偶然看到知乎的內推帖,投了個簡曆,下午hr姐姐call我,安排面試選在3天後,然而又要筆試阿裏,所以沒怎麼複習。

  1. 8點起床,9點過比較緊張的去了創業園,感覺知乎氛圍很好,在那等了一小會,有前臺大叔給你倒水。

一面:

應該是個參加工作不久的研究僧師兄,出了一道算法題,主要考字符轉int,然後分析了時間複雜度和空間複雜度,之後聊了android listView的性能優化,還問我recycalView的特點,進程通信的方式,我主要說了aidl和共享文件,廣播,本來還想用java裝B,還在精通java,然而師兄並沒有問,說叫等一下

二面:

二面明顯難度提昇,而且面試管應該是組長吧,比較喜歡聽吹架構,正好之前自己從web後臺,客戶端,硬件等方面做了一個智能家居項目,就吹了下硬件那邊的邏輯,包括藍牙,wifi的HTTP/IP協議,透傳等,紅外等傳感器,然後web後臺我說我用sevlet,因為本身客戶端主要需要接口,數據庫用mysql,也沒問rollback(嘿嘿),然後把客戶端展示給他看看,實在太醜沒有美工(這不是重點),由於我的項目中有一個很重要的point就是在硬件觸發時喚醒服務器後臺推送,首先硬件識別後,串口讀寫數據到單片機,單片機寫入wifi緩沖區,wifi通過HTTP透傳數據到我服務器(可以用TCP和IP),服務器獲取mac標識,推送至TAG(家庭ID)或者用戶(Alias)
說到推送,好好吹吹實現原理。
1:pull方式,http長連接或是socket,輪詢間隔設好即可,缺點及時性差
2:push方式,實時性好,方法1,google自帶推送平臺(網太差),方法二,xmpp協議(基於XML)。其實封裝的比較好了,有個開源包叫asmark,其中有XmppConnection這個推送庫,話說好多公司都是用它自己封裝庫,不過開源的demo只管推,沒有延時推送,消息暫存功能,方式3,用三方的
算法:是2個有序數組合並問題,用2個指針每次比較能够O(n)解决問題,算法pass
LruCache:先裝裝B,說一下我寫的和google V4包有什麼不同,主要是沒有trimToSize方法,沒有sizeof()計算內存耗費大小,我主要是重寫LinkedHashMap,講了下LinkHashMap源碼,其實我也是看別人寫的源碼解析,(嘿嘿,畢竟年輕,多向別人學習)

總結

最後小編想說:不論以後選擇什麼方向發展,目前重要的是把Android方面的技術學好,畢竟其實對於程序員來說,要學習的知識內容、技術有太多太多,要想不被環境淘汰就只有不斷提昇自己,從來都是我們去適應環境,而不是環境來適應我們!

這裏附上我整理的幾十套騰訊、字節跳動,京東,小米,頭條、阿裏、美團等公司19年的Android面試題。把技術點整理成了視頻和PDF(實際上比預期多花了不少精力),包含知識脈絡 + 諸多細節。

由於篇幅有限,這裏以圖片的形式給大家展示一小部分。

怒斬獲了30家互聯網公司offer,Android開發社招面試經驗_程序員

 CodeChina開源項目:《Android學習筆記總結+移動架構視頻+大廠面試真題+項目實戰源碼》

網上學習 Android的資料一大堆,但如果學到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那麼很難做到真正的技術提昇。希望這份系統化的技術體系對大家有一個方向參考。

技術進階之路很漫長,一起共勉吧~

版权声明:本文为[mb612e2bd2b528b]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210919055321489a.html