博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
美团Android开发工程师岗位职能要求,知乎上已获万赞
阅读量:4151 次
发布时间:2019-05-25

本文共 1805 字,大约阅读时间需要 6 分钟。

本专栏专注分享大型Bat面试知识,后续会持续更新,喜欢的话麻烦点击一个关注

面试官: 组件化如何实现,组件化与插件化的差别在哪里,该怎么选型

心理分析:面试官从架构层次 了解求职者是否用过 模块化 组件化 和插件化,在过去经验有没有运用过这些技术到项目中,这道题属于一个连环炮。求职者该格外小心
**求职者:**应该从App开发的需求来定义技术选型,分别说说模块化,组件化 插件化的优势和区别

先上一份面试资料目录

二.面试流程

  • 自我介绍
  • 面试官根据你的介绍开始问
  • 你对我们公司有什么想了解的么(复活卡,要时回到没有了也就没有了,可以让面试官给自己提一下建议)

三.面试题回忆,没有先后顺序

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),里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

转载地址:http://njoti.baihongyu.com/

你可能感兴趣的文章
MySQL 存储过程或者函数中传参数实现where id in(1,2,3,...)IN条件拼接
查看>>
java反编译
查看>>
Class.forName( )你搞懂了吗?——转
查看>>
jarFile
查看>>
EJB3.0定时发送jms(发布/定阅)方式
查看>>
EJB与JAVA BEAN_J2EE的异步消息机制
查看>>
数学等于号是=那三个横杠是什么符
查看>>
HTTP协议详解
查看>>
java多线程中的join方法详解
查看>>
ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源
查看>>
java abstract修饰符
查看>>
数组分为两部分,使得其和相差最小
查看>>
java抽象类和接口
查看>>
有趣的排序——百度2017春招
查看>>
二叉树的最近公共祖先LCA
查看>>
数组中累加和为定值K的最长子数组长度
查看>>
素数对--腾讯2017校招编程
查看>>
JAVA集合--ArrayList实现原理
查看>>
synchronized与Lock
查看>>
数据库索引
查看>>