个人总结
(1)个人总结
类型 | 具体技能和面试问题 | 现在的回答 | 毕业找工作的时间 |
---|---|---|---|
语言 | 最拿手的计算机语言之一,代码量多少 | C语言相对熟悉一点 | |
软件实现 | 你有没有在别的代码的基础上改进,你是怎么读懂别人的代码,你采取什么办法保证你的新功能不会影响原来的功能?你在开发中碰到最复杂的bug是什么,你是如何解决的?这个bug出现的原因是什么,你将来应该怎么样去避免bug出现? | 没有 | |
软件测试 | 你是如何测试你自己写的代码?你何如测试别人写的代码?你掌握了多少种测试工具和方法?你写过测试工具吗?你如何对一个网站进行压力测试和技能测试?你如何测试一个软件的人机界面? | 就运行一下看看是否正常,再看看有没有BUG,最后看看跟最初的功能要求是否接近 | |
效率分析 | 效能分析,效能改进,你写过的最复杂的代码是什么?你是如何测试量和改进他的效能的,用了什么工具,如何分析? | 没有 | |
需求分析 | 你做过多少有实际用户的项目,用户量是多少?你的项目有什么创新的地方? | 没有 | |
团队协作 | Work with others(协同工作,提供反馈,说服别人请描述你在项目中如何说服同伴采用你提出的更好的解决方案,或者你如何听取别人的意见,改进了自己的方案?你如何说服懒惰的同伴加紧工作,实现团队的目标? | 晓之以情动之以理,说明这件事的利害关系,多和伙伴们沟通,希望他们能够明白团队协作的重要性 | |
理论素养 | 你上过什么数学,计算机或者其他理论课,请举具体的例子,说明你学的理论知识如何帮助你解决实际问题。 | 小学数学初中数学高中数学高等数学,计组,数据结构,C,java,数据库,windows编程,帮助我们锻炼独立思考的能力,学会了一些比较专业的知识,可以用编程解决生活中的问题 |
(2)回答问题
问题1: 我看了这段文字”软件工程师的个人能力的衡量与发展“这一块的内容。于是有了这样的问题,在软件开发中会经常碰到问题,往往有些问题难以克服和解决,这些会干扰到开发者的心理,影响今后的发展,甚至对软件开发想过放弃,好比我们在学习中对编程这一块一直发展不起来,经常会遇到问题,难到想放弃。诸如此类问题我们应该怎么处理P47
坚持是最重要的事情,自主学习一定会遇到困难,一定会感到枯燥,一定会觉得寂寞。这些都是你必须趟过去的坎,如果你放弃了也就放弃了,只有当你杀出一条路后回头再看,才能看到自己成长。量变引发质变。其实兴趣也很重要,我觉得一定要有兴趣才选择这条路,兴趣的力量是无穷大的,能够帮助我们克服各种各样的困难,也不会因此而失去信心,让我们有坚持下去的动力。
问题2:”人们为了解决现实社会中的各种问题,要求助于软件,人们的需求五花八门,那么软件团队该如何才能准确的而全面的找到这些需求呢“,于是有了这个问题,人们的需求是不断的变化,当我们此刻获得了需求开发出了软件,但是那时人们的需求又发生了改变,有没有什么方法能够使我们的软件与时俱进,只要做出微调就能适用于同类需求,而不需要每次都作出新的调整呢。P159
我想在目前软件行业发展的基础上,最好的方法还是多加强沟通,多学习国外的软件管理和规范,客户和老板要多考虑业务实际需求,项目经理严把关卡,开发人员也要学会拒绝。需要客户、老板、项目经理、开发人员四者配合才可以妥善解决。加上加强程序的可扩展性,增加程序的可修改和可升级的空间。也应该多了解这个方面未来的走向。
问题3:‘’2001年开始一些专家开始倡导”敏捷“的价值观和流程,他们肯定了流行做法的价值,但是强调敏捷做法更能带来价值。”有了这个问题,结合敏捷流程的12个流程,敏捷做法有哪些优势和劣势呢。
敏捷流程有适用范围的
1.项目团队的人数不能太多2.项目经常发生变更3.高风险的项目实施4.开发人员可以参与决策
结合以上12条原则可的出优劣势
优势:敏捷确实是项目进入实质开发迭代阶段,用户很快可以看到一个基线架构版的产品。敏捷注重市场快速反应能力,也即具体应对能力,客户前期满意度高。
劣势:敏捷注重人员的沟通,忽略文档的重要性,若项目人员流动大太,又给维护带来不少难度,特别项目存在新手比较多时,老员工比较累。需要项目中存在经验较强的人,要不大项目中容易遇到瓶颈问题。
问题4:那怎么样才能让别人喜欢你的创新呢我们应该考虑以下几点。创新和目前流行的做法相对比,有什么优势”。有了这个问题,如果我们的创新和伙伴的想法有了冲突应该怎么办或者说颠覆了目前流行的做法应该怎么办。
冲突有两种不同的性质,凡能推动和改进工作或有利于团队成员进取的冲突,可称为建设性冲突;相反,凡阻碍工作进展、不利于团队内部团结的冲突,称为破坏性冲突。其中建设性冲突对团队建设和提高团队效率有积极的作用,它增加团队成员的才干和能力,并对组织的问题提供诊断资讯,而且通过解决冲突,人们还可以学习和掌握有效解决和避免冲突的方法。每个人的想法都有优缺点,尽量做到求同存异。对于颠覆性的创新,没有查到更多的资料,往往会呈现出两个方面的发展,发展很好或者一蹶不振。那么我们当我们考虑好一切问题后是否去实施,这个问题还未解答。
(3)再提问题
1.编程水平达到什么程度时适合进行结对编程?
2.在软件开发中我们要怎么理解创新?
3.什么样的条件下才能做到让软件为所有人服务?
4.怎么处理可以提高用户体验?
5.团队编程的质量高低的关键因素是什么?