《 嵌入式系统设计与实践》一一2.4 延伸阅读

简介: 本节书摘来自华章出版社《 嵌入式系统设计与实践 》一 书中的第2章,第2. 4节,作者:Elecia White 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.4 延伸阅读
本章中讨论了众多设计模式中的一些模式。本书其他部分也会讨论一些设计模式,但是本书是关于嵌入式系统的,而不是关于设计模式的。试着从以下这些资源中选择一个进行进一步研究,以便更多地了解标准的软件设计模式。
Gamma, Erich, Richard Helm, Ralph Johnson和 John Vlissides. 1995. 设计模式: 可复用面向对象软件的基础。Boston: Addison-Wesley. 这是最早的关于设计模式的著作。这本书采用了C++作为参考语言。
Freeman, Elisabeth, Eric Freeman, Bert Bates和 Kathy Sierra. 2004. 《Head First设计模式》。Design Patterns: Cambridge, MA: O扲elly采用Java作为参考语言,这本书用一种引人入胜的方式给出了大量关于设计模式的例子。
在Wikipedia上搜索,“software design pattern”。
面试问题:创建一个架构
描述一下这个(从房间里挑一样东西)会议电话的架构。
试图从面试房间中寻找有意义的东西有一定的不确定性,因为那里通常缺少比较有趣的东西。会议电话通常被选得最多,因为在某些情况下,它是房间里最复杂的系统。另一个比较好的对象就是投影仪。
当问这个问题时,我想知道面试人能否将一个问题分解成小的部分。我想知道他们分解一个对象时的思维过程。总的来说,从输入和输出开始是比较靠谱的选择。对于会议电话,扬声器和显示屏是输出部分,按键和麦克风是输入部分。我期望能看到将这些东西在一张纸上用方框图表示出来。面试人不应该害怕以至于不敢拿起电话来观察其连接部分。这些连接部分也是输入和输出。当他们完成对物理硬件的分解之后,就可以通过问(自己)一些问题来弄清楚每个组件是如何工作的:电源按钮如何工作?软件接口怎样与它连接?麦克风如何工作?对系统其他部分的影响是什么(例如,是否需要模数转换器)?
面试人会因为提到一些好的软件设计实践而得分。从调用最底层的驱动模块到上一个层次的对象是一个比较好的开头。同样,如果能听到一些诸如系统的某些部分会在将来的电话中被复用,并且尽可能将它们封装的说法也是很不错的。
我希望他们可以问一些关于特定功能或者可能设计目标(成本)的问题。但是,他们可以自己决定问题到底详细到什么程度。需要讨论网络吗?我们可以假设这是一个在IP网络上传输声音的电话(VoIP)。要完全跳过这个问题?那么我们可以专注于如何在一个小型数据库或者链表中存储电话号码。当他们能谈论一些他们感兴趣的东西,特别是那些我在其他面试中没有机会问到的问题时,我会感到非常高兴。
我希望能看到对这个系统有个比较好的把握,但是我也不介意面试人选择在某个方面钻研得深入一些。这个问题给出了一定的自由度,让他们可以针对设计电话时如何利用他们的经验提供了一个比较详细的描述。在我提问的时候,我不介意他们承认自己无知的同时谈论一些他们确实知道的东西。
对一个面试者就架构问题进行提问,并不是希望得到完美的技术细节。能够画出一些东西,即使不是非常清晰,也是非常重要的。这个问题的意图是希望能够看到面试人展示其解决问题的热情和高效地表达其思路的能力。

相关文章
|
11月前
|
人工智能 自然语言处理 搜索推荐
GLM-Realtime:智谱推出多模态交互AI模型,融入清唱功能,支持视频和语音交互
GLM-Realtime 是智谱推出的端到端多模态模型,具备低延迟的视频理解与语音交互能力,支持清唱功能、2分钟内容记忆及灵活调用外部工具,适用于多种智能场景。
541 4
GLM-Realtime:智谱推出多模态交互AI模型,融入清唱功能,支持视频和语音交互
|
供应链
拥有2000家门店,他如何晋升为服装界的新宠?
—— iwarm3.0加热组件、碳纳米管膜炎、管状石墨结构体...你看到并不是一款高科技电子产品,这是快鱼服饰在这个冬天推出的黑科技产品 - 智能温控羽绒服。 在竞争激烈的服装行业,快鱼(Fast Fish)将“快时尚”的理念推广至全国,建立2000家门店,覆盖浙江、江苏、上海、广东、北京、辽宁、云南和四川等省市,并先后在杭州、虎门、北京、石狮设立大型物流基地。
3669 74
|
缓存 前端开发 JavaScript
网页中F5刷新与ctrl + F5强制刷新的区别?
网页中F5刷新与ctrl + F5强制刷新的区别?
网页中F5刷新与ctrl + F5强制刷新的区别?
|
JSON API 图形学
Unity 接入高德开放API - 天气查询
Unity 接入高德开放API - 天气查询
843 1
Unity 接入高德开放API - 天气查询
|
机器人 BI 数据处理
伙伴客户案例|阿里云RPA&电讯盈科助力宁夏煤业降本增效——财务场景篇
RPA全称机器人流程自动化(Robotic Process Automation),是一种新兴的“数字劳动力”,可以替代或辅助人完成规则明确的重复性劳动,大幅提升业务流程效率,实现企业业务流程的自动化和智能化,从而降本增效。目前,RPA解决方案的应用场景几乎涵盖了所有行业,包括银行、保险、制造、零售、医疗、物流、电子商务甚至政府和公共机构。
1652 16
伙伴客户案例|阿里云RPA&电讯盈科助力宁夏煤业降本增效——财务场景篇
|
存储 Android开发 iOS开发
三分钟了解Studio One6最新版二十项功能介绍及下载
Studio One是一款音乐编曲软件,是音乐工作者必不可少的创作工具,用于创建、录制、混合和掌握音乐和其他音频。无论你是第一次接触数字音乐工作站(DAW),还是第一次尝试制作属于自己的音乐,Studio One 6都能给你非凡的体验!Studio One 6新功能包括智能模板、乐谱支持歌词,全局视频轨,还有全新的声码器插件。万众期待的2022新版 Studio One 终于来了!在广受好评的5系列基础上,Studio One 6 又将给喜欢创作音乐的爱好者,带来哪些惊喜功能呢?请跟随 Studio One 中文来一探究竟!抢先体验20项全新功能吧!
2397 0
|
存储 机器学习/深度学习 自然语言处理
PyTorch Python API详解大全(持续更新ing...)(上)
PyTorch Python API详解大全(持续更新ing...)
PyTorch Python API详解大全(持续更新ing...)(上)
|
存储 物联网 网络性能优化
一文教你小区如何自建快递柜
共享快递拟收费事件后,国内小区物业开启一波自建快递柜的浪潮,阿里平台快递柜销量暴涨1400%。那么问题来了,企业如何基于阿里云物联网平台快速构建一套高可用的共享快递柜服务?
712 1
一文教你小区如何自建快递柜
|
容灾 弹性计算 关系型数据库
阿里云ECS跨地域整站容灾操作指南
混合云容灾服务(HDR)可以让用户在阿里云上通过非常简单的操作实现ECS应用的异地容灾。HDR有秒级RPO,分钟级RTO,操作简单,演练方便,一键切换能等特性。本文描述了使用HDR实现阿里云上整站跨地域容灾的完整步骤。
7071 0
阿里云ECS跨地域整站容灾操作指南

热门文章

最新文章