安卓应用开发书籍!网易云的朋友给我这份339页的Android面经,全套教学资料
作者:互联网
不是安卓不行了,是你跟不上了
我的很多读者都在反馈说,现在一个岗位可以收到的简历数,是前几年的几倍。我们必须承认,僧多粥少就是 Android 行业的现状,别说初中级工程师,就是高级工程师也是一抓一大把。企业招人的眼光也越来越高,如果你没点“真东西”,是真的挺难的。
前几天和一位 Android 前辈聊天,他说面试中很多工程师,对特别基础的问题都停留在“使用过”或者“听说过”。没有深入到技术细节里,在竞争激烈的市场中就只能被淘汰。
下面这些,是他提到的几个问题,你能快速回答上么?
- SoftReference(软引用)在内存不足时会被虚拟机回收,那它会不会导致 OOM?
- Android 的 Touch 事件中 CANCEL 事件是如何产生的?哪些场景下会发生 CANCEL 事件?
- Handler 中的 Looper 无限循环,为什么没有阻塞UI主线程?
- 你在简历中写“精通多线程”,那么:线程中自己的“工作内存”指的是什么? 为什么阿里开发规范中不允许使用 Executors 创建线程池?
你一定想说“面试造火箭,工作拧螺丝”。实际上,你的答案反映了你对技术理解的深度,以及解决问题的能力。
听起来很套路,但企业需要的是能对自己提交代码负责、对使用每一个工具负责的「高级/资深 Android 开发」。
二.面试流程
- 自我介绍
- 面试官根据你的介绍开始问
- 你对我们公司有什么想了解的么(复活卡,要时回到没有了也就没有了,可以让面试官给自己提一下建议)
三.面试题回忆,没有先后顺序
1.项目架构,组件化架构(他反而没问插件化)
2. Android 事件分发机制(问到源码调用细节)
3.反射怎么调用一个类的私有方法(这里也是问细节,2个方法的区别)
Method method=clazz.getDeclaredMethod(name);//可以调用本类中的所有方法(不包括父类中继承的方法)
Method method=clazz.getMethod(name); //可以调用类中有访问权限的方法(包括父类中继承的方法)
4.怎么监听Activity的生命周期
可能大部分想到的时候自己写个 BaseActivity 就搞定了
其实是在 Application 里面注册一个监听回调的事情
this.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {}
@Override
public void onActivityStarted(Activity activity) {}
@Override
public void onActivityResumed(Activity activity) { }
@Override
public void onActivityPaused(Activity activity) { }
@Override
public void onActivityStopped(Activity activity) { }
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) { }
@Override
public void onActivityDestroyed(Activity activity) {}
});
5.RxJava,RxAndroid 是否用过,用过的话估计会问原理
6.图片缓存框架,用过哪个,原理(这一关想过一定要用透一个)
- ImageLoader(不用考虑了)
- Picasso
- Glide
- Fresco
7.网络请求框架用过哪个(OkHttp, Retrofit, Volley)
这里他想听到的是 OkGo(基于 OkHttp 封装的一个框架)
8.有个业务里面有20几个嵌套的 if else,从设计模式的角度怎么解决这个问题?
他考的是策略模式+工厂模式
9.HashMap,HashTable,HashSet什么区别?
四.总结
1.这是很有指导意义的一次面试,面试的内容确实比较符合现在对高级Android工程师的要求。
2.问的内容比较关注细节,这种要是没有深入了解几乎不知道。
3.面试其实是一个学习成长的过程,找几家公司练练手,然后找到套路之后对症下药。
如果你进阶的路上缺乏方向,可以点击我的【Github】加入我们的圈子和安卓开发者们一起学习交流!
以下全部内容都可以在GitHub中获取!
-
Android进阶学习全套手册
-
Android对标阿里P7学习视频
-
BATJ大厂Android高频面试题
最后,借用我最喜欢的乔布斯语录,作为本文的结尾:
人这一辈子没法做太多的事情,所以每一件都要做得精彩绝伦。
你的时间有限,所以不要为别人而活。不要被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。
最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。
标签:339,安卓,activity,public,教学资料,Activity,Override,Android,void 来源: https://www.cnblogs.com/aadsa1204/p/14432832.html