2017-2018最新安卓脸书版权声明:本文为博主原创文章,未经博主允许不得转载。
原文链接: http://blog.csdn.net/huangqi Li 1314/article/details/72792682
你好。 在向大家讲述自己的面试经验和遇到的面试问题之前,先说几句闲话。
我接触安卓已经三年了,但我在工作中遇到难题时总是在网上(csdnajdgz博客、堆栈概述等)搜索答案。 感谢ajdgz大神一直分享自己的经验,帮助需要帮助的人们。 但是,现在自己想想,自己也想分享面临的问题的解决方案,帮助有需要的人。
随着时间的推移,很多人都说网络这个部分越来越不顺了。 因为烧钱的时代过去了,剩下的是根基稳固的大企业,独角兽已经不存在了。 这直接关系到网络职场的下降,在本人的职业测量中,也确实如此。
2017.05月,本人离职(此时3年工作经验,深圳就业),开始试水安卓市场,寻求适合自己的、稳定的中大公司。 我投了很多公司的票,但是面试的机会没有我想象的那么多,即时面试过程很顺利,也没有得到报价。 但是,借此机会,我前后会见了10家公司,现在就把我遇到的面试问题,然后提供面试的技巧,给即将面试的同志们。
OK,进入主题,看看安卓的知识地图。
面试不仅仅是问上面的问题。 深入询问聘请中高级安卓开发,然后问一延二。 以下列举几个要点。 这是面试官基本上必须问的问题,所以请一定要知道。
3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/3358 www.Sina.com.Sina.com http://www.Sina.com/与其赶紧发简历,赶去面试,不如沉淀一两天。 再一次以上的内容。 为了确保得到报价,最好了解实现原理,知道使用场景。 不要去背上! 必须理解! 面试官一天都听腻了这些内容,所以最好能说出自己的见解。
问题(固定答案不解答,可以自己找到)的顺序是基于记忆,没有优先顺序,是重点。
基础知识 四大组件(生命周期,使用场景,如何启动)
3358 blog.csdn.net/luos Hengyang/article/details/6689748
java基础 数据结构,线程,mvc框架
(1)管理设置,)2)开始活动标志
3358 blog.csdn.net/code emperor/article/details/50481726
此处的扩展:堆栈(First In Last Out )和队列)之间的差异
通信 网络连接(HttpClient,HttpUrlConnetion),Socket
(1) startService ),(2) bindService ) )。
33558 www.Jian Shu.com/p/2fb6EB 14 fdec
数据持久化 SQLite,SharedPreferences,ContentProvider
(1)静态注册) minifest ),2 )动态注册
33558 www.Jian Shu.com/p/e a5 e 233 d9f 43
在此扩展:在什么情况下动态注册
性能优化 布局优化,内存优化,电量优化
3358 blog.csdn.net/guolin _ blog/article/details/12452307
在此扩展:您在Volley中使用什么请求方式? 2.3之前的http客户端,2.3之后的httpurl连接)
安全 数据加密,代码混淆,WebView/Js调用,https
3358 blog.csdn.net/what day/article/details/38147103
这里的扩展: https的实现原理
UI 动画
须要会)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:如果面试官说,还有什么想问的,千万不要给自己挖坑,说今天自己表现怎样,能不能被录取。要往公司的团队,氛围去问,尽量表现的对公司有兴趣。
如:我想知道公司是否定期有开技术会议,老员工是否会分享自己的一些经验等这些问题。
生活不易,如果有面试官(你将来有一天也会面试别人)看到这篇文章,请放下架子或者偏见,尊重每一位面试者。
最后,我列出以下面试需要注意的几个点。
面带dcdmla,有礼貌,谦逊穿的体面一点,穿拖鞋的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篇,含答案)未完待续