其它

mapreduce原理,partion发生在什么阶段

hadoop生态说一说

介绍几种熟悉的设计模式

手写多线程下的单例模式

手写懒汉式单例模式(考虑线程安全)

设计模式: 单例模式(懒汉饿汉) 工厂方法模式 观察者模式 责任链模式

描述一下知道的设计模式,装饰者模式和代理模式的区别

单例模式(双检锁模式)、简单工厂、观察者模式、适配器模式、职责链模式等等

假设一个a类变到b类,那么你用适配器模式怎么完成

决策树算法怎么实现的

单例模式:懒汉式、饿汉式、双重校验锁、静态加载,内部类加载、枚举类加载。保证一个类仅有一个实例,并提供一个访问它的全局访问点。
使用场景:创建对象消耗的资源太多/打开一个窗口

代理模式:为其它对象提供一种代理以控制对这个对象的访问。动态代理和静态代理,什么时候使用动态代理。
使用场景:AOP

适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
使用场景:Android系统版本升级

装饰者模式:动态给类加功能。
使用场景:动态的给一个对象增加功能或者撤销功能

观察者模式:对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并且自动更新。
使用场景:Android button

策略模式:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。
使用场景:算法需要自由切换且屏蔽具体细节

外观模式(门面模式):为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
使用场景:为复杂的子系统提供一个外界访问的接口

命令模式:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。
使用场景:触发-反馈机制

创建者模式:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。
使用场景:相同的方法,不同的执行顺序,产生不同的事件结果时。

工厂方法模式:一个用于创造对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
使用场景:spring框架

抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
使用场景:一个对象族,有相同的约束,比如产生相同数量的男女

责任链模式:使多个对象都有计划处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,593评论 25 709
  • 1. Cookies与Session的区别 结合用户登录中两者的角色去说 因为Http是无状态的, 而有时就需要保...
    lingnanlu阅读 332评论 0 0
  • 这篇文章是前一阵在水木BBS上和别人讨论中偶自己发言的摘编,是偶这几年开发过程完全经验式的总结。完全个人经验,供批...
    功在十驾阅读 391评论 0 1
  • 我的爱情像是凋零的紫玉兰, 在风中无奈地叹息。 我的爱情像是死水的微澜, 等待惊雷闪耀的神奇。 雾雨、冷风、飘荡的...
    凌寒_阅读 371评论 0 0
  • 小时候我以为你很美丽,领着一群小鸟飞来飞去。小时候我以为你很神气,说上一句话也惊天动地。长大后我就成了你,才知道那...
    _荷包蛋_阅读 875评论 2 1