个人作业4——alpha阶段个人总结

alpha阶段个人总结

一、个人总结

|类型|具体技能和面试问题|现在的回答|
|---|---|---|---|
|语言|最拿手的计算机语言之一,代码量多少|C/C++,代码量在8-10W|
|语言|最拿手的计算机语言之一,代码量多少|Java,代码量在1-2W|
|软件实现|你有没有在别人的代码基础上进行改进,你是怎么读懂别人的代码,你采取什么方法来保证你的新功能不会影响原来的功能,你在开发中遇到的最复杂的bug是什么,怎么解决,bug出现的原因,你在将来应该怎么去避免bug再出现|有过。如果有注释的代码会比较好读,没有注释的可以自己加注释帮助理解,还有就是反复读。因为改进别人的代码,所以只要将要加的功能以模块的方式实现即可。我在开发中遇到的bug太多了……也说不上什么是最复杂的,经常调bug调个一两天。自己多注意边界条件可以稍微减少bug的出现。|
|软件测试|你是怎么测试自己的代码,怎么测试别人的代码。你掌握了多少种测试工具和方法?你写过测试工具吗?你如何对一个网站进行压力测试和效能测试?你如何测试一个软件的人机界面?|使用输出语句进行测试,因为我们老师说使用调试只会降低代码能力,他做项目的时候从来不用调试。使用输出测试用的最多,断点调试也有过。没写过测试工具。使用不同的用户数和并发数访问可以完成。有自动化工具随机生成点击和输入的动作可以测试软件的人机界面|
|效能测试|你写过最复杂的代码是什么?你是如何测量和改进它的效能的,用了什么工具,如何分析的?|poj 3266,一道分数规划的题目。通过poj的提交结果来测量效能。一开始的时间复杂度太高了,所以需要维护一个凸包来实现斜率优化。直接估算时间界来分析|
|需求分析|你做过多少个有实际用户的项目,用户最多有多少?你的项目有什么创新的地方?|完整地做一个项目是个数据挖掘的,没有用户,只是研究和教学使用。也没有创新的地方,因为后来发现我的方法别人做过了。|
|行业洞察力|你最感兴趣的领域是什么?这个领域过去10年经历了哪些创新?你分析过这个领域前10名的产品吗?请分析一下他们的优劣。你要进入这个领域,应该如何创新?|计算机图形学和数据挖掘。其实是两个。因为跟老师做项目,所以接触上就比较喜欢。但是因为现在还在学基础,对于前沿的东西了解甚少。大概知道搞深度学习的有TensorFlow、Caffe、Keras这些框架。我要进入这个领域,要创新先要好好学习,扎实基础。|
|项目管理|你参加过项目管理吗,请描述一下两个当下流行的开发方法在你的项目中的具体应用情况。如何决定各个任务的优先顺序,有什么理论来支持你的做法?如果项目不能及时完成,你要怎么办?|经历了alpha阶段就参加过啊。我们这次要求就是敏捷开发的方法啊。按照任务的难度和重要性来决定优先顺序,没什么理论,只是觉得这样合适。如果项目不能及时完成,就加班。|
|软件设计|你做过架构设计,模块化设计,接口设计吗?请说明一下你为何是这样设计的,你比较过不同的设计方式吗?你的设计取得了什么结果?|模块化设计和接口设计是有过的。因为写代码需求,所以需要这样设计,降低耦合度。没有比较过。取得的结果是写代码起来会比较优雅,易读性和可维护性也会好一些。|
|质量意识|你是怎么做代码复审的|读代码、运行并测试。|
|工具/社区|你再各种开发平台上都是用过什么样的工具?自己写过工具来改进工作效率?给社区贡献过什么工具和代码?Github有分享代码吗?你写的技术博客坚持了多久,读者最多的是哪一篇?|VS上的番茄助手、皮肤管理器(换上老婆的照片),Eclipse的Git工具。没有自己写过工具。没有GitHub。写作业就得坚持写博客。读者最多的是被老师分享的结对编程的博客。|
|团队协作| 描述你在项目中如何说服同伴采取你更好的方案,或是听取别人的意见改进自己的方案,如何说服懒惰的同伴加紧工作|摆事实、讲道理。如果别人讲的自己觉得有道理就会改进。对于懒惰的同伴只会提醒一到两次,提醒不动就算了,很浪费时间。
|理论素养|你上过什么数学,计算机或是理论课,举出具体的例子,如何帮你解决问题|微积分、线性代数、概率论(很少的数理统计)、数论、离散数学(里面很多……)、数据结构、算法、操作系统、凸优化(自己看过一点点)、实分析(自己看过一点点)……在学习数据挖掘和三维重建的时候,很吃数学,觉得自己好像没学过数学。很多是线性代数吧(尤其是矩阵,emmm...我们又教得非常浅,只能自学……)|
|自我管理|全年级你专业排名多少?你从刚入学(大学一年级)到现在的排名有变化吗?如何解释你的排名的变化?|1,没有,没什么好解释的,大家只是把时间花在了他们认为更重要的事情上去。无可厚非。然后我是一个书呆子,就这样。|

二、回答问题

我之前提问的链接在这边
问题1:我认为数据结构和算法作为选修课更好,我看大家的项目,确实跟算法没有多少关系。也就是说这个东西并不是开发项目的必要条件。但是我问这个问题最重要的目的是想知道老师是怎么想的。

问题2:这个问题我没法回答。

问题3:我觉得这些难以发现的好功能和认知阻力大的软件就是让专业使用人员使用的。但是还是希望老师或助教能够解答这里面我问的所有问题。

问题4:我还是很想知道,在所有书差不多一种目录排版的情况下,为什么这本书却要在这个地方创新,我觉得这里面肯定是有原因的。

问题5:我还是不知道怎么权衡,不知道以什么态度对待这门课,尤其是alpha阶段过去之后。

其实我所有问题都是结合书本上下文的,但是相应的分数都么得,大概助教想让我专门单开一行告诉他们我是从这边这边引用的吧。

助教打分的时候,请看一下我问的这些问题是否应该是完成了alpha阶段应该回答上来的问题。
这部分的分拿不拿得到,我已经无所谓了。

三、再提问题

问题1:
为什么问问题是个作业,还拿来评分?
上下文:http://www.cnblogs.com/happyzm/p/8989064.html
自己的看法:问了5个问题或者是更多的问题代表了什么?表示有好好看过书吗?我感觉是不是要打一个问号,问出来的问题真的是书里面抛出来的,但又没有解释的,还是仅仅只是因为自己草草地看了遍书,但是又没有自己的思考,所以觉得是个问题的?助教在评分的时候,有没有看这些问题是不是值得问呢?有没有觉得很难量化?好,那这个作业考察的到底是什么呢?

问题2:
这种软件工程新的教学方法,在不同的学校有没有具体问题具体分析?如果不需要差异化,请具体解释原因,顺便再解释一下为什么不同学校的其他科目的教学难度都有所区别,是否也觉得很不合理?相反,如果有差异化的话,请举例分析。
上下文:这门课程就是上下文
自己的看法:没什么自己的看法,因为我不知道这门课取得怎么样的教学结果是老师乐于看到的,觉得是理想的。还有其他学校的具体施行情况我也不知道,所以问一下。

问题3:
软件工程师开发软件和医生开刀为什么能够类比?
上下文:“刚刚在书上看到你的病例,开刀的过程中非常认真严谨,时不时还要停下来翻书看看”
自己的看法:没有看法,纯问问题。具体说明一下问题,需要解释什么样的软件工程师类比什么样的医生。

问题4:
为什么要把自己的杀手功能摆出来,到底什么是杀手功能?
上下文:http://www.cnblogs.com/happyzm/p/8675401.html “分析自己项目的杀手功能是什么?”
自己的看法:杀手功能是什么?书上说这是差异化,我有人无的优势。好,太抽象了。我们再细分一下,是别人没想到的,还是别人做不到的?我看了这次作业,我觉得好像是后者。因为前者显然不符合杀手功能,我把我自己的杀手功能说出来,然后告诉做相同项目的团队,来看啊,我们做了这个,有意思吧?想不到吧?而且看下时间,需求分析的时候就要摆出来,然后正好大家一起实现你绞尽脑汁的杀手功能,是这样吗?

问题5:
为什么必应还不改他们的实时单词解释?
上下文:“……但是这个功能把鼠标所在的所有英语单词都解释一下,包括小学生都懂的‘啊a,of,at,on,and,the,he,she,...’”
自己的看法:我没有看法,助教们评分的时候谈谈自己的看法。

posted @ 2018-05-19 14:28  学Java救不了中国人  阅读(323)  评论(2编辑  收藏  举报