一天,风和日丽,小明迎来了人生中的第一次面试;
面试官是个头发稀疏的大叔,从事Android开发9年,既是也是公司的Leader也是一名架构师,有严肃的一面,也有着专业的一面。

(他的差不多发量就这样,千万不要介意,头越秃,技术越强。)
面试开始
面试官:你好,请你做下自我介绍!
小明递过了自己简历:我叫小明,毕业于XXXX大学,今年刚毕业。
面试官撇了撇嘴:明白了,咱们问个简单的问题吧!请你简述一下MVC、MVP、MVVM的定义吧?
小明:MVC的定义是;M:业务逻辑处理。、V:处理数据显示的部分。、C:Activity处理用户交互的问题。
MVP的定义是;M:依然是业务逻辑和实体模型、V:对应于Activity,负责View的绘制以及与用户交互、P: 负责完成View与Model之间的交互。
而MVVM,它是Model-View-ViewModel的缩写,View:对应于Activity和XML,负责View的绘制以及与用户交互,它是不能做任何与业务相关的操作。Model:实体模型,这跟咱们平常定义的Model层是不一样的。ViewModel:负责完成View与Model之间的交互,负责业务逻辑。它不能做任何与UI相关的操作,也就是不能持有任何View的引用。
面试官:很好,书上都回答出来了。那你知道MVC、MVP、MVVP的应用架构模式吗?
小明:emmm,这个就不是很清楚了。
面试官:好的,Android常用的设计模式你熟悉吗?
小明:熟悉,观察者模式、适配器模式、代理模式、工厂模式、单例模式、命令模式。
面试官:我是说的适用场景;
小明:emmm,我不知道了。
于是面试官就说了雷同标题的这句话“你连MVC、MVP、MVVM、设计模式都不清楚,还要我怎么“放水”?”

其实上面模拟这场面试的例子,就发生在很多程序员的面试过程中,大部分朋友都只知道一些基础、书本上记载的知识点,但是对于知识的拓展面却一点也不了解。比如上面说到的Andorid的基本架构模式适用场景和设计模式中Builder模式、使用场景和实战,这些知识都是面试官问的最多的。
无论是大厂、小厂,基础很重要,一些基本的拓展你也要知道。这样帮助你在面试官中留下好印象,顺利拿下offer。
我很喜欢TT老师的一句口头禅。“与其被面试官血虐,不如认真学好,在面试中吊打他,拿下高薪offer”。
几经整理,终于出炉了这份《Android架构+设计模式+源码》笔记,如有需要的朋友
————“点击此处直接获取《Android架构+设计模式+源码》笔记”
目录






内容部分截图
设计模式



架构模式



源码



后话
故事的最后,我猜大家已经想到了。小明的第一次面试以失败告终。原因其实很简单,能掌握基础却没有对技术进行一些简单的拓展是他最大的失败原因。
做程序员,千万不能停止思考。或许一年、两年的差距不大,但是如果隔着3—5年以后,年薪百万的他和年薪不到十万的你。同为程序员, 差距就出来了。
而差距出来,圈子也就形成了。好的圈子能够让你少走弯路,拓宽人脉,拓展思路,学习他人失败和成功的经验,获取最新经验与信息,抱团取暖等!
而差的圈子,只能让你固壁自封,每日生活着压抑与煎熬之中。
所以说,好的圈子+努力决定人生的高度,望谨记!

需要获取《Android架构+设计模式+源码》笔记的朋友
网友评论