想提高开发效率的必看!总结2020年最全180道Android岗面试题,面试必问

235 阅读4分钟

一,鸿蒙核心内容掌握程度

看看下面这些鸿蒙知识点你掌握了多少:

  • 基础环境和开发工具

  • 开发工具安装

  • 运行开发工具完成基础配置DevEco Studio

  • 运行第一个hello world 

  • 运行第一个页面

  • 通过代码创建页面 Feature Ability

  • 编程实现页面跳转

市面上的鸿蒙教程大多仅限于理论知识讲解,很少有具体的实现方案案例.在这里小编给大家分享 一份《全面最全最系统的鸿蒙学习笔记》 笔记带你2个礼拜吃透鸿蒙技术开发里的核心原理问题及解决方案,有需要这份鸿蒙学习笔记的朋友看文末有免费的获取方式!

二.面试流程

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

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

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.面试其实是一个学习成长的过程,找几家公司练练手,然后找到套路之后对症下药。

要如何成为Android架构师?

搭建自己的知识框架,全面提升自己的技术体系,并且往底层源码方向深入钻研。 大多数技术人喜欢用思维脑图来构建自己的知识体系,一目了然。这里给大家分享一份大厂主流的Android架构师技术体系,可以用来搭建自己的知识框架,或者查漏补缺;

对应这份技术大纲,我也整理了一套Android高级架构师完整系列的视频教程,主要针对3-5年Android开发经验以上,需要往高级架构师层次学习提升的同学,在这里点击GitHub免费分享,希望能帮你突破瓶颈,跳槽进大厂;

最后我必须强调几点:

1.搭建知识框架可不是说你整理好要学习的知识顺序,然后看一遍理解了能复制粘贴就够了,大多都是需要你自己读懂源码和原理,能自己手写出来的。 2.学习的时候你一定要多看多练几遍,把知识才吃透,还要记笔记,这些很重要! 最后你达到什么水平取决你消化了多少知识 3.最终你的知识框架应该是一个完善的,兼顾广度和深度的技术体系。然后经过多次项目实战积累经验,你才能达到高级架构师的层次。

你只需要按照在这个大的框架去填充自己,年薪40W一定不是终点,技术无止境