小程序FMP优化实录,快来收藏!

前言

我也已经做了好几年开发了,还记得刚出来工作的时候觉得自己很牛逼,现在回想起来也蛮好笑的。懂的越多的时候你才会发现懂的越少。因为如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大。

最近看到很多Android新手问Android学习路线,学习方法啊,如何入门啊,所以我从网上找了一些资料,然后以我的工作经验给大家总结一下,让大家少走弯路,提取一些工作中经常用到的技术。当然,说一千道一万,最重要的还是学以致用,把学过的知识融会贯通。

面试

一面

面试官:先介绍一下自己吧,做过哪些项目,掌握哪些技能

我内心:(简历都有写的,你自己不会看么?只好照着简历里写的说了一遍)
熟悉Android Framework,组件化开发及MVC/MVP/MVVM程序设计框架;熟悉UI/ NDK开发,掌握TCP/IP,HTTP网络通信机制,有OkHttp使用包装经验,熟悉安卓图形处理OpenGL ES机制,有Camera视频开发经验。熟悉国密加密解密算法,有通过OMA访问手机SE,利用SIM卡进行加密解密的经验;有在支持NFC手机上进行读取NFC标签及支付的经验。有前端及后台服务器的开发经验,熟悉开发框架React,Vue,Spring Boot及Mysql数据库。熟练掌握的语言有C++11, Java, Python, Kotlin等,能熟练使用Git,VS Code, Android Studio等工具和开发环境。

面试官:懂的还挺多(这时才低头看我简历)工作经历也挺多的,那说说做的最满意的项目是哪个

我内心:(白眼)
描述了我北京一家公司的社交APP,介绍功能,实现,用到的技术,设计思想等等。

面试官:说一下项目中的性能优化怎么做的

我:首先是启动优化,MultiDex 分包机制,dex分包预加载等等。稳定性–内存优化,流畅–卡顿优化等等,反正我整理的这份一线互联网大厂高频面试知识点资料里关于性能优化的全给他讲了一遍。(文末会无偿分享给大家)

面试官:(有点懵13了,没想到我能讲这么多)内存泄漏,还有哪些检测工具?LeakCanary 的原理知道吧?

答:利用Application#registerActivityLifecycleCallbacks Activity生命周期回调onActivityDestroyed方法通过调用RefWatcher#wather方法来检测对象是否回收,通过removeWeaklyReachableReferences—>gcTrigger.runGc—>removeWeaklyReachableReferences—>heapdumpListener.analyze 三步二次检测来确定内存泄露,最终dump 内存信息来分析到最终显示分析出的泄露信息。

面试官:有点东西啊,来说一说,在5.0以上和4.0加载dex时的方式有什么区别?

不知道

面试官:说说什么是同步屏障,在Android绘制的过程中,掉帧是如何处理的

Android绘制原理,同步屏障,然后发送VSync脉冲信号

面试官:OOM、ANR 异常怎么处理

EZ,我的博客里都有解析的,大家感兴趣可以去我的主页看一下,就不多说了。

面试官:okHttp的原理了解吗?如何对它封装的

答:重试拦截器、桥接拦截器、缓存拦截器、连接拦截器、请求服务拦截器(封装)。每一个拦截器负责的工作不一样,就好像工厂流水线,最终经过这五道工序,就完成了最终的产品。

GreenDao的实现原理

忘记了

Retrofifit实现原理

只记得,Retrofifit 是一个RESTful 的HTTP 网络请求框架的封装。

整个面试大概是有一个半小时,他就简单问几句,中间喝了几次水,期间没有人给我递杯水问到后面我是有点不耐烦了的。

感想

几天后收到了二面的通知,直接拒绝了。一面给我的感觉非常不好。让我讨厌的面试官有以下几点

1、打断别人说话

在回答他提出的问题,我说着说着,他就打断:这个不是这样的,应该是这样的。或者没等我把这个答案说完,就直接顺出了下一个问题。

2、没礼貌

摆着一副架子,好像是我求着要他给我通过面试一样,一个半小时的面试,自己都要喝水,我一直在讲,也没有给我递杯水。面试中途还接了几次电话,把我晾在那里。

3、质疑别人的职业规划,对我的职业规划指手画脚。觉得自己的才是对的

问我为什么离职,我说出了自己的原因,产品方向和公司发展以及个人的一些进阶。然后他竟然怼过来说,一个做技术的在哪里不一样,这方面的东西不应该是你考虑的,做好自己的工作就行了,呵呵,呵呵呵呵。。。我就笑一笑

后来又面了几家公司都不是很满意,最后朋友内推拿了小米数码科技的offer。

感觉现在好多人都在说什么安卓快凉了,工作越来越难找了。又是说什么程序员中年危机啥的,为啥我这年近30的老农根本没有这种感觉,反倒觉得那些贩卖焦虑的都是瞎j8扯谈。当然,职业危机意识确实是要有的,但根本没到那种草木皆兵的地步好吗?

Android凉了都是弱者的借口和说辞。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

最后

岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

最后

想要了解更多关于大厂面试的同学可以**点击这里免费获取《面试文档》**除此之外,我也分享一些免费的优质资源,包括:Android学习PDF+架构视频+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。分享给大家,非常适合近期有面试和想在技术道路上继续精进的朋友。快来获取学习资料吧~

你可能感兴趣的:(程序员,android,移动开发,面试)