设计模式之美
王争
前 Google 工程师,《数据结构与算法之美》专栏作者
123426 人已学习
新⼈⾸单¥98
登录后,你可以任选6讲全文学习
课程目录
已完结/共 113 讲
设计模式与范式:行为型 (18讲)
设计模式之美
15
15
1.0x
00:00/00:00
登录|注册

加餐九 | 作为面试官或候选人,如何面试或回答设计模式问题?

课堂讨论
作为候选人,如何回答设计模式问题?
作为面试官,如何面试设计模式问题?
面试设计模式问题

该思维导图由 AI 生成,仅供参考

加餐六中,我们讲到,对于程序员的编程能力,我们一般从数据结构和算法、设计模式这两个方面来考察。加餐六重点讲到了如何考察数据结构和算法,今天,我们重点讲讲,如何考察设计模式。
除此之外,很多人反映,在面试中被问到设计模式问题的时候,一般都没有什么思路,基本都是想到哪说到哪。今天,我就总结一下回答设计模式相关面试题的一些套路,希望能让你在今后的面试中有章可循。
话不多说,让我们正式开始今天的内容吧!

作为面试官,如何面试设计模式问题?

有些面试官喜欢让候选人手写常用的设计模式,比如单例模式、工厂模式,以此来考察候选人对设计模式的掌握程度。实际上,对于比较常用的设计模式,盲写的要求并不过分,毕竟在开发中,徒手写个单例模式、工厂模式,也是常有的事情。
不过,这种偏向记忆的面试题目,实际上是一种应试考试的面试方式。一方面,它没有区分度,另一方面,候选人容易突击准备。这往往考察不出候选人真正的代码设计和实现能力。我们学习设计模式的初衷是提高代码质量。学习设计模式的重点,是掌握应用场景、能解决哪些问题,而非记忆定义、代码实现。所以,我面试时有个原则,不直接问记忆性问题和过于理论性问题。
筛选候选人就是筛选将来与你共事的人。我们面试的最终目的,还是希望能在短短的 1 小时内,粗略地看出候选人在今后工作中的表现。相对应的,在面试中考察候选人设计模式相关的知识,是看他在今后的项目中,能否写出易读、易扩展、易维护的高质量代码。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

面试中设计模式问题的回答技巧 在面试中,设计模式问题是程序员面试中的重要考察点之一。本文从面试官和候选人两个角度出发,分别探讨了如何面试或回答设计模式问题。面试官在考察候选人设计模式能力时,强调了真实项目考察的重要性,提出了两种面试思路:给候选人一个功能需求,让其进行代码设计和实现,然后讨论代码质量;或者给候选人一段有质量问题的代码,让其进行Code Review和代码重构。同时,强调了面试过程中的交流和引导的重要性,以更准确地反映候选人的技术实力。而作为候选人,面对设计模式问题,需要根据面试官的要求灵活应对,突击复习常用设计模式的代码实现,同时在面试中展现沟通能力和代码演进思维。总的来说,本文为读者提供了面试中设计模式问题的回答技巧,既有助于面试官更准确地考察候选人的能力,也为候选人提供了应对面试问题的思路。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《设计模式之美》
新⼈⾸单¥98
立即购买
登录 后留言

全部留言(9)

  • 最新
  • 精选
  • 单例模式问的挺多的,懒汉式,饿汉式,枚举式,内部类,各种实现方式侃一通,再讲讲双重校验+syn+volatile的方式,其中volatile解决了什么问题,再延伸到并发编程的定义及三大特性,线程安全的四个级别,syn和volatile分别包含的特性,判断是否属于并发环境的先发先行原则,在延伸到java实现的散列表,hashmap和hashtable,concurrentHashmap之间的对锁使用上的区别,讲讲他们分别是线程安全的哪个级别,是不是真的绝对安全以及会出现问题的情况.......一般讲到一半,面试官一般就不会再问了
    2020-07-08
    4
    43
  • 西门吹牛
    有些面试官,在面试的时候,拿着笔记本电脑,在网上搜题,搜到啥问啥,我被面过的设计模式,基本都是让说下你懂的设计模式,单例居多,然后应用场景,有时候真感觉面试官的问题,他们也不是很懂
    2020-07-08
    3
    17
  • 强哥
    遇到过让画出常用到的设计模式uml,然后再讲下怎么具体使用的
    2020-07-08
    1
    9
  • Geek_3b1096
    项目中用了哪些设计模式
    2020-07-08
    1
    6
  • J.Smile
    比如有的是问装饰器模式和代理模式的区别?有的问职责链模式和代理模式的区别?,如果这样是不是还可以问装饰器模式和职责链模式的区别呢?
    2020-07-08
    5
  • Jxin
    1.至今没碰到过写功能代码的面试。 2.请手写一个单例模式...
    2020-07-08
    2
    4
  • Alex
    学习了,以后加强这方面的训练
    2021-04-23
    2
  • Geek_c0cc9c
    喜欢第二种面试方式,因为我记性不好。
    2021-03-04
    2
  • 微末凡尘
    设计模式也是一个常见的面试问题了,常见的设计模式需要了解,比如工厂模式,单例模式,策略模式,模板方法模式,门面模式等等
    2020-07-17
    1
收起评论
显示
设置
留言
9
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部