前言:
最近了解到朋友因為學習起來感覺有些亂,沒方向感,他特意
挑了難一點的大廠找找找虐,他說這樣才有意義嘛!
還跟我說什么懷著進大廠的夢想,先去試試水,
結果嘛
就被虐得體無完膚,于是我就問他都有些什么內容,然后做了以下的總結,(下列都以第一人稱敘述)
涉及的企業有:阿里、快手、轉轉、用友(較簡單,不做展示),還有一個企業不記得名稱了(純業務的面試,沒印象)
快手

先說下筆試情況,2.8/4,
面試的話是 下午2點到4點面試連著兩面,然后hr最后說結果會在幾天之內反饋,
這個面經不全,因為現在有的問題已經想不起來了,尤其是沒答好的問題可能更記不住了hhhhh
4.11面試,4.13拿offer
一面(一小時)
Android問題:
1.詳細的講下View的繪制程序
2.使用過哪些影片,屬性影片和View影片的區別在哪里,View影片的原理(ValueAnimator和ObjectAnimator的區別)
3.Activity的生命周期,啟動模式,區別在哪,講下各自的應用場景,
4.Fragment的生命周期
5.Service的生命周期
6.行程與執行緒的區別
7.在專案中使用過多執行緒么
Java問題:
1.HashMap(因為我寫過相關文章,這個問題答了蠻長的一段時間)
2.java gc演算法
3.常用的執行緒池,以及執行緒池的各個屬性的含義
4.四種參考型別的區別(可以結合記憶體泄漏去聊)
代碼題
1.手寫二分查找
二面(一小時)
Android問題:
1.事件分發詳細的講(三個核心函式以及整體程序),詳細的講下dispatchTouchEvent,子View如何阻止父View攔截事件,Action_Cancel什么時候會發生,一個應用場景:兩個并排Button,點擊button之后,又移動到另一個button,但不點擊滑動到外面會經過發生哪些事件,
2.OkHttp
- Message.obtain()有什么好處,為什么不使用new Message(防止多次Gc)
4.LinearLayout和RelativeLayout的區別,優缺點,層級嵌套等等等
5.ConstrantLayout講講特點
6.性能優化在專案中做過哪些
7.讀過哪些Android的原始碼
8.BroadCastReceiver的原始碼看過么?
9.FrameLayout了解么?
代碼題:
1.場景題,實作一個ActionMangager,其中包括 registerAction(String action, IActionCallback callback), unregisterAction(IActionCallback callback); notifyChange(string action)三個方法,類似于BroadCastReceiver,一個action可能對應多個Callback,notifyChange中要回呼action對應的所有Callback物件的方法,同時還問了怎么滿足執行緒安全的問題等等,會根據代碼繼續問問題,
2.之字形遍歷二叉樹
拼多多

筆試
基于給定介面實作ImageLoader框架
一面
- 自我介紹
- 靜態變數和實體變數的區別
- 重寫equals()方法的注意事項;兩個list是怎么判斷是否相等的?
- HashTable和HashMap的區別;是否允許鍵為null
- 資料同步的方法;synchronized可以在物件上加鎖嗎?在方法上加鎖是加在哪個物件上?
- 行程間讀寫檔案的同步方式
- 了解哪些加密演算法;AES和RSA的區別
- HTTP回應碼
- 行程優先級;Android行程優先級
- 如何使一個Service處于另一個行程中;行程的服務保活
- Touch事件分發機制
- 如何實作客戶端長連接的?重試策略是怎樣的?如何監控HTTP請求的?
- 提問問題
二面
- 三道題選兩道http://collabedit.com/cx9uv
- 大頂堆和堆疊的概念
- 最短路徑演算法概念
- 如何快取HTTP
HR面
也不能算是HR面吧,簡單聊了聊,
- 專案介紹;擔任的角色
- 家庭情況;期望薪資
- 在哪里實習?實習的時候拿到過哪些offer
- 介紹了拼多多的待遇以及作業制度
三面
- 自我介紹;專案問了些
- 如果安卓是單執行緒的,那么如何處理界面重繪和網路操作兩個模塊
- 演算法題,
新美大
一面
- 自我介紹
- 為什么選用OkHttp?為什么用MVP模式?
- ImageLoader的三級快取怎么做的;OkHttp的磁盤快取怎么做的?
- 如何洗掉文章的廣告之類的?有遇到不符合的情況嗎?
- HashMap是執行緒安全的嗎?HashMap執行緒不安全會造成什么現象?如何使HashMap變為執行緒安全的?
- Java的記憶體模型;GC;遇到過OOM情況嗎?有什么可以檢測記憶體泄露的工具
- 文章串列用的什么什么控制元件?ListView如何優化?RecyclerView用過嗎?和ListView的區別
- 應用中有幾個Activity;ViewPager嵌套Fragment怎么用,遇到過什么坑沒?
- 自定義View時自定義屬性該怎么做?
- 印象最深刻的專案,或難點
二面
- 自我介紹
- 界面展示用的ListView還是RecyclerView?如何做文章的過濾的?如果改成別的網站需要怎么做?
- ImageLoader怎么實作的?記憶體快取使用的是什么策略?
- 專案中TCP+HTTP+JSON是怎么回事?
- android ui自動化測驗
- 實習的專案
- 對Kotlin的了解;準備讓用Kotlin寫一個界面的
- 給了一個布局,讓說說看怎么撰寫
- 了解啥新技術
- 問問題
三面
- 自我介紹
- 為什么選用AES加密?
- 全程沒聊技術,介紹他所在部門做的事情,問我感不感興趣,我也提問了一些問題,聊得比較投機
- 手上的offer
HR面
問了一些基本資訊,手上offer情況,對薪資的要求,由于三面全程沒問技術,心里比較虛,

附上簡歷中配置的個人技能
- 熟悉常用設計模式:策略、責任鏈、單例、裝飾者、代理、觀察者、配接器、外觀/門面
- 研究過Mybatis3原始碼,熟悉sqlsession執行流程、熟悉一級快取、二級快取原理
- 研究過Spring5注解方式啟動Spring的原始碼,熟悉Springbean生命周期、SpringAOP底層原理、Spring事務底層原理、Spring回圈依賴解決的原理
- 研究過SpringMVC5的原始碼,可手動仿真SpringMVC框架
- 研究過Springboot2的啟動原始碼,熟悉Springboot核心設計理念,可自定義starter組件,熟悉@SpringBootApplication底層原理
- 熟悉Java8新特性
- 熟悉常用集合(ArrayList、LinkedList、HashMap1.7、HashMap1.8、ConcurrentHashMap1.7、ConcurrentHashMap1.8)原理,并研究過原始碼
- 可手寫二叉樹、了解紅黑樹旋轉變色規則
- 熟悉Nginx負載均衡、動靜分離、反向代理、靜態檔案壓縮原理
- 了解網站跨域問題及其相應解決方案
- 了解Nginx+Lvs+Keep-alive實作高可用的原理
- 熟悉多執行緒(通訊、鎖,CAS機制)、Java記憶體模型,可手寫Java執行緒池
- 熟悉Java記憶體結構,了解常用垃圾回收演算法、垃圾回收器以及記憶體溢位和記憶體泄漏等問題
- 熟悉Zookeeper使用,了解Zookeeper作業原理,分布式鎖原理、分布式集群原理、選舉策略、資料最終一致性原理,
- 了解MySQL中的事務隔離級別和常見的鎖(共享、排它、意向、記錄、間隙、臨鍵、行鎖、表鎖等)
- 研究過Tomcat8底層原始碼,可在微服務架構下優化Tomcat8
- 熟悉Netty框架,了解BIO、NIO、TCP/UDP原理,了解OSI七層網路模型,了解請求粘包、拆包原因和解決方案,了解序列化機制,
- 熟悉SpringCloud框架,了解服務治理、服務注冊發現、服務降級、熔斷、隔離等Hystrix服務保護機制的原理,熟悉Ribbon負載均衡、Config配置中心、Zuul網關、Swagger介面除錯
- 熟悉Redis淘汰策略、事務、持久化機制、分布式鎖、單執行緒高效、自動過期、與MySQL保持一致性等原理
- 熟悉Redis穿透、擊穿、雪崩、集群、主從復制、哨兵選舉、cluster分片、動態擴容、縮容、布隆過濾器等原理
- 熟悉常用訊息佇列RabbitMQ/Kafka/RocketMQ,了解其解決分布式事務,訊息冪等,順序消費,事務訊息以及常用作業方式等原理
最后
如果說成功有捷徑,那么一定是不斷的積累與堅持,二本市場營銷畢業,一點基礎沒有的情況下選擇了自己喜歡的事情,前期遭遇了多少困難只有自己知道!還好結局沒有那么不堪,努力是不會被辜負的,加油!
附上:我們之前因為秋招收集的二十套一二線互聯網公司Android面試真題(含BAT、小米、華為、美團、滴滴)和我自己整理Android復習筆記(包含Android基礎知識點、Android擴展知識點、Android原始碼決議、設計模式匯總、Gradle知識點、常見演算法題匯總,)

本文在開源專案:【GitHub 】中已收錄,里面包含不同方向的自學編程路線、面試題集合/面經、及系列技術文章等,資源持續更新中…
如果需要PDF版本可以在群檔案夾里,自行領取!
-
或者在群檔案夾中里,自行下載直達領取鏈接:【https://links.jianshu.com/go?to=https%3A%2F%2Fjq.qq.com%2F%3F_wv%3D1027%26k%3DBRZhpPkt】
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/168293.html
標籤:其他
上一篇:Vue.use(VueAxios,axios)報錯cannot set property ‘axios‘ of undefined
