阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

面试官一问就懵的设计模式题,是时候怼回去了 | 极客时间

  • 2019-11-05
  • 本文字数:2557 字

    阅读完需:约 8 分钟

面试官一问就懵的设计模式题,是时候怼回去了 | 极客时间

我是王争,《数据结构与算法之美》专栏的作者。还记得写算法专栏之初,我就为自己立下 Flag,要做一个跟所有国内、国外经典书籍都不一样、可以长期影响一些人的专栏。从大家的反馈看,我也确实做到了。截止到目前,专栏已有近 70000 订阅了。


精心打磨 8 个月,我又为你带来了一个新专栏《设计模式之美》


如果说数据结构和算法是教你如何写出高效的代码,那设计模式讲的就是如何写出可扩展、可读、可维护的高质量代码。所以,设计模式与编码密切相关,可以直接提高你的开发能力,是实打实的硬核技能。


这也是我推荐你好好学“设计模式”的原因。再具体一点说,主要有以下几点:


  • 设计模式是求职面试中的高频问题,特别是像 BAT、TMD 这样的大公司,更加重视候选人的基本功。不想在面试时凉凉,对这种大概率被问到的考题,就要做好万全准备。

  • 代码是衡量程序员基础素养的直接标准——你的代码就是你名片。代码写得好,才能在团队中脱颖而出,获得更大的发展空间。

  • 工作中少不了会遇到稍复杂的代码设计和开发。该如何分层、分模块?怎么划分类?怎么设计类之间的交互?用继承还是组合,接口还是抽象类?怎样做到解耦、高内聚低耦合?该用单例模式还是静态方法?要解决这些问题,要求你对设计模式的相关知识有深入地了解和积累。

  • 优秀的开源项目、框架、中间件,代码量、类的个数都比较多,类结构、类之间的关系极其复杂,会频繁做调用。只有真正理解了设计模式、思想和原则,才能快速参透作者的设计思路,无论是读源码、还是学框架,都可以做到事半功倍。


其实,和很多工程师一样,我也读过一些讲设计模式的相关书籍,学到了很多编程技巧和提高代码质量的方法。但我发现,这些书大多偏重理论讲解,而且举例过于生活化,脱离了真实的软件开发,读过后仍然不清楚如何将理论落地到实际的项目编码中。


从我的经验来看,最有效、快速提高编码能力的方法是,找一个比你资深的工程师,手把手指导你写代码。但绝大多数人,很难有这样的机会。


所以,我力求将《设计模式之美》打造成市面上最实用的设计模式课——不同于市面上的任何一类学习资料,完全使用真实项目的代码讲解,不仅学起来有趣轻松,而且紧贴真实开发场景,可以真正提升你的代码能力,让编程内功转化为直接的开发生产力

我是谁?

我是王争,《数据结构与算法之美》作者,前 Google 工程师,从事 Google 翻译、知识图谱等相关系统的开发。曾任某金融公司核心系统资深系统架构师,负责公司核心业务的架构设计和开发工作。我干过架构、做过产品、带过团队、创过业,最后发现还是喜欢写代码。工作十多年,始终没有脱离编码第一线。

我是如何设计这个专栏的?

100 多篇文章、50 万字、2 万多行代码


整个专栏共 100 多篇文章,平均每篇 5000 字左右,总计 50 万字。之所以会有这么长的篇幅,是因为我想把设计模式的相关知识点,都系统、全面地一次性讲透。让你看完专栏,就能搞清楚所有跟写高质量代码相关的知识点。


除此之外,为了避免空洞讲理论,专栏里的每篇文章都有 200 多行代码,整个专栏累计有 2 万多行代码,都来自我这十几年积累的真实项目,而非凭空编造出来的没有太多实际意义的代码。


我个人写 Java 代码比较多,所以,专栏中的代码我是用 Java 语言实现的。但是,专栏内容的讲解并不与具体的编程语言挂勾。只要你有一点编程基础,不管你熟悉哪种编程语言,都可以看懂我写的代码,理解代码背后的设计思想。


200 +真实项目实战代码案例剖析


大部分设计原则、思想和模式理解起来并不难,难的是如何将这些理论应用到实际开发中。但在日常工作中,我们很难碰到足够复杂、有难度的开发场景去实践这些理论,大多是基于已有的框架,照着别人的流程,扩展新的功能模块。


基于这种考虑,我结合自己过去工作中积累的项目经验,精心设计了 200 多个真实的项目实战代码案例,每节课、每个知识点都会结合一个完整的开发案例来讲解。我敢说,跟着我把这 200 多个开发案例练下来,不愁代码能力提高不了。


8 个月、240 天手把手编程指导


对于理论解读,我会更多地融入自己的思考和理解。或许我的解读跟大师的不完全一样,但我可以自成一体,并告诉你如何落地指导具体的开发、编码。


另外,针对每一种设计原则、思想或模式,我还会讲一些更本质且有用的东西,比如,“为什么要有这种设计原则、思想或者模式?能解决什么编程问题?有哪些应用场景?该如何权衡、恰当地在项目中应用?”等等。


每个实战案例的讲解,我都会从最原始的问题代码出发,告诉你缺陷在哪里,如何通过设计原则、思想、模式来优化,让你了解其设计背后的来龙去脉。这样,你才会跟着我的节奏主动思考,对你的逻辑思维训练也很有帮助。


虽然没法坐在你面前,但我力争让你在看或听专栏时,就像我跟你面对面讨论分析一样。整个专栏更新完要 240 多天,相当于我手把手指导你写代码 8 个月,希望把我十几年的积累统统传授给你。


100 多个有深度的课堂讨论、头脑风暴


我们知道,设计问题本来就没有标准答案。 所以,不要轻信一家之言,也不要盲目追从任何一位专家、大师的说法。主动思考,积极讨论,比单纯地被动接受,学习效果要好十倍、百倍。


所以,在每节课的最后,我都设计了 1~2 道课堂讨论题,有些是代码设计相关的开放性问题,有些是具体的代码优化问题。看过我《数据结构与算法之美》专栏的小伙伴们都知道,回答专栏思考题的留言,有时比专栏文章还要精彩,非常具有启发性。


在学完专栏后花个 5 分钟、10 分钟回答思考题,不仅有助于吸收知识,还能锻炼你的思考能力。


《设计模式之美》上线仅 1 天,超过 8000 人已加入学习。


早鸟 + 优惠口令「521design」,到手价 ¥114,即将恢复原价 ¥199戳此订阅

学完专栏,你将获得:

  • 23 种设计模式与范式实战精讲;

  • 200+真实案例分析设计与实现;

  • 顶尖互联网公司的编程经验分享;

  • 应对设计模式面试的思路与技巧。

现在订阅有什么福利?

1.早鸟优惠 ¥129,原价 ¥199。


结算时,输入优惠口令「521design」再减 ¥15,到手仅 ¥114,口令仅限【前 500 人】内有效。


2.订阅后生成专属海报,每邀请一位好友订阅,可获 ¥36 返现。成功邀请 3 个人,相当于免费学



在《数据结构与算法之美》的结束语中,我表达过自己的不舍,因为我想分享更多「压箱底」的东西给你。那么,现在是时候了。


优惠口令【 仅限前 500 个名额 】有效。


👉戳此免费试读,或用【优惠口令】以最低价订阅。


2019-11-05 14:582803

评论

发布
暂无评论
发现更多内容

我遇到的真实医疗场景信息化及患者路径

卢嘉敏

需求 分类 医疗 调研 用户

与前端训练营的日子 -- Week16

SamGo

学习

用例(UC,Use Case)

🙃

产品经理 产品经理训练营

APM 行业认知系列 - 十二 - 十三

东风微鸣

APM Trace 可观察性

APM 行业认知系列 - 十四

东风微鸣

APM Trace 可观察性

APM 行业认知系列 - 十七 - 完结篇

东风微鸣

APM Trace 可观察性

某某大龄程序员被字节面试官怒喷“废物”,他得知真相之后都懵了

Java架构之路

Java 程序员 架构 面试 编程语言

币掌柜量化交易机器人系统开发

如何根据「数据范围」调整自己用什么算法 ...

宫水三叶的刷题日记

Java 面试 LeetCode 刷题 数据结构与算法

0 Go语言从入门到精通

xcbeyond

28天写作 Go 语言

Github Action 快速上手指南

Zhendong

Java GitHub

神级!字节2-4大牛出品:分布式技术笔记,让你在分布式的路上如履平地!

Java架构之路

Java 程序员 架构 面试 编程语言

2021版最新!字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

Java架构之路

Java 程序员 架构 面试 编程语言

环信助力中国游戏社交类APP出“东南亚”记!

环信

技术资讯 | BML CodeLab发布重磅更新!!

百度开发者中心

AI 工具软件 #百度#

CNCF:2020年报(摘要)

行人23

cncf

四象齐备,百花含苞:5GtoC繁华图

脑极体

新CEO帕特·基辛格回归 英特尔或将上演创新的“速度与激情”?

E科讯

APM 行业认知系列 - 八 - DevOps 的25个优点

东风微鸣

DevOps APM Trace 可观察性

从CMDB到服务目录

李小腾

云原生 研发效能 生产力 CMDB 配置管理

2020回顾,2021学习目标

叫练

学习 2021年展望 2020年度总结

Supercell还香嘛?

李小腾

腾讯 中台 阿里 Supercell

APM 行业认知系列 - 五

东风微鸣

APM Trace 可观察性

APM 行业认知系列 - 十 - 十一

东风微鸣

DevOps APM Trace 可观察性

APM 行业认知系列 - 十六

东风微鸣

DevOps APM Trace 可观察性

APM 行业认知系列 - 七 - 定义 DevOps 的17种方式

东风微鸣

DevOps APM Trace 可观察性

APM 行业认知系列 - 六

东风微鸣

APM Trace 可观察性

APM 行业认知系列 - 九

东风微鸣

DevOps APM Trace 可观察性

APM 行业认知系列 - 十五

东风微鸣

DevOps APM Trace 可观察性

未来10年的预测与灰犀牛

hong

Linux批量kill进程

富富

awk kill进程

面试官一问就懵的设计模式题,是时候怼回去了 | 极客时间_架构_王争_InfoQ精选文章