84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
ringa_lee
撇开所有的业务场景不考虑,分享一个我之前在内部做的分享文章。远程接口设计经验分享
回到题主的疑问,阿里面试官是否在刷流氓。我作为阿里的一个技术人员,虽然很少做面试官,不过我能打开从这个问题中猜测出当事面试官的主要考察方向。
所以这个技术问题一个开放性的问题,看你的技术知识范围和边界。
1、你可以选择抛开业务场景谈论如何设计一个API甚至一个API的框架,如果一个接口被设计为对外部的接口,那从框架上还要考虑到命名策略、向下兼容方案、用户鉴权、调用流控等技术框架引入。
2、你也可以选择从领域模型进行切分,比如更细粒度的追问业务场景,根据领域划分自己的API设计,并说明清楚你自己的思考。
举个例子:你可以针对面试官的问题,追问场景,并细化到一个具象的领域。这个过程其实也体现了你的思考方式。假设能具象到发布商品接口。发布一个商品,有一个公共的API,这个API兼容的考虑到了大部分商品所需要填写的信息;但如果要发布一个网游的商品,这里面所需要填写的信息肯定和发一个连衣裙存在非常大的差异,请问你什么时候会考虑为这种场景独立一个API,这个度你怎么理解怎么把控。
当然了,还有很多细节上的事情需要体现在你的API设计中。代码毕竟是人写的,接口与接口之间的交互背后其实是团队与团队之间的协作,如何通过一个合理的API提高团队协作的效率,利益边界划分的清晰,形成共赢的局面,是非常讲究的一个过程。
另外,就算这个问题退化为简单的机器与机器交互的性能,也有非常多的关键点要挖。
利益相关声明:我是阿里技术员工
考虑具体业务细节,合理实际API
是指web service还是sdk还得封装的模块还是什么 ..
怎么设计一个API这需要结合业务需求,如一楼说的,没有需求,脱离情景,这是在耍流氓。怎么设计好一个API,这需要长期经验累积(也就是所谓的空谈)。参考: http://blog.jobbole.com/42317/
空谈
update 2016-1-13 10:17:40
面试官就是等你回答:你没跟我说需求,你这是耍流氓
你没跟我说需求,你这是耍流氓
主要是想考察你平时有没有积累和总结吧。面试的时候,可以自己给出场景,自己分析,给出答案。
流氓。。其实他是想问你你之前做API的时候都考虑什么问题呢?
脱离情景问这些简直是耍流氓啊。。
自己问题提的烂还不让人喷...
撇开所有的业务场景不考虑,分享一个我之前在内部做的分享文章。
远程接口设计经验分享
回到题主的疑问,阿里面试官是否在刷流氓。
我作为阿里的一个技术人员,虽然很少做面试官,不过我能打开从这个问题中猜测出当事面试官的主要考察方向。
所以这个技术问题一个开放性的问题,看你的技术知识范围和边界。
1、你可以选择抛开业务场景谈论如何设计一个API甚至一个API的框架,如果一个接口被设计为对外部的接口,那从框架上还要考虑到命名策略、向下兼容方案、用户鉴权、调用流控等技术框架引入。
2、你也可以选择从领域模型进行切分,比如更细粒度的追问业务场景,根据领域划分自己的API设计,并说明清楚你自己的思考。
举个例子:你可以针对面试官的问题,追问场景,并细化到一个具象的领域。这个过程其实也体现了你的思考方式。假设能具象到发布商品接口。发布一个商品,有一个公共的API,这个API兼容的考虑到了大部分商品所需要填写的信息;但如果要发布一个网游的商品,这里面所需要填写的信息肯定和发一个连衣裙存在非常大的差异,请问你什么时候会考虑为这种场景独立一个API,这个度你怎么理解怎么把控。
当然了,还有很多细节上的事情需要体现在你的API设计中。代码毕竟是人写的,接口与接口之间的交互背后其实是团队与团队之间的协作,如何通过一个合理的API提高团队协作的效率,利益边界划分的清晰,形成共赢的局面,是非常讲究的一个过程。
另外,就算这个问题退化为简单的机器与机器交互的性能,也有非常多的关键点要挖。
利益相关声明:我是阿里技术员工
考虑具体业务细节,合理实际API
是指web service还是sdk还得封装的模块还是什么 ..
怎么设计一个API这需要结合业务需求,如一楼说的,没有需求,脱离情景,这是在耍流氓。
怎么设计好一个API,这需要长期经验累积(也就是所谓的
空谈
)。参考: http://blog.jobbole.com/42317/
update 2016-1-13 10:17:40
面试官就是等你回答:
你没跟我说需求,你这是耍流氓
主要是想考察你平时有没有积累和总结吧。面试的时候,可以自己给出场景,自己分析,给出答案。
流氓。。
其实他是想问你你之前做API的时候都考虑什么问题呢?
脱离情景问这些简直是耍流氓啊。。
自己问题提的烂还不让人喷...