当前位置:编程学习 > C#/ASP.NET >>

阿里巴巴 危机中的面试,5年开发经验后不能确定的答案!高手来看看。。。

在杭州做。NET开发5年了,去阿里巴巴面食。

面食官问我:1。系统设计是否需要把每个函数的参数都确定,确定参数属于设计的范畴吗?
            2。如何验证我们自己的设计?
            3。页面上的UI控制,比如JS控制属于系统设计需要考虑的范畴吗?
            4。复杂的查询 是否需要在设计的时候把表关系图写在文档上?开发人员看文档这样是否方便? --------------------编程问答-------------------- 决定以后不去了 ^_^ --------------------编程问答-------------------- 不会,太难 --------------------编程问答-------------------- 不会,太难 --------------------编程问答-------------------- 如果没有真正研究过如何负责系统开发,这几个问题相当棘手呀~~~帮顶 --------------------编程问答--------------------
呵呵..确实有难度..这问题像在招聘系统架构师.. --------------------编程问答-------------------- 哎。。。真是郁闷啊。。。。

说说大家的看法啊。。。。。 --------------------编程问答--------------------
呵呵..确实有难度..这问题像在招聘系统架构师.. --------------------编程问答-------------------- 招收系统架构师+系统分析师的吧 --------------------编程问答-------------------- 1.不需要,开发人员根据具体需求调整,如果是瀑布模型需要考虑参数设计范畴
2.代码白盒测试,或者提供文档给对应测试组,由未接受开发的人员进行黑盒测试
3.需要考虑,js,css会影响到客户端IE的内存和CPU的消耗
4.不需要,文档查看没有意义,直接查看数据模型即可 --------------------编程问答-------------------- 1.不需要,开发人员根据具体需求调整,如果是瀑布模型需要考虑参数设计范畴
2.代码白盒测试,或者提供文档给对应测试组,由未接受开发的人员进行黑盒测试
3.需要考虑,js,css会影响到客户端IE的内存和CPU的消耗
4.不需要,文档查看没有意义,直接查看数据模型即可 --------------------编程问答-------------------- 看来是软件工程的基本知识。 --------------------编程问答-------------------- 不会,帮顶 --------------------编程问答-------------------- 3   需要考虑,js,css会影响到客户端IE的内存和CPU的消耗 
    

    我不同意。

    UI上的开发人员使用JS来控制什么,,设计人员很难去设计好。

4。不需要,文档查看没有意义,直接查看数据模型即可


    我不同意。


    如果文档开发人员不看的话,那怎么去做开发啊。。。。 --------------------编程问答-------------------- 不会,UP --------------------编程问答-------------------- 不会,帮顶~! --------------------编程问答-------------------- 不会,帮顶~! --------------------编程问答-------------------- 不会,UP --------------------编程问答-------------------- up up up! --------------------编程问答-------------------- 来点深度的。。。。解释下。。。。CSDN的高手都在那里? --------------------编程问答-------------------- 别的不说 就说文档时非常重要的部分,不管是开发还是设计 都要有文档说明。我觉得我们国内开发的程序员就缺乏写文档的能力。(我个人也不例外) --------------------编程问答-------------------- 别的不说 就说文档时非常重要的部分,不管是开发还是设计 都要有文档说明。我觉得我们国内开发的程序员就缺乏写文档的能力。(我个人也不例外) --------------------编程问答-------------------- 别的不说 就说文档时非常重要的部分,不管是开发还是设计 都要有文档说明。我觉得我们国内开发的程序员就缺乏写文档的能力。(我个人也不例外) --------------------编程问答-------------------- 你都5年经验了,当然面试你的题目就应该难点了,不然你会认为是对你的不尊重。 --------------------编程问答-------------------- 实在抱歉 网络不好一下提交了三次。 --------------------编程问答--------------------
引用 23 楼 niitnanfeng 的回复:
你都5年经验了,当然面试你的题目就应该难点了,不然你会认为是对你的不尊重。


顶。 --------------------编程问答-------------------- 我顶。。。。。为什么没人来解决问题。。。。 --------------------编程问答--------------------
引用楼主 abcdefgabczz 的回复:
在杭州做。NET开发5年了,去阿里巴巴面食。

面食官问我:1。系统设计是否需要把每个函数的参数都确定,确定参数属于设计的范畴吗?
            2。如何验证我们自己的设计?
            3。页面上的UI控制,比如JS控制属于系统设计需要考虑的范畴吗?
            4。复杂的查询 是否需要在设计的时候把表关系图写在文档上?开发人员看文档这样是否方便?



如果是我的话,我会这样回答:
1,是.但同时允许开发人增加函数或方法.
2,做个简单的Demo.或TDD
3,使用JS库或框加可以在设计时考虑.具体的JS需要规范即可
4,可以.同时增加点说明 --------------------编程问答-------------------- up --------------------编程问答-------------------- DEMO无法验证我们自己的设计。。。。真的。。DEMO可以验证功能实现,
但是伸缩性,扩展性,业务逻辑。。。。怎么验证。。。?

JS部分,我感觉属于测试的时候需要注意的问题,不是设计问题。。。 --------------------编程问答-------------------- 学习一下 --------------------编程问答--------------------

同样的问题,放到不同的项目里回答应该是不一样的吧。。。。

--------------------编程问答--------------------  

同样的问题,放到不同的项目里回答应该是不一样的吧。。。。 


请说明您的看法???? --------------------编程问答-------------------- 期待标准答案 --------------------编程问答-------------------- 期待标准答案 --------------------编程问答--------------------

--------------------编程问答-------------------- 应该没什么标准答案,很显示是系统设计,不是概要设计和详细设计,
第一个问题让我感觉就是有问题的。
在系统设计中肯定不是设计接口或类图,只会讲述模块分法,使用什么框架,具体业务流程。。
1。系统设计是否需要把每个函数的参数都确定,确定参数属于设计的范畴吗?
这里的函数应该改为接口,而且这个工作不会在系统设计里面做。
  2。如何验证我们自己的设计? 
这个应该不容易,具体的应该是,是否针对你前期的需求分析文档是否全部实现,没有实现的是否有标注,可能会动态变更的你采取了那些具体措施。。你选择的框架和流程是否可以完全实现,是否有更好的实现方法?

 3。页面上的UI控制,比如JS控制属于系统设计需要考虑的范畴吗? (系架在角色分析的时候要对UI有概括说明)
            4。复杂的查询 是否需要在设计的时候把表关系图写在文档上?开发人员看文档这样是否方便?
(如果系架与数据库设计一起做的话最好有提供,表关系图—ER图是必须在每个开发人员手上的,开发人员在理解自己要开发的模块和流程时应该容易看懂这文档)
很显然这个工作是一兼多职。。。 --------------------编程问答-------------------- 应该没什么标准答案,很显示是系统设计,不是概要设计和详细设计,
第一个问题让我感觉就是有问题的。
在系统设计中肯定不是设计接口或类图,只会讲述模块分法,使用什么框架,具体业务流程。。
1。系统设计是否需要把每个函数的参数都确定,确定参数属于设计的范畴吗?
这里的函数应该改为接口,而且这个工作不会在系统设计里面做。
  2。如何验证我们自己的设计? 
这个应该不容易,具体的应该是,是否针对你前期的需求分析文档是否全部实现,没有实现的是否有标注,可能会动态变更的你采取了那些具体措施。。你选择的框架和流程是否可以完全实现,是否有更好的实现方法?

 3。页面上的UI控制,比如JS控制属于系统设计需要考虑的范畴吗? (系架在角色分析的时候要对UI有概括说明)
            4。复杂的查询 是否需要在设计的时候把表关系图写在文档上?开发人员看文档这样是否方便?
(如果系架与数据库设计一起做的话最好有提供,表关系图—ER图是必须在每个开发人员手上的,开发人员在理解自己要开发的模块和流程时应该容易看懂这文档)
很显然这个工作是一兼多职。。。 --------------------编程问答-------------------- 1234,都需要。其实详细系统设计就是可以预编译的架构。

只是没写函数实体而已。 --------------------编程问答-------------------- 1234,都需要。其实详细系统设计就是可以预编译的架构。

只是没写函数实体而已。 --------------------编程问答-------------------- 很显然,CSDN又在抽风。。当然我的答案也只是个人抽风。。 --------------------编程问答-------------------- 5年貌似一般会问非技术上的问题了吧 --------------------编程问答-------------------- --------------------编程问答-------------------- 1,2,3,4都需要。 --------------------编程问答-------------------- 1,2,3,4都需要。 --------------------编程问答-------------------- 标准答案肯定没有!

如果做过系统设计,怎么做就怎么回答就行了。
我只是程序员,没弄过这么高级的东西,不能回答。

关于第四个,我认为需要查看文档,我本人觉得很重要 --------------------编程问答-------------------- 接口设计中。。。参数属于接口的范畴吗?我感觉参数只是输入项,没有参数接口照样是有意义的。
--------------------编程问答-------------------- 而试的各位是架构设计 是吧
那不能光靠技术了, 要熟悉CMM管理,软件工程, 建模等知识, 里面虽然抽象不能直接回答LZ的问题,
但结合实际系统设计经验, 结果就不用说了, 到那时, 具体原因LZ可以写一本书来阐明了
--------------------编程问答-------------------- 还是没有人有很服人的回答啊。。。。 --------------------编程问答-------------------- 这是一个在专业范畴内相对宽泛的问题,我想考官考的出除了你的专业知识外还有你的思维能力,也就是你解决问题的角度,如果你可以给出一个open的答案,那说明,你的角度是从项目出发,也就是处理问题会随机而变,如果你的回答专业不失灵活就最好了,仅为个人观点.

1.首先第一个问题,任何系统,尽量做到的还是对拓展开放,对修改封闭,这是大原则,起始确定参数是有必要的,这样有利于团队快速的实现统一的编程方法,从而导致后期难协调的问题出来.但是建议参数尽量在针对接口编程的基础上实现私有化.
2.同意楼上的观点,Demo在实际项目中,仅从测试的角度来看,对测试功能和部分bug是有帮助的,但是如果要想真正的验证设计,还是要广泛的听取客户的意见!从后期开始做,这样就使得第一条更加重要了,开放与封闭!
3.UI之所以叫UI,就是因为他是从客户角度出发的,所以应该先由前台设计人员设计出成型的UI,再根据实际情况,前期预留出脚本研发周期,这样才是面向对象嘛.
4.做及时的信息回馈和有效的信息沟通是一个职业开发人员的职业素养体现,开发文档要务必做到细致有效,不要嫌麻烦,要知道越细就越有益于系统的后期维护,可以要求开发人员养成写文档的习惯,也可以你亲历亲为,这样有助于你更加详尽的了解整个项目,也可以使文档风格统一.(不过这样工作量会较大,但是试过之后,你会发现,值得去做的) --------------------编程问答-------------------- 一口气写出来的,复读了一遍,竟然出现了语句不通的现象,看样子是老了,欢迎各位砸砖头,大家共同探讨. --------------------编程问答-------------------- 帮顶啊,,,学习;  --------------------编程问答-------------------- --------------------编程问答-------------------- 不懂,看高手发言 --------------------编程问答-------------------- 不会,帮忙顶 --------------------编程问答-------------------- 不会,帮忙顶 --------------------编程问答--------------------
引用 10 楼 mail_ricklee 的回复:
2.代码白盒测试,或者提供文档给对应测试组,由未接受开发的人员进行黑盒测试

感觉问的不是这个问题 --------------------编程问答-------------------- 都对 --------------------编程问答-------------------- 期待来个阿里的人给答案。。。 --------------------编程问答-------------------- 都有道理 --------------------编程问答-------------------- 好像他们准备培养系统架构师了。。。。。。 --------------------编程问答-------------------- 好像他们准备培养系统架构师了。。。。。。 --------------------编程问答-------------------- 还没系统去做个系统设计

关注 --------------------编程问答-------------------- Mark! --------------------编程问答-------------------- Mark! --------------------编程问答-------------------- 我总觉得 面试的人应该搞清楚他们要的是什么人.不要别人问什么它们也问什么,
到最后会发现自己的要求和要的人根本扯不上关系.=====>考试作文有离题,面试难道没有? --------------------编程问答-------------------- 继续学习~~~ --------------------编程问答-------------------- 不懂来看看 --------------------编程问答-------------------- 顶  --------------------编程问答-------------------- 顶  --------------------编程问答--------------------
引用楼主 abcdefgabczz 的回复:
在杭州做。NET开发5年了,去阿里巴巴面食。

面食官问我:1。系统设计是否需要把每个函数的参数都确定,确定参数属于设计的范畴吗?
            2。如何验证我们自己的设计?
            3。页面上的UI控制,比如JS控制属于系统设计需要考虑的范畴吗?
            4。复杂的查询 是否需要在设计的时候把表关系图写在文档上?开发人员看文档这样是否方便?

没什么啊,我觉得
1、系统设计当然不需要把每个函数的参数都确定。
2、验证自己的设计不是一个简单的过程,而是一个一系列的过程,比如说在写完设计后,接着就要写测试用例,这就是一个验证设计的过程,在写完测试用例后,可以先着手测试代码的编写,这样就又进一步的理清了设计的思路。
3、不属于、只需确定功能点。
5、在设计文档中,应该有一份E-R图,可供参考。 --------------------编程问答-------------------- up --------------------编程问答-------------------- 看看看看看看 --------------------编程问答-------------------- 太难了 --------------------编程问答-------------------- 太难了 --------------------编程问答-------------------- 太难了 --------------------编程问答-------------------- 学习了,像是个自由发挥题,主要是测试面试人员的经验层次~~ --------------------编程问答--------------------
引用 76 楼 hereyouare 的回复:
学习了,像是个自由发挥题,主要是测试面试人员的经验层次~~

如果是自由发挥题,确实是看面试人员的经验。。
而这经验却是:临时遇到问题的解决方案,思维广度,灵活巧度。。

所以,像这样的题目,要是我是面试官的话,你回答的太书面话我不要录用,就算太好。
如果是有参考答案的,适好与答案极相似,我也不会录用。。。

像这种问题其实很靠运气,当你说到和面试官有几个共同的地方他就会很欣赏你,但是针对这种问题,各个面试官的着重的角度又不相同。。所以还是得靠运气。 --------------------编程问答-------------------- 牛题!! --------------------编程问答-------------------- 不会,还差的远啊。 --------------------编程问答-------------------- 感觉都属于开放性的问题,可以稍微扯一点,或许面试官只想知道你对这方面到底有没有了解一点,还是一无所知。
我个人愚见:
1:false
3:false --------------------编程问答-------------------- 我也不会,愿主,耶稣保佑你,阿门............. --------------------编程问答-------------------- 我也不会,愿主,耶稣保佑你,阿门............. --------------------编程问答-------------------- 理论多于实际意义 --------------------编程问答-------------------- iostm32f10xxB.h --------------------编程问答-------------------- iostm32f10xxB.h --------------------编程问答-------------------- 1。首先想知道这里的“系统设计”是广义的还是狭义的?如果是广义的,那答案是肯定的,在“系统设计”中的详细设计阶段会确定每个函数的参数;如果是狭义的,那就是否定的,因为狭义的“系统设计”或者说概要设计一般仅仅涉及到模块的划分,在传统上基本是一个自顶向下的过程,这个阶段有很多不确定因素,把每个函数的参数都确定是可望而不可即的事。

2。关于验证设计,这里又需要知道到底是广义的“设计”,还是狭义的“设计”。如果是广义的“设计”,现在一般用这几种方法:在开发初级使用原型法,即在极短时间给客户开发出一个DEMO,以验证模块的设计(这里是狭义的设计)是否合理;在开发中使用黑白盒测试,以确保代码的设计是否正确;在开发中后期启动组装测试,以确保个功能模块之间的衔接是否正常;在开发后期开始系统整体测试和压力测试,并可以将客户纳入测试人员范围,以确保最后发布时没有什么需求偏差和漏洞。如果引入敏捷思想的话,上面几个阶段会在较短的时间完成一个周期,这样周而复始,从而形成螺旋上升的效果。

3。页面上的UI控制,在概要设计时,首先需要确定是否使用某种UI框架,或者js库,把握好大方向,剩下的就放到详细设计再说吧。

4。关于是否需要在设计的时候把表关系图写在文档上,主要还是看企业文化了,如果企业认为程序开发人员的水平足以根据总的关系图找到自己所需要的部分,那么有总的关系图就够了,如果只是当民工用,那就画需要的那部分吧。

题外话:其实上面都是冠冕堂皇的话,反观国内,除了需要通过XXX软件认证的,国内有哪几家所有文档齐全的?那些需要通过XXX软件认证的,有很多文档也是开发之后再补的。另外虽然有文档但是几百年不更新的也比比皆是。这当中不乏“中国特色”,我文档太全了,不是方便哪天你炒我吗?所以有一句名言:程序即是文档...... --------------------编程问答-------------------- 不懂 顶 --------------------编程问答-------------------- 新版本的CSDN太卡了,比以前还卡,还经常提交不了.. --------------------编程问答-------------------- 我用java的想法回复你一次:
1。系统设计是否需要把每个函数的参数都确定,确定参数属于设计的范畴吗? 
   函数接口属于设计范畴,因为模式基于接口,接口的分类就是靠方法签名,大多数的模式都和接口参数有关。
   确定参数类型和形式更重要一些。在反射上下文参数就是一门独立的设计艺术。即是微软的SDK,也有右键上下文,光是内容就够你研究一番。
 2。如何验证我们自己的设计?
业务扩展无死锁。构建新业务(可以是假想),查证设计的修改范畴,修改的越多,你的设计就越差。也有图像学分析法,但是我没用过。
 3。页面上的UI控制,比如JS控制属于系统设计需要考虑的范畴吗? 
 是:JS控制往往关联权限,甚至通用控制。例如系统要设计F1~F9的快捷键。往往传入参数的上下文,也印证  了参数的作用,此时的上下文可是很复杂的。但是多半的工程师还是会写上JS要如何制御UI,不会写的很具体。
 4。复杂的查询 是否需要在设计的时候把表关系图写在文档上?开发人员看文档这样是否方便?
复杂的查询往往需要附文(在设计的最后一页有参阅,这里你就可以写到那去看DB设计)--基本是查询所要结果。表关系多是以ER文件提供,如果写在文档上,不保证是最新的DB设计。相反你还要承担责任。

--------------------编程问答-------------------- 我继续顶!! --------------------编程问答-------------------- --------------------编程问答-------------------- mark --------------------编程问答-------------------- 我也来顶! --------------------编程问答-------------------- 学习!顶 --------------------编程问答-------------------- 标准的设计流程中,详细设计是否需要把类中函数的参数都标主好??? --------------------编程问答-------------------- 学习!顶 --------------------编程问答-------------------- 标准的设计流程中,详细设计是否需要把类中函数的参数都标主好??? --------------------编程问答-------------------- mark下 --------------------编程问答--------------------
引用 13 楼 abcdefgabczz 的回复:
3  需要考虑,js,css会影响到客户端IE的内存和CPU的消耗
   

    我不同意。

    UI上的开发人员使用JS来控制什么,,设计人员很难去设计好。

4。不需要,文档查看没有意义,直接查看数据模型即可


    我不同意。


    如果文档开发人员不看的话,那怎么去做开发啊。。。。

好像,我们公司用的 就想LS说的 ,需要 --------------------编程问答-------------------- 系统架构师 离得还远
先学习一下 祝楼主顺利通过。。。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,