个人总结
终于我们把alpha版本做了出来,从无到有的过程是极其艰辛的,但也是极其富有成就感的,我们经历了一次次的站立会议,一次次的努力验证,体验也是满满的。在这过程中我们有一些好的东西,当然也存在着许多不足。
在alpha过程中,我们虽然每个人都很忙,但我们都坚持着每天进行战力会议,在每次的会议中总结自己一天的成果与遇到的问题,当然也包括着第二天的目标。每个人在讨论中不断的加深理解。我们还相互阐述自己的相互的想法,在交流之中加快思维的转换。不仅仅是站立会议,我们还制定了代码规范,虽然最后的代码似乎和规范有些出入。我们有时还会进行代码的互审,改正队友不够简洁的代码。在互审的过程中也从中学习队友的优点。
当然在这个过程中我们也存在着许多的问题,比如每次的站立会议虽然交流了许多的经验与想法,但我们实际完成的东西很少,有的时候浪费了难得的例会时间,还有我们制订的规范也没有能够严格的遵守,让代码规范的价值降低了不少。还有因为对项目的理解也不够,对需求的理解没有做到位。这些在以后的时间里要不断地改进。
1、我在书P109中看到这样一段 “回溯修改很困难甚至不可能,但软件生产过程中需要时时回溯”,为什么瀑布模型几乎不可逆,难道修改起来不是一样的吗。
2、 P118:“敏捷开发原则:并持续交付有价值的软件以满足顾客需求”,敏捷发布是相当于先做好主体的内容发布,然后后期再加上新的内容吗?
3、 P336:“迷思之三:好的想法会赢”好的想法会赢的难道不应该吗,键盘的改革既然会更加方便,不去试一下怎么知道没有市场呢。说对已经熟悉的人可能觉得原来的习惯,但如果还未开始的人,不是应该给他选择的机会吗
4、 P41中:“单元测试应该覆盖所有的路径”,所有路径是代表出现的各种情况下的处理方式吗?代码的覆盖是什么意思,是都检查过一遍吗。
5、 现实之中过了十八个月的未完成的软件,需求就会变很多,那那些艰巨的需要长时间的工程又该怎么办。
类别 |
具体技能和面试问题 |
现在的回答 (注明年级) |
毕业找工作时 |
语言 |
最拿手的计算机语言之一,代码量多少?(偏web前端,PC/Mobile App) |
2015级;web前端 ,四五百行 |
。能够到达大几千行 |
语言 |
最拿手的计算机语言之二,代码量多少?(偏后端,数据处理,网站后台,机器学习,等) |
Java语言:600行以内 |
Java语言:代码量大几千 |
软件实现 |
(阅读代码的能力,实现,单元测试)你有没有在别人代码的基础上改进, 你是怎么读懂别人的代码的, 你采取了什么办法来保证你的新功能不会影响原来的功能? 你在开发中碰到最复杂的bug是什么,你是如何解决的? 这个bug出现的原因是什么,你在将来应该怎么去避免bug再出现? |
;有的; 从头开始,慢慢理; 不断测试来验证; |
有; 通过相关软件来测试弄懂; 不断测试来验证; |
软件测试 |
(测试方法、测试工具、测试实践、代码覆盖率) 你是如何测试你自己写的代码? 你如何测试别人的代码? 你掌握了多少种测试工具和方法? 你写过测试工具吗? 你如何对一个网站进行压力测试和效能测试? 你如何测试一个软件的人机界面(UX/UI)? |
通过测试软件测试; 通过测试软件测试; 掌握一两种测试方法; 没有写过; 没有进行过; 没有进行过。 |
通过测试软件测试; 通过测试软件测试; 掌握一两种测试方法; 没有写过; 没有进行过; 没有进行过。 |
效能分析 |
效能分析,效能改进 你写过最复杂的代码是什么?你是如何测量和改进它的效能的,用了什么工具,如何分析的? |
;无 |
无 |
需求分析 |
(需求分析,典型用户,场景,创新) 你做过多少个有实际用户的项目,用户最多有多少?你的项目有什么创新的地方? |
还在学习阶段;无用户;无创新
|
无 |
行业洞察力 |
你最感兴趣的领域是什么?这个领域过去10年经历了哪些创新? 你分析过这个领域前十名产品么?请分析一下他们的优劣, 你要进入这个领域,应该如何创新? |
VR,AR,MR;人工智能 飞速发展阶段; HTC VIVE;OCULUS;PLAY STATION VR
|
|
项目管理 |
你参加过项目管理吗?请描述一下两个当下流行的开发方法在你的项目中的具体应用情况? 请问你如何决定项目中各种任务优先次序,有什么理论来支持你的做法?的 如果你突然发现项目不能按时完成,你作为项目领导,有什么办法? |
无 |
无 |
软件设计 |
你做过架构设计,模块化设计,接口设计吗?请说明一下你为何是这样设计,你比较过什么不同的设计方式,你的设计取得了什么结果? |
无 |
无 |
质量意识 |
(代码复审/代码规范/代码质量)你是怎么做代码复审的,你加入我们团队后,能帮我们提高代码质量么,请具体说怎么提高? |
检查查错;能提高;每个团队成员不断审查改错优化,来提高代码质量。 |
检查查错;能提高;每个团队成员不断审查改错优化,来提高代码质量。 |
工具/社区 |
Software Tools(performance tool,version,control,work item,TFS) 你在各种开发平台(web,linux,PC,mobile,machine learning)都使用过什么样的工具,自己写过什么工具来改进工作效率? 给社区贡献过什么工具和代码?Github有分享代码么? 你写的技术博客坚持了多久,读者最多的是哪一篇? |
没有写过 |
没写过。 |
团队协作 |
Work with others(协同工作,提供反馈,说服别人) 请描述你在项目中如何说服同伴采用你提出的更好的解决方案, 或者你如何听取别人的意见,改进了自己的方案? 你如何说服懒惰的同伴加紧工作,实现团队的目标? |
列出自己的方案的优点,甚至是一部分实例 |
列出自己的方案的优点,甚至是一部分实例 |
理论素养 |
你上过什么数学,计算机或其他理论课, 请举出具体的例子,说明你学到的理论知识如何帮助你解决实际问题?。 |
高等数学 |
|
自我管理 |
全年级你专业排名多少? 你从刚入学(大学一年级)到现在的排名有变化么? 如何解释你的排名的变化? |
一百多 |