700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Android项目开发如何设计整体架构?大牛最佳总结

Android项目开发如何设计整体架构?大牛最佳总结

时间:2021-06-15 01:55:56

相关推荐

Android项目开发如何设计整体架构?大牛最佳总结

前言

金九银十面试季,相信大家肯定急需一套Android面试宝典,今天小编就给大家准备了我珍藏已久的Android高阶面试宝典,一份超级详细的Android面试必备知识点,供大家学习 !

想必每一个安卓程序员都有追求大厂的决心,但是想要进入大厂,我们需要掌握哪些知识点呢?这里,我为大家梳理了一个整体的知识架构。整体包括Java、Android、算法、网络等。希望大家阅读之后,能帮助大家完善与整理自己的知识体系。祝大家面试顺利~~

文末还有给大家分享我整理的Android面试专题及答案可以拿去参考下~

注意,整篇文章是知识点的概括,不包含答案,需要大家多看源码,知识只有自己去探索与发现,才会弥足珍贵!

什么是危机?

感觉周围的人都在危机,甚至包括一些财富、地位都已经很高的人,仍然逃不过焦虑。似乎焦虑就是自然而然的,伴随着每个人的成长。焦虑多了,就开始危机了。

一些感想:我想在这里写一些感想,可能对各年龄段的朋友都有一些帮助。其实很多人真到这个年龄,见识和能力都已经很厉害了,我帮忙总结一下。前段时间有好朋友和我说,感觉随着年龄增长,会有焦虑。因为年龄越大,会发现技能上面并没有比年轻人高太多,体力和精力可能还要差一些。这样的问题迟早大家都会遇到,无论是在职场中工作了很久,还是刚入职场,有些事实,业务应该早一些了解。分享一下我自己的观察和思考,对于所有年龄在增加的企业里的中层,以及未来要成为中层的大家:

1.永远贴近业务

在工作中你会面临一些微妙的选择,是纯做管理,搭团队管人,还是更贴近业务。这两者往往不互斥,但是很多人会不自觉的偏向前者。所以经常看到一些朋友的焦虑,虽然纯做管理相对要轻松一点点(很多时候也未必有多轻松),但是自己的那把剑容易钝。贴近业务是很考验人的,也很累,但是能够让自己始终在一个好的节奏上。

2.注意警惕自己的体制耦合度

所谓体制,在各种地方都存在。比如你在一家大公司里工作,你会发现很多时间其实在处理部门与部门之间的协调、沟通工作,这个比例不低。你在这里的时间越久,越是熟门熟路,知道该从哪些部门争取资源,如何搞定各种各样的关系。但是反过来,你也会让你的体制耦合度不断增加。等某一天你到了另一个地方,会发现自己原本得心应手的工作,对于新的工作价值不大。

3.平台能力

不是个人能力在一个平台上,这个平台会让你具备很多力量。需要明白这些力量未必是自己的能力。你在一个好的平台上能够使用的资源,可能到了另一个相对小的平台上,就用不起来了,这时候自己真实的短板就出来了。我见过一些在大企业工作的朋友,在创业公司时很痛苦,因为感觉自己很多地方都是心有余而力不足。最简单的,招聘工作,你都会发现,原本大平台的品牌背书很强,而现在你的资源要少很多,但是还得做事情。需要持续提升自己的能力,不要被眼前被加成的能力蒙蔽。

4.扎扎实实积累资源

很多人不理解资源的含义,以为认识一些人就是资源。其实你得成为一个网络里的节点,不能是单向的,得是双向的。我见过一些人动不动说和这个人熟那个人熟,什么叫熟呢?如果你请人帮忙,如果你需要找人合作,人家能否信任你?你做过什么事情、有什么积累值得对方信任?这是从内到外的积累,不取决于能说会道,长袖善舞。

5.成为网络中的节点

专业技能是一方面,对于很多人的工作,到一定阶段会发现除了专业技能,年龄的优势在于你能「搞定事情」。这样搞定事情一方面是你能够带领团队搞定,另一方面是能够协调外部各种资源搞定。而且,这种力量不应该完全依赖于你在哪一家公司、哪个职位上工作。比如你们要做一个产品、一个项目,需要各种资源,或者某一天你想找工作,除了猎头外,是不是如果有其他朋友帮你介绍、背书,效果来的更好?你得成为一个网络中的一部分。狭义的说这个网络就是圈子,但是更广义的来说,各种各样的信息网络、协作网络,都是你需要的网络。你要成为这个网络中的节点。

6.熟人之间降低交易

成本熟人可能是朋友,可能是合作伙伴等等,熟人之间做事情,可以降低交易成本(或者说合作成本等等)。长期来说,你需要尽可能降低交易交易成本,让大家能够快速达成共识。这需要你自己重视口碑,作为网络的节点,获得其他节点的背书。为什么别人会信任你?因为你靠谱,或者其他靠谱的人认为你靠谱,所以大家就信了。太侧重短期利益,往往会提升自己这个节点长期的交易成本。

7.注重复利型的积累机会

「复利是指一笔资金除本金产生利息外,在下一个计息周期内,以前各计息周期内产生的利息也计算利息的计息方法。」也就是说,利能生利。有一些机会,你不断往下做的时候,以往的积累,能够成为未来新的资本基础,而不是过去就过去了。这样的机会可能是你的工作本身,也可能是一些小的工作,或者就是业余爱好。例如在网上分享知识和专业经验,往往都是我在各种碎片时间完成的,持续了很多年,这样的事情就产生了复利,做各种事情,都能用在这样的基础上,有更多的人愿意支持。当我做知群的时候,已经自然有一批朋友愿意支持,包括很多公司的高管都愿意提供资源。复利能够让我们做的事情不断增强,时间变成了朋友。

8.讲原则与结善缘

首先在公司里工作,要做好事情,讲原则,这是基础。在这个基础之上,在行业里能够顺手帮忙的,尽量能够帮忙,这是结善缘。因为很多时候你也不知道未来会如何。可能今天别人是找你帮忙,过两年,就变成你要找别人帮忙了。有些人没有意识到这一点,认为自己今天的积累已经足够,但其实如前面所说,很多时候是公司和平台的能力,而不是个人的能力。在这种认识下,一些人甚至会有意为难、做一些损人未必利己的事情,现在可能还觉得挺好,某一天就会吃亏。当然这里有个最基本的点,就是要有原则,在为公司、产品做好事情的前提下去结善缘。

9.要获得帮助的时候,多想想如何对等

以前有一位好友做的很好,他在和其他公司合作的时候,总会说,在这个合作里我们有很多好处,但是不能让对方吃亏,也得多想想如何能够帮到对方。这和前一点结善缘类似,需要强调的是不要短时,每次都只以自己为出点。总是自己有好处才上,总想让别人能帮到自己,给人感觉目的性太强,但是又是单向的。这样下来,很难有持续的积累。其实会发现类似的积累,在某一天都能够反过来帮到自己。

10.避免高估自己的专业或者职业

需要清楚公司真正的核心是什么。很多人会说某某公司是技术驱动的、很多公司是产品驱动的,等等。往往做专业工作的人,容易陷入到一个固定的视角里,认为自己的专业非常重要。做技术的觉得技术最重要,做产品的觉得产品经理最重要,做设计的觉得设计师最重要,等等,其实大家都是整个公司的一个环节。驱动公司前进的,往往是一些更底层的商业驱动力。正确看待自己在公司里的作用和位置,积累在这个方面的能力和资源,并继续核心业务,提升自己。

11.分的清时和势对自己的影响

很多人容易高估自己的能力,而低估时和势对自己的帮助,以至于做职业的决策时产生偏差。有一次和一个兄弟,拉勾的创始人马德龙一起反思,有一个很好的问题:到底是我们在成就这个时代,还是这个时代在成就我们?很多人认为自己做的好是因为自己能力强,但是这是全部原因么?其实很多人是因为在正确的时间点跟上了正确的趋势,或者进入了正确的公司。当然能力肯定不会差,但是要明白很多加成其实来自时和势。如果今天再重复一遍以往做的事,还会如之前一样顺利么?未必。所以有空正确认识这一点。一方面,寻找时和势,让自己顺流而上,另一方面,避免判断错误的时和势,认为参考以往,自己的能力已经足以驾驭。该保守估计的时候要保守,不要因为自己以前能做得好,就认为自己今天一定能做得好。

12.找到一些机会,往往是概率事件

张颖有一次给我们分享了他的早期经历,挺值得借鉴。在投行工作时突然整个机构遇到问题,他被裁员了。面临着巨大的压力,在两个星期的时间,投出了两千份简历,最终他拿到了一个 Offer,后来一路成了投资圈的佼佼者。这里的重点,是两千份简历,拿到一个 Offer,这就足够了。这就是个概率事件,你不需要到处受欢迎,你又不是人民币,你只需要一个机会就足够了。

13.设定合理的期望值

自己的下属现在比自己做的好?曾经认为不如自己的人现在成长速度更快?接受这一点,对自己更好。有朋友动辄就是谁谁谁以前是我的下属,我应该如何如何,言语中总觉得自己高人一等。其实,很多时候只是时间上比人家早一点而已,总有一些人成长速度非常快,把自己放的位置太高,一方面不利于外部的合作,毕竟大家都成长到一定程度了,干嘛要觉得自己比人高?另一方面也给自己太大压力,在后续的求职等等过程中,徒增困扰。

14.在核心业务的基础上扩展自己的能力边界

我自己做过设计师、产品经理、用户增长和市场,所以有时会在不同的圈子里和一些朋友交流。比如一些设计圈里非常资深的朋友,基本上是在各大公司设计这个领域已经做到最高的位置上了,然后聊天的时候会聊些什么呢?不太会聊通常意义上的设计,这些已经默认你能够做好、搞定,或者你能做招到人去做好。大家经常感兴趣的,是听我聊聊线上的用户应该怎么获取、整个大的流量趋势是什么样的、流量的成本结构、如何低成本的推动增长等等。这些话题未必是这个职位的人现在直接负责的,但是为什么大家感兴趣?因为未来很可能用的到。围绕着核心业务,总是有很多机会可以挖掘,而这些机会往往需要的能力是复合型的,越是往前走,越是需要融会贯通。当然一门心思钻一个深的专业领域,同样也可以,只是存在的风险是有可能领域本身不存在了。这在做技术的人当中非常典型。对于大多数人,扩展自己的能力边界,是个好的选择。基于核心业务来有意识的扩展自己的能力边界,很可能今天的收益不是特别明显,但是到了未来某个时候,就会成为你新的竞争力。

15.你的人未必是你的人

一位在大公司做中层的朋友说,我出来可以带一个团队出来。其实大部分时候,很可能带不出来几个人。大家聚在一起,是因为有这个平台作为纽带。人可能是你招的、带的,但是当时人家看重的不仅仅是你,还有这个平台。明白这一点,不要产生错误的认识。如前面所说,大多数时候,我们的能力是建构在平台基础之上的。

16.保持危机感

重点是针对IT和互联网行业的朋友,这个行业最大的特点就是变化。曾经在甲骨文工作是非常好的事,我有朋友聊起来,说他们在美国每次都感觉甲骨文是很舒服的公司,本身也很赚钱,员工的工作和生活也平衡的很好,听起来很理想,这样的公司是能够工作一辈子的地方。但是现实是残酷的,甲骨文也开始裁员,尽管有补偿,但是很多人都会面临巨大的挑战。其实从一开始就要有这个意识,在这个快速变化的领域,每个人都不可避免的会被这些变化裹挟其中。危机感是客观存在的,早点认识到这一点,在心态上做好准备,比有一天危机突然来临要好。正确认识了危机感,才能有动力让自己不断积累,有动力如这篇文章里其他各个点里提到的那样去做。

《设计思想解读开源框架》

第一章、 热修复设计

第一节、 AOT/JIT & dexopt 与 dex2oat

第二节、 热修复设计之 CLASS_ISPREVERIFIED 问题

第三节、热修复设计之热修复原理

第四节、Tinker 的集成与使用(自动补丁包生成)

第二章、 插件化框架设计

第一节、 Class 文件与 Dex 文件的结构解读

第二节、 Android 资源加载机制详解

第三节、 四大组件调用原理

第四节、 so 文件加载机制

第五节、 Android 系统服务实现原理

第三章、 组件化框架设计

第一节、阿里巴巴开源路由框——ARouter 原理分析

第二节、APT 编译时期自动生成代码&动态类加载

第三节、 Java SPI 机制

第四节、 AOP&IOC

第五节、 手写组件化架构

第四章、图片加载框架

第一节、图片加载框架选型

第二节、Glide 原理分析

第三节、手写图片加载框架实战

第五章、网络访问框架设计

第一节、网络通信必备基础

第二节、OkHttp 源码解读

第三节、Retrofit 源码解析

第六章、 RXJava 响应式编程框架设计

第一节、链式调用

第二节、 扩展的观察者模式

第三节、事件变换设计

第四节、Scheduler 线程控制

第七章、 IOC 架构设计

第一节、 依赖注入与控制反转

第二节、ButterKnife 原理上篇、中篇、下篇

第三节、Dagger 架构设计核心解密

第八章、 Android 架构组件 Jetpack

第一节、 LiveData 原理

第二节、 Navigation 如何解决 tabLayout 问题

第三节、 ViewModel 如何感知 View 生命周期及内核原理

第四节、 Room 架构方式方法

第五节、 dataBinding 为什么能够支持 MVVM

第六节、 WorkManager 内核揭秘

第七节、 Lifecycles 生命周期

本文包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

如果需要八份神级学习进阶资料,赶紧戳这里免费领取!

DKdIUC-1618799707206)]

本文包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

[外链图片转存中…(img-RycWuGuH-1618799707208)]

如果需要八份神级学习进阶资料,赶紧戳这里免费领取!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。