Android2017-2018最新面试题

原文链接:http://blog.csdn.net/huangqili1314/article/details/72792682

大家好,在跟大家讲述自己的面试经历,以及遇到的面试题前,先说说几句题外话。

接触Android已经3年,在工作中遇到疑难问题总是在网上(csdn大牛博客,stackoverflow等)搜索答案,各位大牛大神总是把自己的经验分享出来,帮助我们这些需要帮助的人,由此表示衷心感谢!然而现在自己细想了一下,自己也是时候把遇到的问题并把解决方案分享出来,希望能帮助到有需要的人。

随着时间的流逝,很多人说互联网这一块已经越来越不好干了,因为烧钱时代已经过去,剩下的都是根基牢固的大公司,独角兽已经不复存在。这就直接导致了互联网岗位的下降,本人亲测,也的确如此。

2017.05月,本人离职(此时3年工作经验,深圳就职),开始试水安卓市场,寻求一份合适自己,稳定的中大型公司。投了很多公司,面试机会并不是我想象中的那么多,即时面试过程顺利,也没有获得offer(候选人太多太多)。不过借此机会,前前后后我面了10家公司,现在就把我遇到的面试题,并且提供一些面试技巧给各位即将面试的同志们。

OK,进入主题,请看Android知识图谱。

这里写图片描述

面试,无非都是问上面这些问题(挺多的 - -!),聘请中高级的安卓开发会往深的去问,并且会问一延伸二。以下我先提出几点重点,是面试官基本必问的问题,请一定要去了解!

基础知识 – 四大组件(生命周期,使用场景,如何启动)

java基础 – 数据结构,线程,mvc框架

通信 – 网络连接(HttpClient,HttpUrlConnetion),Socket

数据持久化 – SQLite,SharedPreferences,ContentProvider

性能优化 – 布局优化,内存优化,电量优化

安全 – 数据加密,代码混淆,WebView/Js调用,https

UI– 动画

其他 – JNI,AIDL,Handler,Intent等

开源框架 – Volley,Gilde,RxJava等(简历上写你会的,用过的)

拓展 – Android6.0/7.0/8.0特性,kotlin语言,I/O大会

急急忙忙投简历,赶面试,还不如沉淀一两天时间,再过一遍以上内容。想稳妥拿到一个offer,最好能理解实现原理,并且知道使用场景了。不要去背!要去理解!面试官听了一天这些内容是很厌倦的,最好能说出一些自己的见解。

面试题(固定答案不解答,自己可以找到)

顺序是根据记忆排的,没有优先级之分,都是重点。

1.Activity的启动过程(不要回答生命周期)

http://blog.csdn.net/luoshengyang/article/details/6689748

2.Activity的启动模式以及使用场景

(1)manifest设置,(2)startActivity flag

http://blog.csdn.net/CodeEmperor/article/details/50481726

此处延伸:栈(First In Last Out)与队列(First In First Out)的区别

3.Service的两种启动方式

(1)startService(),(2)bindService()

http://www.jianshu.com/p/2fb6eb14fdec

4.Broadcast注册方式与区别

(1)静态注册(minifest),(2)动态注册

http://www.jianshu.com/p/ea5e233d9f43

此处延伸:什么情况下用动态注册

5.HttpClient与HttpUrlConnection的区别

http://blog.csdn.net/guolin_blog/article/details/12452307

此处延伸:Volley里用的哪种请求方式(2.3前HttpClient,2.3后HttpUrlConnection)

6.http与https的区别

http://blog.csdn.net/whatday/article/details/38147103

此处延伸:https的实现原理

7.手写算法(选择冒泡必须要会)

http://www.jianshu.com/p/ae97c3ceea8d

8.进程保活(不死进程)

http://www.jianshu.com/p/63aafe3c12af

此处延伸:进程的优先级是什么(下面这篇文章,都有说)

https://segmentfault.com/a/1190000006251859

9.进程间通信的方式

(1)AIDL,(2)广播,(3)Messenger

AIDL : https://www.jianshu.com/p/a8e43ad5d7d2

https://www.jianshu.com/p/0cca211df63c

Messenger : http://blog.csdn.net/lmj623565791/article/details/47017485

此处延伸:简述Binder , http://blog.csdn.net/luoshengyang/article/details/6618363/

10.加载大图

PS:有家小公司(规模写假的,给骗过去了),直接把项目给我看,让我说实现原理。。

最让我无语的一次面试,就一个点问的我底裤都快穿了,就差帮他们写代码了。。

http://blog.csdn.net/lmj623565791/article/details/49300989

11.三级缓存(各大图片框架都可以扯到这上面来)

(1)内存缓存,(2)本地缓存,(3)网络

内存:http://blog.csdn.net/guolin_blog/article/details/9526203

本地:http://blog.csdn.net/guolin_blog/article/details/28863651

12.MVP框架(必问)

http://blog.csdn.net/lmj623565791/article/details/46596109

此处延伸:手写mvp例子,与mvc之间的区别,mvp的优势

13.讲解一下Context

http://blog.csdn.net/lmj623565791/article/details/40481055

14.JNI

http://www.jianshu.com/p/aba734d5b5cd

此处延伸:项目中使用JNI的地方,如:核心逻辑,密钥,加密逻辑

15.java虚拟机和Dalvik虚拟机的区别

http://www.jianshu.com/p/923aebd31b65

16.线程sleep和wait有什么区别

http://blog.csdn.net/liuzhenwen/article/details/4202967

17.View,ViewGroup事件分发

http://blog.csdn.net/guolin_blog/article/details/9097463

http://blog.csdn.net/guolin_blog/article/details/9153747

18.保存Activity状态

onSaveInstanceState()

http://blog.csdn.net/yuzhiboyi/article/details/7677026

19.WebView与js交互(调用哪些API)

http://blog.csdn.net/cappuccinolau/article/details/8262821/

20.内存泄露检测,内存性能优化

http://blog.csdn.net/guolin_blog/article/details/42238627

这篇文章有四篇,很详细。

此处延伸:

(1)内存溢出(OOM)和内存泄露(对象无法被回收)的区别。

(2)引起内存泄露的原因

21.布局优化

http://blog.csdn.net/guolin_blog/article/details/43376527

22.自定义view和动画

以下两个讲解都讲得很透彻,这部分面试官多数不会问很深,要么就给你一个效果让你讲原理。

(1)http://www.gcssloop.com/customview/CustomViewIndex

(2)http://blog.csdn.net/yanbober/article/details/50577855

23.设计模式(单例,工厂,观察者。作用,使用场景)

一般说自己会的就ok,不要只记得名字就一轮嘴说出来,不然有你好受。

http://blog.csdn.net/jason0539/article/details/23297037/

此处延伸:Double Check的写法被要求写出来。

24.String,Stringbuffer,Stringbuilder 区别

http://blog.csdn.net/kingzone_2008/article/details/9220691

25.开源框架,为什么使用,与别的有什么区别

这个问题基本必问。在自己简历上写什么框架,他就会问什么。

如:Volley,面试官会问我Volley的实现原理,与okhttp和retrofit的区别。

开源框架很多,我就选几个多数公司都会用的出来(框架都是针对业务和性能,所以不一定出名的框架就有人用)

网络请求:Volley,okhttp,retrofit

异步:RxJava,AsyncTask

图片处理:Picasso,Glide

消息传递:EventBus

以上框架请自行查找,太多了就不贴出来了。

26.RecyclerView

这个挺搞笑的。有另外一个同事也在找工作,面试官嫌他没用过RecyclerView直接pass掉。

http://blog.csdn.net/lmj623565791/article/details/45059587

OK,点到即止。

结语

面试官面什么,完全是看他们个人的(性格,心情,天气,你的面相)。以上只是一些我觉得重要的点,当然还有很多深层的东西不是一时半日可以补上来的,还是要看自己平时的经验积累。面试不单单是技术面,还有高层面,人事面,这些都要看个人发挥了。

PS:如果面试官说,还有什么想问的,千万不要给自己挖坑,说今天自己表现怎样,能不能被录取。要往公司的团队,氛围去问,尽量表现的对公司有兴趣。

如:我想知道公司是否定期有开技术会议,老员工是否会分享自己的一些经验等这些问题。

生活不易,如果有面试官(你将来有一天也会面试别人)看到这篇文章,请放下架子或者偏见,尊重每一位面试者。

最后,我列出以下面试需要注意的几个点。

面带微笑,有礼貌,谦逊

穿的体面一点,穿拖鞋的gg了8成

一定要带简历和笔

来了说谢谢,面完说谢谢

要学会看面试官的表情,如果答的不好不要继续往下说

不要吹的自己以前做过的项目有多牛b,也不要自吹

答题要冷静,不要一轮嘴说一堆,面试官很烦的

接下来会写几篇针对BAT等大厂的面试题锦集,很快就出炉拉,已经在整理。喜欢的同学请点个赞哈!

最后祝大家面试顺利,早日找到自己心仪的公司。

**个人面试经历总结文章:

Android2017-2018最新面试题(3-5年经验个人面试经历)

**BAT面试系列文章:

一、Android(2017-2018)BAT面试题整理(java篇,含答案)

二、Android(2017-2018)BAT面试题整理(Android篇,含答案)

三、Android(2017-2018)BAT面试题整理(深入技术篇,含答案)未完待续

四、Android(2017-2018)BAT面试题整理(高层/HR篇,含答案)未完待续

APP打开,阅读更顺畅

59条评论 写评论

拥抱是什么感觉:博主 , 感谢分享 , 可以转载吗?(2019-01-17 #43楼)回复

xiastars:卧槽,不会是说我吧,有次一个五年经验的人来面试,说不听说过RecycleView,我直接pass了(2019-01-13 #42楼)回复

幻化万千戏红尘:哥,还有三四篇啊,(2018-12-29 #41楼)回复

查看43条热评

2018Android面试题汇总(面试总结全)

APP打开 u014803701 6031次阅读 08-03

Android面试题总结【完整详细版本"一"】(含答案)

APP打开 m0_37868230 3209次阅读 08-07

Android(2017-2018)BAT面试题整理(java篇,含答案)

APP打开 huangqili1314 3.4万次阅读 03-06

2018年Android最新面试题(一)

APP打开 qq_32865887 2.2万次阅读 02-28

2018 Android面试心得,已拿到offer

APP打开 qq_27053103 3.3万次阅读 03-15

刚刚50万程序员纷纷导向python,原因竟然是.......

19328次阅读03-04

2018 Android中高级面试题

APP打开 xiangzhihong8 1480次阅读 06-26

android面试题(一)

APP打开 myosotis5 325次阅读 08-20

Android笔试面试题一(常考选择填空)

APP打开 Friday_577 7516次阅读 10-02

360内推Android面经 - 2018(已拿offer)

APP打开 u013647453 2082次阅读 10-08

Android高级开发面试(3-5年)开发经验

APP打开 qq_35114086 473次阅读 06-14

Java面试2018常考题目汇总(一)

APP打开 hope900 30.3万次阅读 12-09

深入理解Android中的Handler机制

APP打开 reakingf 2.5万次阅读 07-28

2017JAVA面试题附答案

APP打开 u014042066 16.5万次阅读 08-25

Android笔试和面试常见题目(四)

APP打开 wen0801 6940次阅读 11-28

Android 2018 最新面试题(3-5年经验面试经历)

APP打开 u013651026 3779次阅读 03-31

2019届应届毕业生秋招总结

APP打开 qq_29375837 1158次阅读 09-09

Android2018-2019之BAT等大厂必问技术面试题

APP打开 qXing123456789 1960次阅读 10-17

阿里巴巴Android面试题

APP打开 itchenlin 3181次阅读 06-20

2018北京3月份java面试题(3~5年工作经验)

APP打开 u010694428 3038次阅读 03-27

java3年到5年工作经验面试题整理

APP打开 c13581357368 390次阅读 04-02

3到5年工作经验是如何回答面试中被问到的Java集合框架问题

APP打开 sujin_ 7517次阅读 09-21

2013年2月,5年C++开发者找工作经历

APP打开 lotusdeng2010 1996次阅读 02-25

2018Android面试题解

APP打开 sinat_35816092 504次阅读 10-09

Android面试题整理

APP打开 sinat_32194985 236次阅读 05-23

Android-BAT面试题整理(java篇,含答案)

APP打开 hengqiaqia 2628次阅读 03-29

Android面试题-基础题(18题)

APP打开 feather_wch 816次阅读 07-20

史上最全Java面试题(带全部答案)

APP打开 linzhiqiang0316 22.6万次阅读 05-27

Java高级程序员(5年左右)面试的题目集

APP打开 fangqun663775 4.1万次阅读 06-23

Android面试之高级篇

APP打开 qq_35114086 7223次阅读 11-20

一个老鸟发的公司内部整理的 Android 学习路线图

APP打开 lixuce1234 3.8万次阅读 09-12

2017-11-7java(3-4年)面试中遇到的面试题

APP打开 yy251066394 1.3万次阅读 11-07

我的JAVA面试经验(5年左右工作经验)

APP打开 javaMare 1244次阅读 10-10

3年Java后端开发面试题总结

APP打开 banjuer 1813次阅读 04-11

三年java经验面试总结

APP打开 u010664947 2.2万次阅读 11-13

2018年Android面试题整理

APP打开 YECrazy 8786次阅读 03-08

Android 面试题(有详细答案)

APP打开 u012602304 197次阅读 01-25

2018年Android面试遇到的问题整理

APP打开 jdfkldjlkjdl 5072次阅读 03-10

Android 面试题总结2018(一)

APP打开 jinmie0193 743次阅读 08-22

阿里巴巴android高级面试经历

APP打开 jiabailong 1.4万次阅读 03-05

MTK平台安卓手机性能测试方法

APP打开 memoryjs 9107次阅读 04-18

忘记Oracle数据库管理员密码的解决办法

APP打开 llxsharp 11904次阅读 02-13

QT选择目录等常用文件/文件夹操作

APP打开 u011430225 12094次阅读 01-09

thymeleaf模板实现html5标签的非严格检查

APP打开 Luck_ZZ 14500次阅读 02-24

将Excel文件导入数据库(POI+Excel+MySQL+jsp页面导入)第一次优化

APP打开 meng564764406 10845次阅读 09-05

人脸检测工具face_recognition的安装与应用

APP打开 roguesir 39187次阅读 08-11

ThreadLocal的设计理念与作用

APP打开 u011860731 32047次阅读 09-25

linux上安装Docker(非常简单的安装方法)

APP打开 qq_36892341 148605次阅读 06-29

plsql的命令(command)窗口与sql窗口有什么区别20170620

APP打开 Ape55 18276次阅读 06-21

Selenium Webdriver重新使用已打开的浏览器实例

APP打开 wwwqjpcom 28771次阅读 04-24

python图片处理类之~PIL.Image模块(ios android icon图标自动生成处理)

APP打开 themagickeyjianan 27237次阅读 08-31

强连通分量及缩点tarjan算法解析

APP打开 qq574857122 397570次阅读 11-16

iText和flying saucer结合生成pdf的技术

APP打开 jimmy609 19720次阅读 10-15

如何生成OBB(OrientedboundingBox)方向包围盒

APP打开 u013512448 4466次阅读 09-13

连续特征离散化和归一化

APP打开 hero_fantao 12732次阅读 06-25

file_get_contents 得到https类型url失败的方法

APP打开 terry_water 8327次阅读 09-18

WEB-INF下的jsp文件如何访问css和js文件

APP打开 gsycwh 15935次阅读 08-02

ArcGIS VS QGIS——两者之间的27点比较上篇(译)

APP打开 hanminaaa 11943次阅读 09-14

JAVA结合testng断言verify(断言失败不中断继续执行)

APP打开 nicolas_li 6286次阅读 02-23

DirectX修复工具增强版

APP打开 VBcom


你可能感兴趣的:(Android2017-2018最新面试题)