/  9
 
软件开发者面试百问
 
想雇到搞软件开发的聪明人可不容易。万一一不小心,就会搞到一堆低能大狒狒。去年就碰到这种事了。你肯定不想这样吧。听我的,没错。在树上开站立会议门都没有。
 
问点有难度的问题能帮你把聪明人跟狒狒们分开。我决定把我自己整理出来的软件开发者面试百问发出来,希望能帮到你们的忙。
 
这个列表涵盖了软件工程知识体系中定义的大多数知识域。当然,如果你只想找出类拔萃的程序员,便只需涉及结构算法数据结构测试这几个话题。如果想雇架构师,可以只考虑需求、功能设计、技术设计这些地方。
 
不过不管你怎么做,都要牢记一点:这里大多数问题的答案都没有对错之分!
 
你可以把我的这些问题作为引子,展开讨论。例如下面有个问题是使用静态方法或是单例的缘由。如果那个面试的就此展开长篇大论,那他很有可能是个聪明能干的家伙!如果他一脸茫然的看着你,发出这种声音,很明显这就是只狒狒了。同样,想知道一个数是不是
2
的乘方也有很多方法,不过要是面试的人想用
mod
运算符,嗯……你知道我的意思吧。(你不知道也没关系,来根香蕉?)
需求
 
你能给出一些非功能性(或者质量)需求的例子么?
 
如果客户需要高性能、使用极其方便而又高度安全,你会给他什么建议?
 
你能给出一些用来描述需求的不同技术么?它们各自适用于什么场景?
 
 
需求跟踪是什么意思?什么是向前追溯,什么是向后追溯?
 
你喜欢用什么工具跟踪需求?
 
你怎么看待需求变化?它是好是坏?给出你的理由。
 
你怎样研究需求,发现需求?有哪些资源可以用到?
 
你怎么给需求制定优先级?有哪些技术?
 
在需求过程中,用户、客户、开发人员各自的职责是什么?
 
你怎么对待不完整或是令人费解的需求?
 
在功能设计中有哪些隐喻?给出几个成功的例子。
 
如果有些功能的
执行时间
很长,怎么能
用户
感觉
不到
长的
待?
 
如果用户
必须
要在一个很小的
一个
常常
的列表中
选择
多个
条目
,你会用什么
件?
 
有哪些方法可以
保证
数据
的完整?
 
建立系
统原型
有哪些技术?
 
用程序怎样建立对用户
为的
预期
?给出一些例子。
 
 
何入手
设计一
数量
大而又
复杂
性,你能
出一些设计思
路吗
 
有一个列表,其中有
10
元素
元素
都有
20
字段
可以
编辑
,你怎样设计这
情况
?如果是
1000
元素
元素
3
字段呢
 
用不同的
颜色
对一
段文本
中的
文字标
记高
,这种做法有什么问题?
Web
环境和
Windows
环境
各有些什么
制?
 
什么是低
耦合和
聚合
封装原则
又是什么意思?
 
Web
用中,你怎样
避免
几个人
编辑
同一
数据
所造
成的
冲突
 
你知道设计
模式吗
?你用过哪些设计
模式
?在什么场
下用的?
 
了解什么是
无状
态的
业务层
?长事
何与
 
建一个架构,或是技术设计
,你用过几种
 
N
架构中都有哪些
?它们各自的职责是什么?
 
有哪些方法可以
确保
架构中数据的
正确和健壮
 
面向对
设计
面向
件设计有哪些不同之
 
怎样在数据
中对用户
授权
、用户
配置
权限
管理这几
功能建

Share & Embed

More from this user

Add a Comment

Characters: ...