資本寒冬下的android面經

聲明:做者:璇_c2be 連接:www.jianshu.com/p/089861329…java

在2018年10月初,公司倒閉,無奈走上找工做的道路,不想本身平時圖安逸,不思進取,再次找工做才發現,android行業也不是站在風口上,豬也能吹上天的世道了.做爲技術小菜的我,再找工做那幾個月真是戰戰兢兢,被打擊得信心全無.記錄下個人面試經歷,分享給須要的人.勉勵本身要時時進步,纔不會被淘汰.linux

獵豹移動:(有筆試)

  • atomicinteger內存模型android

  • static編譯時有啥不一樣,static 語句塊,static變量,static方法,構造初始化順序(靜態綁定)web

  • animation和animator的用法,概述實現原理面試

  • Handler,looper,messagequeue,thread,message,每一個類功能,關係?算法

  • Mvc,mvp的差別sql

  • app閃退的緣由有哪些?每種狀況簡述分析過程數據庫

  • 若是一個app存在多進程,請列出所有的ipc方法windows

  • 操做系統中進程和線程有什麼聯繫和區別,系統何時會在用戶態和內核態中切換?設計模式

  • 如何加載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事件還在原位怎麼解決?

  • 多線程併發

  • 隔代數據庫升級

  • 性能優化

閱讀更多

資本寒冬裁人!HR渡劫指南

一個員工的離職成本到底有多高?

Android Q:新系統名稱和新特性整理

APK 的前世此生:從 Android 源碼到 apk 的編譯打包流程

相信本身,沒有作不到的,只有想不到的

在這裏得到的不只僅是技術!

相關文章
相關標籤/搜索