- 论坛徽章:
- 0
|
原帖由 baohuaihuai 于 2007-11-30 11:04 发表 ![]()
最近去一些公司面试有感,经常被问到一些软件设计方面的问题
比如MS会问:假如让你设计IE,notepad你会怎么设计?
再比如某银行会问:银行系统大致是个什么样的?
关于各种软件的设计思想,估计总结起来也无外乎若 ...
这类问题一般都是大单位才会问的, 他们不假设你会在一个位置上做一辈子, 所以想看看你的潜力. 和智力题作用类似. 只是更结合软件开发的系统分析和设计罢了.
问起来也都是选择大家都经常遇到的系统, 也就是说, 若你平时留意的话, 对这些系统的需求, 功能都是有一些了解的.
回答起来, 无外乎几个方面:
1. 开发过程, 如, waterfall, agile, RUP 等等, 用你熟悉的和认为好的.
2. 需求: 大概的需求, 你要说清楚, 主要是核心的部分, features 或 variant 也该提一点
3. Architecture: 如 分层, interpreter, filter, VM 等等 和几种的结合
4. 若当时能想到, 就说一些关键的算法和数据结构, 不过这类问题他们似乎不太看重这部分回答
5. 测试, 怎样测试, 在 architecture 部分就要适当考虑测试.
回答时, 最好选自己熟悉的, 因为他们会根据你的回答, 追问一些细节的问题, 以便弄清楚你是否是有基础还是刚读了新闻所以知道那几个词.
面试是为了区分应试者是 "狼" 还是 "羊", 所以不一定完全是知识或学术上正确的. 所以若想要这份工作, 就要尽力回答好, 而且一般都是没有标准答案的 |
|