前言说起程序员人们的第一印象就是工资高、加班凶、话少钱多头发少。再加上现在科技互联网公司太吃香,bat、华为小米等公司程序员加班情况被广泛传播,程序员用生命在敲代码的印象刻在了很多人的心里。与其它行业一...

前言
说起程序员人们的第一印象就是工资高、加班凶、话少钱多头发少。再加上现在科技互联网公司太吃香,bat、华为小米等公司程序员加班情况被广泛传播,程序员用生命在敲代码的印象刻在了很多人的心里。
与其它行业一样,凡是有高级和普通,虽然都是敲代码但也有大牛和普通之分,大牛程序员,一个人比一个团队做项目都做得快,最为出名的当属十几年前求伯君在做wps时,一个人完成了微软二十人团队没有完成的项目需求,也让wps在与微软的竞争中站稳了脚跟。程序员的能力差距真的比贫富的差距还要大。
二.面试流程
- 自我介绍
- 面试官根据你的介绍开始问
- 你对我们公司有什么想了解的么(复活卡,要时回到没有了也就没有了,可以让面试官给自己提一下建议)
三.面试题回忆,没有先后顺序
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.面试其实是一个学习成长的过程,找几家公司练练手,然后找到套路之后对症下药。
由于篇幅原因,这份面试宝典已经被整理成了PDF文档,有需要Android面试宝典全套完整文档的麻烦点赞+点击这里即可获取资料免费领取方式!
本文在开源项目:腾讯文档中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
/docs.qq.com/doc/DSkNLaERkbnFoS0ZF),里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
本文标题为:美团Android开发工程师岗位职能要求,知乎上已获万赞


基础教程推荐
- iOS列表上拉(平滑加载数据)自动加载数据的问题解决 2023-07-01
- AndroidStudio4.0日志中文乱码问题 2023-02-26
- IOS开发中使用writeToFile时的注意事项 2023-02-20
- iOS提取APP中的图片资源的方法 2023-04-01
- android中adb命令最全总结 2023-04-11
- iOS触摸事件UITouch应用详解 2023-03-16
- Android Studio打包H5网址页面,封装成APK 2023-05-04
- 使用反射机制控制Toast的显示时间 2022-11-01
- iOS 把图片保存到相册,并获取图片文件名的实例 2023-04-19
- Flutter实现App功能引导页 2022-12-04