宣告:作者:璇_c2be 連結:www.jianshu.com/p/089861329…
在2018年10月初,公司倒閉,無奈走上找工作的道路,不想自己平時圖安逸,不思進取,再次找工作才發現,android行業也不是站在風口上,豬也能吹上天的世道了.作為技術小菜的我,再找工作那幾個月真是戰戰兢兢,被打擊得信心全無.記錄下我的面試經歷,分享給需要的人.勉勵自己要時時進步,才不會被淘汰.
獵豹移動:(有筆試)
-
atomicinteger記憶體模型
-
static編譯時有啥不同,static 語句塊,static變數,static方法,構造初始化順序(靜態繫結)
-
animation和animator的用法,概述實現原理
-
Handler,looper,messagequeue,thread,message,每個類功能,關係?
-
Mvc,mvp的差異
-
app閃退的原因有哪些?每種情況簡述分析過程
-
如果一個app存在多程式,請列出全部的ipc方法
-
作業系統中程式和執行緒有什麼聯絡和區別,系統什麼時候會在使用者態和核心態中切換?
-
如何載入ndk庫?如何在jni中註冊native函式,有幾種註冊方式?
-
一個app如果效能不好,怎麼分析?
餓了麼(無筆試)
-
設計的六大原則
-
如果hashmap key不一樣,但是hashcode一樣會怎麼樣?
-
okhttp有什麼優秀的設計模式?builder模式有什麼好處?責任鏈模式有什麼好處?
-
懶漢模式單例為什麼加volaitle?
-
hashmap是否執行緒安全?不安全會出什麼問題?
-
concurrenthashmap讀寫分別是啥情況?
-
bindservice和startservice生命週期有啥不同?
-
廣播有幾種?廣播是觀察者模式?跨進城廣播也是觀察者模式嗎?
-
ams是怎麼找到啟動的那個activity的?
-
a-b-c介面,其中b是singleinstance的,那麼c介面點back返回a介面,為什麼?怎麼管理棧的?
-
紅黑樹有啥特性?
-
在oncreate裡面可以得到view的寬高嗎?
-
view的getwidth和getmesurewidth有啥區別?
-
遍歷hashmap的原理?
-
23種設計模式
中園博林(有筆試)
-
如何避免out of menmory和anr?
-
arraymap和hashmap的區別?
-
如何實現執行緒同步?
-
簡述android事件分發機制
-
簡述view繪製流程
-
用兩個棧實現一個佇列
口頭問
-
viewpager巢狀滑動衝突怎麼解決?
-
svg動畫
-
屬性動畫畫一個拋物線怎麼弄?
立思辰(無筆試)
-
為了適配多解析度,引入什麼開源框架?
-
閱讀介面書架用什麼控制元件實現?
-
佈局怎麼做到每行的文字左右對齊?
-
直播介面,微信對話介面實現?
-
效能優化怎麼弄?
vv音樂(有筆試)
-
筆試題很多
-
sax解析xml的優點
-
Contentvalue 鍵值型別
-
androiddvm的程式與linux的程式說法正確的是?(選擇題)
-
Android:gravity和android:layout_gravity的區別?
-
assets與res/raw的區別?
-
解釋layout_weight的作用
-
view如何重新整理?
-
animation.animationlistner幹什麼用的?
-
android常用佈局及排版效率
-
collection與collections的區別
-
匿名內部類是否可以extends其他類?是否可以implement interface(介面)
-
補間動畫常見的效果?有哪幾個常見的插入器?
-
override與overload的區別?overloaded的方法是否可以改變返回值的型別?
-
sleep與wait有什麼區別?
-
在android中,請簡述jni的呼叫過程?
-
請結束android.mk的作用,並試寫一個android.mk檔案(包含一個.c原始檔即可)
-
氣泡排序(程式碼實現)
-
猴子偷桃問題程式碼實現
-
給出兩個連結串列的頭指標比如p1,p2,判斷這兩個連結串列是否相交,寫出主要思路即可
** 口頭問**
-
簡述封裝,繼承,多型
-
強軟弱虛引用的應用場合
-
輸出一個陣列,不重複?(有點忘記題目什麼意思了)
-
用四個執行緒計算陣列和(我說用join方法,或者countdownlatch,他說用執行緒池即可)
** 什麼叫安全釋出物件(多執行緒裡面)final?**
-
策略模式和命令模式是啥?
-
拓撲排序
-
陣列和連結串列在中間位置的插入效率
-
binder的原理
-
art和dvm在gc上有啥不同?有啥改進?
-
linux和windows下程式怎麼通訊的?(完全不瞭解)
-
效能優化做過什麼工作?
-
一個類實現一個介面,介面引用指向這個類物件,可以不可以呼叫它的tostring方法?
-
瀏覽器,輸入url匹配,假設有一億條url快取,用什麼資料結構匹配?
-
recycleview快取機制相比listview快取機制有啥改進?
-
一個長度為10的arraylist和linklist,在第五條插入,哪個更快?
-
子類複寫父類的equals方法,但是子類增加了一個成員變數int,請問equals方法咋整?
大數醫療(有筆試)
-
手寫hashmap
-
寫生產者消費者模式,不可用syncronized
-
treemap,hashmap應用場景
位元組跳動(無筆試)
-
dvm和art的區別
-
從framework的角度講activity的啟動流程(冷啟動)
-
手寫演算法,二維陣列,每一行,每一列都是升序,找出某數的下標,沒有輸出[-1,-1],最好的時間複雜度是m+n(行數+列數)
-
zxing二維碼開源框架流程
-
contentprovider怎麼升級維護?
-
constaintlayout
-
bitmap有幾種格式,分別佔多少位元組
滴滴出行(無筆試)
-
android事件分發機制,如何下發,如何上傳?
-
一個介面下拉重新整理要怎麼實現?
-
bitmap佔用記憶體多少怎麼計算?一個畫素佔幾個位元組?
-
threadlocal的原理?
-
framework載入activity的流程
-
arraylist和linkedlist的應用場景
-
網路請求相關的框架
-
好幾萬條簡訊,滑動卡頓怎麼解決?
-
有沒有了解過三方開源資料庫(好像是騰訊的什麼資料庫框架,不僅僅是懂sqlite)
-
避免記憶體洩漏,為什麼說handler用成員內部類會記憶體洩漏?activity不是已經到gcroot被切斷了嗎?還有靜態context持有activity的引用會記憶體洩漏,必須要持有怎麼辦?(及時釋放)
-
計算viewgroup的層級,遞迴實現和非遞迴實現
-
自己寫一個應用,包名就叫android行不行,為什麼?
-
主執行緒looper如果沒有訊息,就會阻塞在那,為什麼不回anr?
-
系統程式可以用webview嗎?
-
原子類的瞭解
-
一個app多程式的好處
-
一個arraylist,裡面全部是int,講所有值是2的整數的節點刪除
-
arraymap瞭解
-
binder機制
-
shareprefrence原理?是否執行緒安全和程式安全?
-
一個app啟動頁另開一個程式,啟動頁10s後啟動mainactivity,請問5s的時候有幾個程式?
-
java記憶體結構,記憶體模型
融雲(有筆試)
-
氣泡排序手寫
-
如何判斷一個字串是迴文字串
梧桐車聯(電話面試沒過)
-
為什麼要引入activity這個元件
-
shareprefrence不是程式安全,假設一個apk兩個程式同時修改shareprefrence怎麼辦?
-
contenprovider已經是程式間通訊,為什麼還要引入broadcastreceiver?
-
a啟動b,b啟動c,怎樣可以在c介面點back退回到a?
-
startservice和bindservice生命週期有什麼不同?
-
兩個應用同時註冊一個廣播,優先順序都一樣,哪個會先收到廣播?(有序廣播?)
-
還有些其他的,忘記了
螞蟻金服(電話面試沒過)
-
threadlocal原理
-
zxing有過優化提高識別率嗎?
京東
-
arraylist裡面可以不可以new一個t泛型的陣列?
-
補間動畫click事件還在原位怎麼解決?
-
多執行緒併發
-
隔代資料庫升級
-
效能優化
閱讀更多
APK 的前世今生:從 Android 原始碼到 apk 的編譯打包流程
相信自己,沒有做不到的,只有想不到的
在這裡獲得的不僅僅是技術!