锁定老帖子 主题:华为一道有意思有面视题,鸟华为的进
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-04-02
最后修改:2013-04-02
说下重点: 1. 华为本部不招人 2. 华为子公司招人 3. 没有股票,买也不能买 4. 薪水比较低,全看年底奖金 5. 等通知,大概3-4周 6. 当天大雨 差不多就这些。 期间遇到一个面视官,出了一个有意思的问题,和大家分享下。 1. 有两个服务端A和B, 其中B是A的升级版本 2. 有两个客户端A1和B1,其中B1是A1的升级版 3. B中添加了一个方法getC() 4. 如果用B1调用B,这样编译可以通过,并程序正常运行 5. 但客户方现在并不想升级,只想用A1继续调用服务端B(此时服务端要升级到B,不能再调用A鸟),此时肯定会报错(客户比较牛哈) 6. 服务端的代码还可以修改并再次发布为B 7. 现在你是项目经理,你说的算 8. 问能不能解决? 如果不能,怎么解决? 如果能,又该怎么解决? 这个问题看看大家怎么回答,记住,现在你是项目经理,大家听你的。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2013-04-02
客户说想用A1继续调用服务端B,他说怎么样就怎么样,作为实现方,客户提需求,给你解决,至于怎么解决是我的事,关他鸟事啊
|
|
返回顶楼 | |
发表时间:2013-04-02
客户升级A1需要花钱吗?
如果需要 必须忽悠客户买 如果不需要 则忽悠客户修改B的钱 |
|
返回顶楼 | |
发表时间:2013-04-02
elam 写道 客户升级A1需要花钱吗?
如果需要 必须忽悠客户买 如果不需要 则忽悠客户修改B的钱 正解~~只要客户花钱,没有什么解决不鸟的~~ |
|
返回顶楼 | |
发表时间:2013-04-02
B中添加了一个方法getC() 就导致旧版本客户端调用服务端错误,这是添加的什么??
可以在服务端增加判断来区别新旧客户端的调用。 从这个面试题来看,服务端的开发是非常不负责任的,没有考虑到兼容性。 |
|
返回顶楼 | |
发表时间:2013-04-02
在服务端B上加一个适配器,如果是A1调用,先转换成适合B的参数再做调,否刚就直接调用。
|
|
返回顶楼 | |
发表时间:2013-04-02
添加了一个方法结果导致新旧版本不一致这明显是厂商的问题,只要客户懂点的话就绝对不会为新旧版本的兼容性买单的。
最多只能忽悠客户服务端升级的钱,然后答复客户如果要兼容会有什么样的风险(往大了说),如果客户坚决不同意那就做兼容,如果同意那就刚好。 |
|
返回顶楼 | |
发表时间:2013-04-02
dohkoos 写道 B中添加了一个方法getC() 就导致旧版本客户端调用服务端错误,这是添加的什么??
可以在服务端增加判断来区别新旧客户端的调用。 从这个面试题来看,服务端的开发是非常不负责任的,没有考虑到兼容性。 万一是需求变更捏 |
|
返回顶楼 | |
发表时间:2013-04-02
zhangyongbo 写道 在服务端B上加一个适配器,如果是A1调用,先转换成适合B的参数再做调,否刚就直接调用。
同意,使用适配器模式是该例的最佳解决方案。很典型的适配器情景。 |
|
返回顶楼 | |
发表时间:2013-04-02
yuyue007 写道 zhangyongbo 写道 在服务端B上加一个适配器,如果是A1调用,先转换成适合B的参数再做调,否刚就直接调用。
同意,使用适配器模式是该例的最佳解决方案。很典型的适配器情景。 呵,我认为这个问题考的并不仅仅是技术,还有更深些的东西,就看每个人的想法与思路了,没有唯一答案。 |
|
返回顶楼 | |