我的做业4

1、我的总结

自我评价表前端

类别 具体技能和面试问题 如今的回答 毕业找工做
语言 最拿手的计算机语言之一,代码量有多少 java,代码量大概八千左右吧
语言 最拿手的计算机语言之二,代码量有多少 C语言,代码量大概两千左右吧
软件实现 (阅读代码的能力,实现,单元测试)有没有在别人的代码基础上进行改进,你是怎么读懂别人的代码,你采起什么方法不影响原来的功能?你在开发中遇到的最复杂bug是什么,怎么解决的?这个bug出现的缘由是什么,你在将来应该怎么避免bug的再出现? 有;强行看,看不懂的百度;新功能避免占用原来功能的资源;最复杂的bug...想不起来了T T
软件测试 (测试方法、测试工具、测试实践、代码覆盖率)你是怎么测试本身的代码?怎么测试别人的代码?你掌握了多少种测试工具和方法?你写过测试工具么?你如何对一个网站进行压力测试和效能测试?你如何测试一个软件的人机界面(UX/UI)? 添加测试用例;添加测试用例;勉强算一种吧;仅会在eclipse上进行简单测试;没有;不知;不甚了解
效能分析 (效能分析,效能改进)你写过的最复杂的代码是什么?你是如何测量和改进它的效能的,用了什么工具,如何分析的? java课设写的学生管理系统吧;啊...没测
需求分析 (需求分析、典型用户、场景、创新)你作过多少个有实际用户的项目,用户最多有多少?你的项目有什么创新的地方? 以前没作过,此次软工小程序作成的话就算一个,由于目前还未发布,用户数未知;便捷记录开支
行业洞察力 你最感兴趣的领域是什么?这个领域过去十年有什么创新?你分析过这个领域前十的产品吗?请分析一下他们的优劣,你要进入这个领域,如何创新? 说实话,计算机这方面的都不怎么感兴趣(逃...)人工智能仍是有点点兴趣的;正在不断发展,成为目前最火热的领域,没分析过;开发出全新的东西
项目管理 你参加过项目管理吗?如何决定各个任务的优先顺序?若是项目不能及时完成,你要怎么办? 参与过;按时间紧急程度排序;将最主要的功能完成予以交付,后抓紧时间补救补充
软件设计 你作过架构设计,模块化设计,接口设计么?请说明一下你为什么是这样设计,你比较过什么不一样的设计方式,你的设计取得了什么结果? 作过接口设计;更加简洁明了;只设计过一种,没法比较
质量意识 (代码复审/代码规范/代码质量)你是怎么作代码复审的,你加入咱们团队后,能帮咱们提升代码质量么,请具体说明怎么提升? 保证功能的前提下将冗余代码删除,建立接口并使用Dao模式
工具/社区 Software Tools(performance tool,version control,work item,TFS)你在各类开发平台(web,linux,PC,mobile,macheine learning)都使用过什么样的工具,本身写过什么工具来改进工做效率?给社区贡献过什么工具和代码?GitHub有分享代码么?你写的技术博客坚持了多久,读者最多的是哪一篇? CodeBlocks/Visual C++ 6.0/myeclipse/微信web开发者工具;没贡献过啥;没分享过;坚持了一年两个月,都是写做业的博客,阅读量平平
团队协做 Work with others(协同合做,提供反馈,说服别人)请描述你在项目中如何说服同伴采起你更好的方案,或是听取别人的意见改进本身的方案?如何说服懒惰的同伴加紧工做 团队开会并讨论,口头劝说,若同伴不改进就将实际状况验证给他看(时间效率更高、前端设计大多数人更喜欢等等);让同伴意识到事情的重要性,deadline是第一辈子产力
理论素养 你上过什么数学,计算机或是理论课,举出具体的例子,如何帮你解决问题 高数、离散、几率论、计算机组成原理、线性代数等;高数吧,好比斐波那契函数编写就须要用到高数知识
自我管理 整年级你专业排名多少?你从刚入学(大学一年级)到如今排名有变化么?如何解释你的排名的变化? 大三上排名40多吧,具体记不得了;有变化大学一二年纪成绩都在二三十名左右;缘由是:慢慢肯定本身不向计算机方面发展,多放心思在本身更感兴趣的地方了

1.(c) 保持高标准,不要受制于破窗理论(broken windows theory)[i]。当你看到不靠谱的设计、糟糕的代码、过期的文档和测试用例的时候,不要想 “既然别人的代码已经这样了,个人代码也能够随便一点啦。java

a)历来没据说过;linux

b)我就是这样随便过来的;web

c)若是有明确要求,我能够作好。面试

d)一直主动这样作算法

e)不但主动作, 还会影响同事一块儿作好编程

2.(c) 主动解决问题。当看到不靠谱的设计,糟糕的代码的时候,不要想“可能别人会来管这个事情” ,或者“我下个月发一个邮件让你们讨论一下”。要主动地把问题给解决了[ii]。小程序

a) 不懂啥是靠谱的设计;windows

b) 随便应付一下便可;设计模式

c) 若是有明确要求,我能够作好。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

3.(c) 常常给本身充电,身体训练是运动员生活的一部分,学习是软件工程师职业的伴侣。每半年就要了解和学习一些新的相关技术。经过按期分享(面对面的分享,写技术博客等)来确保本身真正掌握了新技术。

a) 历来不看书;

b) 看了就忘;

c) 有时分享。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

4.(c) DRY (Don't Repeat Yourself)——别重复。在一个系统中,每个知识点都应该有一个无异议的、正规的表现形式。

a) 历来没据说过;

b) 据说过,可是认为意思不大;

c) 这要讲场合。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

5.(c) 消除不相关模块之间的影响,在设计模块的时候,要让它们目标明确并单一,能独立存在,没有不明确的外部依赖。

a) 历来没据说过;

b) 出了问题再说吧;

c) 想作,可是不知道怎么衡量效果。

d) 可以在多种语言和架构中作到

e) 不但主动作, 还会影响同事一块儿作好

6.(d) 经过快速原型来学习,快速原型的目的是学习,它的价值不在于代码,而在于你经过快速原型学到了什么。

a) 历来没据说过;

b) 把原型直接用于产品,否则就浪费了;

c) 不用原型,一直在产品中直接改。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

7.(d) 设计要接近问题领域,在设计的时候,要接近你目标用户的语言和环境。

a) 历来没据说过;

b) 按个人想法设计,用户之后会适应的;

c) 大概赞成,可是怎么接近用户呢?

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

8.(c) 估计任务所花费的时间,避免意外。在开始工做的时候,要作出时间和潜在影响的估计,并通告相关人士,避免最后关头意外发生。工做中要告知可能的时间变化,过后要总结。

a) 作完了,就知道花费了,不用事先估计;

b) 大概估一下,没必要在乎时间

c) 若是有明确要求,我能够作好。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

9.(b) 图形界面的工具备它的长处,可是不要忘了命令行工具也能够发挥很高的效率,特别是能够用脚本构建各类组合命令的时候。

a) 一直用鼠标和GUI;

b) 到时候问牛人;

c) 正在学习命令行工具。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

10.(a) 有不少代码编辑器,请把其中一个用得很是熟练。让编辑器能够实现本身的定制,能够用脚本驱动,用起来驾轻就熟。

a) 只用老师教的一个;

b) 随意;

c) 没有任何定制。

d) 会定制,而且分享给其余人

e) 还会学习和使用各类编辑器的扩展。

11.(a) 理解经常使用的设计模式,并知道择机而用。设计模式不错,更重要的是知道它的目的是什么,何时用,何时不用。

a) 历来没据说过;

b) 模式没用;

c) 每写100行程序,我就尽可能用一个模式。
d)有实际使用的经验

e) 能用具体代码说明模式的利弊

12.(b) 代码版本管理工具是你代码的保障,重要的代码必定要有代码版本管理。

a) 历来没据说过;

b) 用QQ,u盘便可;

c) 领导要求才用。

d) 常常用

e) 不但主动作, 还会影响同事一块儿作好

13.(b) 在debug的时候,不要惊慌,想一想致使问题的缘由可能在哪里。一步一步地找到缘由。要在实践中运用工具,善于分析日志(log),从中找到bug。同时,在本身的代码里面加 log.

a) 历来没据说过;

b) 只会printf;

c) 加log 太麻烦,个人代码不会有bug 的。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

14.(c) 重要的接口要用形式化的“合同”来规定。用文档和断言、自动化测试等工具来保证代码的确按照合同来作事,很少也很多。使用断言 (assertion) 或者其余技术来验证代码中的假设,你认为不可能发生的事情在现实世界中每每会发生。

a) 历来没据说过;

b) 太麻烦,不用;

c) 想用,但没有时间。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

15.(c) 只在异常的状况下才使用异常 (Exception), 不加判断地过多使用异常,会下降代码的效率和可维护性。记住不要用异常来传递正常的信息。

a) 历来没据说过;

b) 抓住全部异常

c) 若是有明确要求,我能够作好。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

16.(b)有始有终。若是某个函数申请了空间或其余资源,这个函数负责释放这些资源。

a) 历来没据说过;

b) 随缘;

c) 有时这样作。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

17.(a)当你的软件有多种技术结合在一块儿的时候,要采用松耦合的配置模式,而不是要把全部代码都混到一块儿。

a) 历来没据说过;

b) 没有实践的机会;

c) 代码都在一块儿比较好管理。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

18.(c) 把经常使用模块的功能打形成独立的服务,经过良好的界面 (API) 来调用不一样的服务。

a) 历来没据说过;

b) 拷贝代码过来用也能够

c) 若是有明确要求,我能够作好。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

19.(d) 在设计中考虑对并行的支持,这样你的API 设计会比较容易扩展。

a) 历来没据说过;

b) 并行不会出错的;

c) 任何代码都应支持并行。

d) 考虑在适当的层次支持并行

e) 不但主动作, 还会影响同事一块儿作好

20.(b) 在设计中把展示模块 (View) 和实体模块 (Model) 分开,这样你的设计会更有灵活性。

a) 代码都在一块儿比较好改;

b) 随缘啦;

c) 没搞清楚啥是V,啥是M。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

21.(b) 重视算法的效率,在开始写以前就要估计好算法的效率是哪个数量级上的(big-O)。

a) 历来没据说过;

b) 个人数据量不大,无所谓;

c) 不会有效率问题的,如今CPU 都快了。

d) 主动测试程序效率,以验证估算

e) 不但主动作, 还会影响同事一块儿作好

22.(b) 在实际的运行场景中测试你的算法,不要停留在数学分析层面。有时候一个小小的实际因素 (是否支持大小写敏感的排序,数据是否支持多语言)会致使算法效率的巨大变化。

a) 历来没据说过;

b) 想用,但不知道工具

c) 主要靠肉眼观察算法效率。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

23.(b) 常常重构代码,同时注意要解决问题的根源。

a) 历来没据说过;

b) 任何修改均可以叫重构;

c) 天天应该重构两次。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

24.(c) 在开始设计的时候就要考虑如何测试 ,若是代码出了问题,有log 来辅助debug 么? 尽早测试,常常测试,争取实现自动化测试,争取每个构建的版本都能有某些自动测试。

a) 历来没据说过;

b) 个人代码不会出问题的;

c) 项目没有安排时间,我也没有提这事。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

25.(b) 代码生成工具能够生成一堆一堆的代码,在正式使用它们以前,要确保你能理解它们,而且必要的时候能debug 这些代码。

a) 历来没据说过;

b) 历来不看那些代码;

c) 那些代码没有bug。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

26.(d) 和一个实际的用户一块儿使用软件,得到第一手反馈。

a) 历来没据说过;

b) 用户太蠢,不值得听反馈;

c) 想作可是没有机会。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

27.(c)在自动测试的时候,要有意引地入bug,来保证自动测试的确能捕获这些错误。

a) 没据说过;

b) 没必要这么麻烦;

c) 若是有明确要求,我能够作好。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

28.(b) 若是测试没有作完,那么开发也没有作完。

a) 历来没据说过;

b) 签入代码,就是作完了;

c) 。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

29.(c) 适当地追求代码覆盖率:每一行的代码都覆盖了,可是程序未必正确。要确保程序覆盖了不一样的程序状态和各类组合条件。

a) 历来没据说过;

b) 覆盖20% 就行了;

c) 要覆盖至少60%。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

30.(d) 若是团队成员碰到了一个有广泛意义的bug, 应该创建一个测试用例抓住之后将会出现的相似的bug。

a) 历来没据说过;

b) 每一个bug都是特殊的;

c) 测试用例不值得加

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

31.(c) 测试:多走一步,多考虑一层。若是程序运行了一星期不退出,若是用户的屏幕分辨率再提升一个档次,这个程序会出什么可能的错误?

a) 历来没据说过;

b) 若是有问题,用户会报告的,咱们不用测这些;

c) 若是有明确要求,我能够作好。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

32.(d)(带领团队)了解用户的指望值,稍稍超出用户的指望值,让用户有惊喜。

a) 历来没据说过;

b) 咱们决定用户的指望;

c) 若是有明确要求,我能够作好。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

33.(d) (带领团队) 不要停留在被动地收集需求,要挖掘需求。真正的需求可能被过期的假设、对用户的误解或其余因素所遮挡。

a) 历来没据说过;

b) 用户不说的,咱们不作;

c) 若是有明确要求,我能够作好。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

34.(b)(带领团队)把全部的术语和项目相关的名词、缩写等都放在一个地方。

a) 历来没据说过;

b) 都记在我脑子里;

c) 你们看代码就好

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

35.(c)(带领团队)不要依赖于某我的的手动操做,而是要把这些操做都作成有相关权限的人士都能运行的脚本。这样就不会出现由于某人休假而项目被卡住的状况。

a) 历来没据说过;

b) 咱们没有休假的,不要紧;

c) 出了问题再说

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

36.(c)(带领团队)要让重用变得更容易。一个软件团队要创造一种环境,让你们有轻松的心态来尝试各类想法 (例如,模块的重用,效能的提高,等)。

a) 都听领导的;

b) 团队严肃紧张最好;

c) 没必要尝试,失败的可能性太大。

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

37.(c)(带领团队)在每一次迭代以后,都要总结经验,让下一次迭代的进度安排更可靠,质量更高。

a) 没有时间总结,直接作下一版;

b) 总结用处不大;

c) 若是上级有要求,就作一下;

d) 一直主动这样作

e) 不但主动作, 还会影响同事一块儿作好

38.(d)(带领团队)团队中每每会有矛盾产生,做为领头人,怎么办?

a) 我没看见矛盾。

b) 和稀泥,过得去就行 ;

c) 若是没有捅到上级那里,就打哈哈,但愿他们本身搞定;

d) 有明确和一致的处理矛盾的原则

e) 不但有明确和一致的处理原则,并且对于影响团队士气的任何事情追究到底

2、回答问题

ps:当时就整本书找出三个问题,以下:

【问题一】 书中第四章4.4.2 代码复审的步骤 部分,第五个步骤说道:

复审者有权提出不少看似吹毛求疵的问题,复审者没必要亲自调查每一件事,开发者有义务给出详尽的回答 · · · · · ·
要记住复审者是经过这些问题来确保软件质量的,而不是有意找碴儿。

对于这句话,不知是本身理解能力欠佳仍是语义有歧义。复审者能够提出吹毛求疵的问题,又不用亲自调查每一件事,不要找茬。那复审者是要仔仔细细阅读开发者的代码,提出很是细节的各类问题,仍是观其大略了解通透,明白开发者大体的意思便可,并就不懂的地方提问?

回答:复审在软件开发中很是重要的一个环节,就像测试同样。伊始我认为软件开发中写代码开发才是最重要的,但其实测试在某些时候比写代码还要重要。因此,私觉得复审者复审时应该先自行读懂开发者的代码,就不懂的问题及时提问与改进,但问题不太过刁钻(好比那些根本不会发生的问题),开发者和复审者双方都抱着使软件更完善健壮的态度完成本身的本职工做。

【问题二】 书中第十六章 迷思之二 你们都喜欢创新 部分。
做者举出了许多例子来论证创新并不是人人皆爱,可是我注意到这些例子距离当今已经有很长时间了,这就出现了一个时间的问题。在当今社会,生活中的方方面面都在飞速发展,发展迅猛以致于人类生活各方面的需求都已经被解决了。这不比从前,从前的创新都是飞跃性的,极大提升效率因此致使各类利益的冲突。在温饱已经有保证的状况下,我认为现代社会的创新我认为更加趋向提高人民的幸福感,譬如各样的按摩椅,代步滑轮车等等,这样的创新发明你们都是很喜好的不是吗?因此我反对做者的观点,我认为应该说的表达更完整些,譬如:过去的时代创新会引发一些利益冲突,因此并不是人人都爱,可是当今提高人民生活幸福感的创新是人人都喜欢的。
回答:如今回看以前的问题感受又有些片面了,hh,此次我支持在做者的观点(pia pia pia打脸...)譬如,各类游戏的创新开发,鱼龙混杂,其中难免掺杂一些不健康的内容,这样子的创新就是不受人喜好的。创新是进步的不竭动力,但也应该加大对创新的监管力度,创新不是一拍脑壳既成的事,而是须要考虑方方面面,不能创造一些有所他人身心健康的东西出来。

【问题三】 书中第十六章 迷思之四 创新者都是身先士卒 部分。
做者用不少实例论证了第一个提出想法的人并非真正能将想法发扬光大的人。对此,我提出个人问题:在从此的学习工做生活中,若灵光一闪,有了一些自认为极妙的未被开发的想法时,到底应不该该付诸实践呢?仍是应该等待他人与你有同一想法并实践后本身像那些后来崛起的公司同样不断“线性扩展”,后来追上呢?那若是等待他人提出想法后是否会丧失先机及时间优点,并所以丧失一些重要资源呢?或者换一个提问方式:当你有一个自认为很棒的想法时,怎样作才是最佳的办法?
回答:私觉得,当有一个自认为很棒的想法时,能够先普遍搜集资料,看看是否有与本身相似的想法相关的一些东西,或者请教本身值得信赖的好友专家等,吸收他人的意见,若是已经通过多方考量,我认为能够抓住机会just do it,作不作得出来是一回事,起码在过程当中有所获就好。

3、再提问题

【问题一】 团队编程中关于PM的问题。
课堂及书本上,我获得的关于PM的认知是:PM是作开发与测试以外的全部事情。可是在咱们实际的团队项目中,在选定PM时,你们都是本着谁的编程能力最强而选择的,咱们的理由是,学生团队中选择舵手时应该选择那个能力最强的同窗(但不必定是领导能力最强的),这样的话你们在实际开发中碰见什么编程问题均可以联系PM寻求解决办法。请问这样的选择是正确的吗?由于我感受在咱们的团队项目中,PM彷佛并非起组织领导,统筹全局的做用,而是成为了编码最多最辛苦的那我的,致使你们都不情愿当PM。那若是从新选择PM的话,是应该选择编程方面最厉害的人仍是应该选择领导能力比较强的人呢?(若是领导能力强可是编码能力弱的能够当PM吗?)

【问题二】 关于需求调查的问题。
需求调查中,询问用户关于本身将要开发的项目的想法时,若你调查了100个用户,其中20多个用户对你开发的项目持怀疑或者否认态度时(以为没有用没有必要啊什么之类的),那项目还要继续进行吗,是否应该调整项目方向?仍是应该加大需求调查范围,征求更多人的想法?

【问题三】 团队编程中关于项目燃尽图的问题。
燃尽图在咱们本次项目中是有点棘手的事情。一开始咱们团队的任务卡没有设置完善,致使后续几天冲刺的时候咱们再进行添加任务卡等操做,致使燃尽图变得很奇怪,请问这样的燃尽图还有意义吗?还能正确反映团队项目的进度吗?关于燃尽图,是必须一开始就将任务卡设置完善吗,若冲刺当中遇到须要增长任务卡的状况该怎么处理?

【问题四】 关于本课程博客撰写问题。
这种新的教学方式是好的,比传统教学能学到更多东西,可是真的占用不少时间,是否博客量有点过多了呢?(不必定全部人的方向都是软件开发这方面,甚至有一些同窗根本不打算走计算机这条路,要考研要考公的大有人在,是否能缩减一点任务量将一些博客时间出来给同窗学习一些他们更想学的技术知识呢)

【问题五】 关于提问题的数量。
为何必定要五个问题呢...真的没什么问题的怎么办?

【附加题】: https://book.douban.com/annotation/56693463/

相关文章
相关标签/搜索