V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Gaussen
V2EX  ›  PHP

( PHP )关于面试时如果被问到设计模式,要怎么回答比较好?

  •  
  •   Gaussen · 2019-06-19 18:02:34 +08:00 · 5142 次点击
    这是一个创建于 2021 天前的主题,其中的信息可能已经有所发展或是发生改变。

    正在准备一个面试,虽然自己有近两年的工作经历,不过对于设计模式实在是没什么了解,基本上项目中只遇到过单例和工厂模式,不过这些都是在架构代码中写好的,我实际上并没有写过什么设计模式。

    如果被面试官问到,诸如:你在过往的项目中有使用过哪些设计模式?具体应用于什么场景,有哪些好处?

    这样的问题,大家有没有什么针对性的建议,希望可以指点一下,谢谢!

    11 条回复    2019-06-24 08:56:45 +08:00
    sampeng
        1
    sampeng  
       2019-06-19 18:21:52 +08:00 via iPhone
    不会。没用过
    miaotaizi
        2
    miaotaizi  
       2019-06-19 18:37:21 +08:00 via iPhone
    单利,注册,工厂
    就吹这三个
    ben1024
        3
    ben1024  
       2019-06-19 19:12:32 +08:00
    可以看看 <23 种设计模式><大话设计模式>
    应用中使用就看对开源框架的理解和解决业务中特殊情况更多些
    blue7wings
        4
    blue7wings  
       2019-06-19 20:05:33 +08:00
    像基本的设计模式你是必须要答出来的,比如单例,工厂,如果你是 Laravel 的受害者,你还可以聊一聊反转控制,门面模式,要知道每种模式是怎么实现的,应用场景。
    你不需要知道每种设计模式,你要理解你运用的设计模式。
    Sornets
        5
    Sornets  
       2019-06-20 08:51:55 +08:00
    现在有些面试官,尤其是 PHP 的,不出点刁钻的问题把面试的问到,就像要 4M 一样
    linpf
        6
    linpf  
       2019-06-20 09:25:57 +08:00
    有单例和工厂就足够了。其实面试官可能也就用这两个。
    dyllen
        7
    dyllen  
       2019-06-20 09:37:20 +08:00
    其实吧,这么多模式,如果是写业务代码,很少能遇到需要用到的情况,即使需要用到也就那么几种,其他的模式除非你是写框架的。
    cnoder
        8
    cnoder  
       2019-06-20 09:51:58 +08:00
    那就说见过的咯
    shawndev
        9
    shawndev  
       2019-06-20 10:02:54 +08:00
    单例模式,代理模式,观察者模式,工厂模式,生产者-消费者模式,备忘录模式,适配器模式……差不多想起来这几个。
    sz007
        10
    sz007  
       2019-06-20 11:25:52 +08:00   ❤️ 1
    建议结合自己项目对号入座介绍,这样可以简单介绍,又能深入介绍
    一般也不会把所有设计模式都问一遍,这些出现的概率比较高:

    1.什么是设计模式
    2.如何理解框架
    3.主要设计模式
    4.怎样选择设计模式
    5.单例模式
    6.抽象工厂模式
    7.工厂方法模式
    8.适配器模式
    9.观察者模式
    10.策略模式
    11.OOP 思想
    12.抽象类和接口
    13.控制反转
    14.依赖注入

    参考 https://github.com/colinlet/PHP-Interview-QA/blob/master/docs/09.%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/QA.md

    也要看面试官自己会哪些~~
    we8105
        11
    we8105  
       2019-06-24 08:56:45 +08:00
    @sz007 总结的不错 感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   997 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:59 · PVG 05:59 · LAX 13:59 · JFK 16:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.