一个关于手机软件架构的故事

曾经有那么两个月,公司因业务扩展,迫切需要招聘新人,我有幸地参与到手机软件招聘的队伍中,与前来应聘者互相切磋手机软件平台的架构设计。每一次对话,我都能从中学到很多自己未曾经历过的宝贵的经验,也帮着公司和个人促成了不少“姻缘”。

在众多的面试者中,有一个小伙子最让我“刻骨铭心”。他做了两年的手机应用软件开发,简历上的内容却略显“苍白”。我们之间进行了这么一段对话:

面试者:从简历上看,你做了两年的软件开发,为什么只涉及一个alarm(闹钟)模块呢?

应聘者:我就是在做一个alarm。

面试者:一直做alarm?(很吃惊的样子)

应聘者:对!(语气很肯定)

面试者:那你都做些什么呢?(迫切想知道)

应聘者:bug很多,其他模块的人总是改我的alarm,说是我的alarm影响了call的铃声,还说我的alarm影响了multimedia的播放。只要有声音的bug,他们就改我的alarm。他们的bug改好了,我的bug又冒出来了……(看似满肚子的委屈)

至此,我明白了几分,这个应聘的小伙子是无辜的,我很同情他。这一切都是手机声音资源冲突惹的祸!

小伙子的话让我铭记在心,看似一个小小的手机,其软件复杂度不可小觑。应用程序和资源冲突的管理是手机软件架构设计中至关重要的一部分。一个合理的软件平台架构在设计上应该遵循一定的原则!