灵魂拷问!Android性能优化之APK优化,系列篇

灵魂拷问!Android性能优化之APK优化,系列篇,第1张

概述前言之前老是看着搞Java的朋友炫耀他的核心知识点笔记,真的,我内心毫无波澜,只有一点点酸其实Android开发也有很多知识点,我一直以来就想要一份Android核心知识点笔记来帮助自己查漏补缺,后来想想,近两年大家一直都在说互联网寒冬怎么怎么,还老是谣传Android开发马上要凉了,我想我 前言

之前老是看着搞Java的朋友炫耀他的核心知识点笔记,真的,我内心毫无波澜,只有一点点酸

其实AndroID开发也有很多知识点,我一直以来就想要一份AndroID核心知识点笔记来帮助自己查漏补缺,后来想想,近两年大家一直都在说互联网寒冬怎么怎么,还老是谣传AndroID开发马上要凉了,我想我等不到别人发给我核心笔记了,这种大环境下还可能会有人做吗……

我不能等着别人把资料送上门来

于是乎,今年年初开始,我就开始利用身边的资源(朋友)在下班时间请了一位阿里P8大牛吃了顿饭(我不会告诉你,当时我的内心是多么激动)过了几个月终于拿到了这份来之不易的AndroID开发核心知识点笔记……

这份资料我花了1个月看完了,不得不感叹一句,大牛就是大牛。里面的知识非常系统全面,这份资料一方面可以帮助我们巩固一下知识,一方面还可以有助于知识体系的打造与完善,同时也可以拿出来跟大家一起交流探讨,最后希望能互相学习,共同进步!

1、自我介绍。自我介绍其实是个比较关键的过程,这基本上决定了后续环节将会问哪些问题以及初步给你的评分定位(作为无数候选人的面试官,这一点主观上个人也是如此认为)。自我介绍的要点是重点讲述一两个最近自己主要参与或者负责的项目,着重说明自己承担的角色,所负责角色具体所做的事情,思路一定要清晰。

2、完了之后,基本上面试官会对着其擅长和当前尚未解决的或者心存疑虑的问题进行提问或者说相互沟通、交流。因为面试的是架构师,所以纯粹的技术性问题(比如aop,bean生命周期,jdk基本的并发,常见缓存方式等等)已经没有问了,直接就是针对项目里面的具体架构、业务问题进行深入的讨论。

比如整体架构他会问道为什么我要用F5以及LVS而不是其他的。问到的包括对于性能,如何进行排查,通用的答复(比如说我说先看前台还是后台,前台findBUGs、Chrome f12,后台先看哪台服务器负载高,top、vmstat、sar等等,如果oracle则看awr,MysqL看performance schema。应用服务器的话看Jstack,jprofiler等等)之后,一般会进一步问具体哪些指标等等,基本上如果答复足够清晰的话,一般面试官不会再进一步细问。

讨论到分布式事务回滚的时候,我们沟通到由发起方负责传递分配被发起方ID可实现,服务的可重复执行以及补偿。另一个面试官问道,他要确保缓存中取到的值必须是最新的,要么取不到,我说那就先删除缓存,再插入库,最后插入缓存,就不会有问题,或者用handersocket实现,这样也可以保证没有问题。再然后相互聊了下restful的优势与劣势,Nginx,rpc框架与架构。谈到MQ的时候,因为MQ很早的时候研究过,后来因为公司自己开发了一个定制的MQ,所以基本上不了解各种MQ的差别以及实现机制,直接答复不清楚即可,这一点其实问题不大,每个人总会有弱项的。

最后,一般来说,好像面试官是技术出身的,通常会再问,工作外是否关注新技术,如果答复是的话,通常面试官会进一步问看哪些新技术,哪些论坛的哪些板块,对于具体的新技术,如果面试官有接触的,他会进一步问这个技术的特点、相对于现在的优势。

基本上,技术面试会问六七个左右,一般会从概述性开始,到实现层面具体如何实现都问进行,这一点其实跟面试官很有关系,国外通常认为架构师必须是写代码的,虽然不一定工作中的职责是写代码,但他必须知道如何验证他设计的架构是否合理,而不是脑袋一拍,丢给程序员去自由发挥。

有些公司或者部门招聘架构师或者相对比较高级的开发时,通常面试官是非技术出身或者技术并非其强项的,这个时候面试就不会这个讨论,很大程度上可能围绕着4+1模型去问。如果面试官在DB方面擅长,可能为重点放在数据库设计上。

3、技术面试在2个小时左右结束,随后根据两个面试官出去时的表情可以看出基本上技术面过关了,随后跟两个面试官的主管差不多沟通了半个多小时,最后又跟人事沟通了差不多半个小时,人事答复他们会内部沟通下定级的问题,再行通知我,可以认为基本上搞定了。

4、第二天晚上就收到收到人事的通知了,因为开的薪资不满意,直接拒绝了,并给出了最低要求。人事表示,会和部门再行沟通,又过了2天,人事答复,薪资按我要求进行调整了调整,五一一回来,OFFER就发过来了。

5、补充一点,作为惯例的一部分,技术面、二面、人事面基本都问关于我们公司或者其他方面,你有什么需要了解的或者想问的么,这一点大家就随意了,感觉怎么回答问题都不大,主要还是看自己对候选公司的了解情况或者主观意愿。

最后

针对AndroID程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的AndroID进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

资料领取:点击免费获取Android IOC架构设计

领取获取往期AndroID高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、混合式开发(ReactNative+Weex)全方面的AndroID进阶实践技术,群内还有技术大牛一起讨论交流解决问题。

[外链图片转存中…(img-dGzCEZSj-1621068573135)]

总结

以上是内存溢出为你收集整理的灵魂拷问!Android性能优化之APK优化,系列篇全部内容,希望文章能够帮你解决灵魂拷问!Android性能优化之APK优化,系列篇所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1009555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存