在前期已经讲过怎样分析本身,对本身进行一个准确的定位,选择一个合适的求职方向!并结合本身的实际我的状况来写一份针对性很强的我的简历!我的简历就是我的的广告!好的简历能够更受到用人需求单位青睐!好的简历才能让你得到面试的机会!咱们还针对面试列出了j2ee方面的知识点!无论是笔试仍是面试都是会考到这些很是重要的知识点!面试的技术内容并不会有想象中的那么难,主要注重基础和细节!细节决定一切!因此列罗的那些知识点是须要下功夫去准备的!固然列罗的那些知识点只是一些在面试中常常会出现的问题集!每家企业均可能超出这些知识点的可能(就不要骂我了)!本身去准备吧!程序员
技术方面的考核一般分为笔试,技术面试;其中技术面试又分为专业知识面试和项目经验考核。应该说来笔试和专业知识面试都是考核你对某方面(j2ee或.net)知识的掌握和熟练程度!而项目经验考核则是看你是否是拥有项目经验,是否是适合企业的用人须要,是否是须要企业为你付出培养的成本,是否是你可以立刻投入到工做中去.企业是以你的项目经验做为衡量你的工资标准的!因此就是会出现有些同窗可能在学校学习成绩很好而企业给他开的工资并不高,而有些同窗的学习成绩通常反而获得高工资的缘由!专业知识的考核只是企业了解你具备这方面的专业素养和能力!其实有时笔试成绩差一点或者你感受在作笔试题的时候有些题目没有作出来或答错了并无关系的。在技术面试的时候,在回答专业知识方面的题目不够理想,也并不起决定性的做用!总之笔试和专业知识面试的答题达到企业要求的70%就能够了!固然若是你在专业知识方面表现的太差,考官对你也就没有多大的兴趣了!可是最能决定企业下定决心录用你的关键在于你的项目经验(排除企业特别强调英文等其它方面能力外)。说了这么多好像都没有说到正题,这是由于让你们更清楚的了解回答好项目经验方面的问题是多么的重要。而这方面又正好是刚从学校出来的学员十分薄弱的,而且针对这方面介绍也十分少! 下面咱们就来谈谈面试中关于项目经验的问题及应该从哪些方面进行回答!面试
分析:这是在任何面试中都会遇到一个题目,看起来这个问题是十分简单的,可是每每咱们并不知道考官问这个题目是但愿从你的回答中得到什么信息!因此咱们就很容易走题,跑题,不入正题!不能立刻就吸引考官。请记住抓住面试的每个机会来推销本身。可是每每咱们不知道从哪里谈起。因此咱们得先了解考官想要获取什么信息呢?spring
1. 你的从业时间 你从事相关的工做有多长了数据库
2. 你的教育背景 你是否受过良好的教育编程
3. 你的工做经验 你是否有过具备必定的工做经验安全
4. 你的项目经验 你是否有过丰富的项目经验架构
5. 你不同凡响之处 你是怎么进行项目开发的,有什么特别之处,或者你在哪些项目中框架
取得过哪些成功,或者有哪些本身以为骄傲的地方数据库设计
6. 你最擅长的地方 你最擅长的技术是什么?工具
7. 你的性格 你是怎么样的一我的
怎么回答: 咱们一一来分析吧,首先从业时间通常回答你进行软件项目专业开发的时间.千万不要把你之前在大街上卖过鱼蛋或到夜市卖烧鸡等时间计算进来.工做经验也是,你至少有在一家公司呆过吧.不要告诉我你只学过j2ee或.net半年时间,就想来我公司混饭吃.要和你的简历对应起来.通常至少1年半以上.
教育背景:若是你上的大学及所上的专业比较对口,就说出来,非否就不要提了.总之是要扬长避短 工做经验:也就是之前在什么公司上过班,与你简历上的一致就能够了.只说与软件开发的工做经验,其它的就不要提了 项目经验:你曾经作过的自认为比较好的项目,这里特别重要,先用一句话来归纳项目,而后把项目的功能及子功能所有叙述出来. 你不同凡响之处:也以说你在项目你以什么独特的方法得到什么不一样的效果,主要是可以结果具体的项目或能举例说出来. 最擅长的地方:主要告诉对方你最擅长哪方面的技术,是需求分析?编码,或数据库或架构 你的性格:用一两个词来形容你本身,描述你的性格.
回答实例: 面试官:请简单的介绍一下你本身吧!
令狐冲:您好,在下令狐冲.从事j2ee开发工做3年时间.20002年至2005年在大宋桃花岛软件谷皇室软件公司从事j2ee项目开发.其间开发过大宋侠士综合管理平台.大宋侠士综合管理平台可以自动收集大宋各路侠士,英雄好汉,隐居高人信息并对他们的我的信息及所做所为进行跟踪管理,实现侠士信息维护,查询.侠义事件维护,侠士等级管理,侠士奖惩管理,侠义活动发布,抗灾募捐管理等。鄙人在项目中主要负责需求分析,架构设计和框架类代码实现。在项目开发中善于与客户沟通,充分理解客户需求。具备极强自学能力,在大宋藏经阁中通读了大量的软件项目开发秘籍,具备藏文,印度文,金文的读写能力。
分析:考官经过看你的简历或者你的介绍来了解你所作的项目,那么考官确定想更详细的了解您的项目,看是否是与你的简历写的项目经验一致。也就是考核你是否具备真实的项目经验。通常来讲,在你的简历至少有一个重点项目,放在简历项目经验栏的第一位。把项目的业务功能描述清楚。在这里你就是重点谈一个项目就能够了。从下面几个方面来进行陈述。
1. 用一句话简述项目
2. 详细的列出项目实现的功能
3. 说出项目实现的技术和架构,能说出项目的不寻常之处,好比采用了某项新技术,采用了良好的架框等
4. 能让别人感受出项目的规模
5. 说出你在项目中的责任
经过这些来证实你是的确开发过了这个项目,而且这个项目是一个真实的。还有就是你是真正具备项目经验的。乎合企业的用人须要。
特别注意要把项目所实现的功能描述得越详细越好。固然用词要简洁,表达要流利。其次要尽量采用专业术语,显得你的专业。不要犯低级错误。
请记住,你要描述的是整个项目而不只仅是你作的那一个模块。有些项目你只参与了其中一个模块,可是你要把整个项目描述出来,不要仅仅描述你参与的那一个模块。
说出你项目采用的技术及架构,还要能说明你在项目中的责任。
回答实例:
面试官:令狐冲,能介绍一下你作的大宋侠士综合管理平台吧!
令狐冲:好的,大宋侠士综合管理平台是为大宋武林联盟开发的,实现武林联盟管理的自动化。大宋侠士综合管理平台可以自动收集大宋各路侠士,英雄好汉,隐居高人信息并对他们的我的信息及所做所为进行跟踪管理,实现侠士信息维护,查询.侠义事件维护,侠士等级管理,侠士奖惩管理,侠义活动发布,抗灾募捐管理等。
系统基于B/S三层架构,采用spring + hibernate + Spring MVC框架.使用Oracle 数据库.
本项目只投入15我的,开发周期为6个月。本人在项目中进行了前期的需求分析,系统架构实现,数据库建模,及部分编码工做。
分析:这个问题是考核你是否熟悉软件开发的流程,同时也是考核你的项目经验,你的专业素养,从这里能够判断出你参与过多少项目,能够判断你对软件工程的理解和熟悉程度。这个问题是十分关键的,你须要准备的知识点有:软件项目的生命周期、软件项目的开发模型、面向对象的分析和设计、软件质量保证等。
软件项目的生命周期:
项目计划
需求分析 设计(概要设计和详细设计) 编码 测试 发布 维护
项目计划阶段:走访客户,进行交流沟通,得到客户原始需求。
对客户的需求和市场等进行调研,分析,编写可行性分析报告。
经过不断的与客户沟通,找客户不一样环节的用户进行交流来获取需求。召开评审会议,报告可行性分析,报告用户原始需求,报告项目远景规化。
需求分析阶段: 在客户原始需求的基础上不断与客户沟通,充分的熟悉和深刻客户业务,得到充分的业务需求,完善用户需求和功能性需求,了解客户的相关约束而得到非功能性需求。最终编写《需求规格说明书》;召开需求评审会议,客户肯定需求,并签订合同;编写项目计划说明书;编写测试计划;召开项目启动会议,项目正式启动。 概要设计阶段:根据《需求分析说明书》,进行用例分析,得到充分而有效的用例。编写界面原型,编写编码规范和界面风格规范,数据库设计规范。用uml工具画用例图,编写有效的用例规约文档。划分项目功能模块.评审用例及用例规约文档。 详细设计阶段:根据完整的用例及需求进行分析,得到数据库所需的相关信息,画数据库E-R图,编写数据设计说明书.进行数据库建模。进行详细的分析,用uml工具画类图,肯定每一个功能模块的子功能,抽取项目的公共部分红为一个公共模块。肯定项目的架构基础。肯定须要用到的类及类成员和方法。肯定一些辅助类及方法。对每个用例都用uml工具画出顺序图。编写详细设计说明书,评审详细设计说明书, 进行基础框架搭建。列出任务清单,进行任务分配。 编码阶段:以小组的形式进行代码编写,编写单元测试用例,每完成一个类都要进行单元测试。每完成一个功能点和模块都要进行集成测试。确保每个功能点和模块完成后都是一个能够看得见、摸得着的产品。而不是等到最后才进行统一的调试和搭配。天天都要对代码进行检查和优化,也就是所谓的重构。 测试阶段:根据测试计划对项目进行系统测试,以及用户的验收测试 产品发布:交付完整的产品和设计文档。把产品布署到客户的计算机上,确保产品的正常运行。客户签收。 维护阶段:为客户提供技术保障,对产品进行相应的维护和升级工做
瀑布模型:最经典的过程模型,适用于需求明确,规模较小的项目
喷泉模型:迭代,无间隙特色,适用于面向对象的软件开发过程 螺旋模型: MSF模型:微软解决方案过程模型
什么是极限(XP)编程:极限编程是对敏捷软件开发方法的一种实现。它强调测试先行,也就是在编写代码的时候先编写测试用例;循环迭代,每一次迭代都是一个可用的产品;重构,不断的对代码进行优化;结对编程,两我的为一对共同进行代码编写;它强调团队之间的知识传播,让团队的每一个人都能熟悉软件开发的各类技术。如:支持熟悉数据库的人去作界面,作界面的人去作数据库等,经过不按期的角色转换来加强团队的能力。要求客户参与到软件开发中来,开发出最适合客户需求的产品。
单元测试通常是在编码的时候同步进行的,通常是以类为单位进行测试,当一个类完成了编码,并编译正确后才进行的测试,测试这个类是否已经可以实现指定的功能。一个类可以正常的编译成功并不意味着这个类就已经完成了,还要经过测试,设置断言来肯定他是否已经达到了预期的效果,实现了特定的功能。调试,编译经过只能证实代码的语法没有错误。
单元测试由程序员本身来进行,也能够在项目小组内交互进行。单元测试是采用白盒测试
集成测试通常指实现了一个功能点或一个模块后,为了测试这个模块是否已经实现了需求要求的功能。集成测试可能须要对多个类进行组装,也可能须要与之前已经测试经过的模块进行组装,是对产品组件的系统整合和执行。集成测试能够根据模块的大小分不一样的级别,在现行的软件开发中,每完成一个功能模块都必需要进行一次集成测试,使得你完成的模块是一个能够运行的产品。集成测试通常能够由项目小组的负责人(或指定一个小组成员)来完成。集成测试采用白盒式测试和黑盒测试
系统测试通常指项完代码已经所有完成,交给测试小组来进行测试。进行系统测试的人员独立于开发小组,系统测试人员把完成的产品布署在相应的计算机环境中,遵循测试计划进行测试,验证系统是否知足了指定的需求。系统测试除了测试产品应知足基本的功能需求外,还要对产品的性能,用户界面,安全性,压力,可靠性,安装和反安装等几个方面进行测试
系统测试采用黑盒测试
验收测试通常指产品交付给客户,负责把产品布署在指定的计算机环境中。由用户根据需求文档,进行的整体测试。验收测试的内容和系统测试同样,只是执行者不一样。都是除了测试系统完成基本功能外还要对性能,安全性,可靠性等进行测试。验收测试也是采用黑盒测试
为何须要测试?测试是对软件质量的保证,只能经过严格测试的软件才是合格的软件,测试并非说让软件可以编译经过,测试是让软件产品最大程度的知足客户的需求度。
回答实例:
考官:令狐冲,能谈谈大家是怎么样对这个项目开发的吗?
令狐冲:首先,咱们这个项目已经有了一个基本的用户原始需求。但这是不够的,咱们都知道需求分析是十分重要的,因此咱们在用户原始需求文档的基础上,再次进行了分析,经过不断的与客户沟通,充分的了解和熟悉用户的业务,完善了业务需求和功能需求。还对用户业务需求和功能需求分析完善为实现软件的必须的非功能性需求。得出项目需求规格说明书,通过评审会议确认经过。
根据需求规格说明书进行用例分析,经过分析和讨论找出充分的有效用例,并用Rose画用例图。对每个用例进行详细的分析,完成每一个用例的用例规约文档,并编写界面原型。划分项目模块。最后对用例及用例规约文档进行评审验证。编写”代码编写规范”及界面风格规范,数据库设计规范,编写概要设计说明书。
根据需求规格说明书和分析各个用例规约文档,得到数据库的基本信息原型。也能够说是数据库表的草稿,根据数据库表草搞进行分析,进行数据库设计和优化。编写数据库设计说明书。采用PowerDesigner进行数据库建模,并生成SQL脚本。肯定项目框架,设计公共模块和辅助类。根据对数据库模型和用例规约文档的分析,列出对象清单和理清对象关系。用Rose来画类图。对每个用例都用rose画出时序图。编写详细设计说明书。列出任务清单,分组进行代码编写。
在代码编写阶段,先统一完成全部的实体类。对于非实体类则先完成类的框架,也就是只写方法和注释文字。具体方法的实现暂时为空。而后再进行代码填写。每完成一个类的代码编译经过后都要进行重构和单元测试。每完成一个功能和模块都由会由小组长进行集成测试。使得完成的模块是一个真正能够运行的,可见的功能实现。
在各个小组都完成本身的模块后就进行模块整合,进行一次大规模的集成测试。而后把产品产给产品测试小组进行系统测试。
问题之4、大家是怎么保证软件开发的质量的?
分析:这个问题其实上面的讲解已经给了答案了。软件质量是软件实现对需求的知足度。开发的软件越知足客户的需求,说明软件的质量越高。反之就是质量越低。尽管你开发的软件使用了新的技术,良好的设计,丰富的功能;可是这些功能都不是客户须要的,客户须要的功能没有实现或者是不少没有实现。这样的软件也是失败的软件。为了保证软件质量,也就是让开发的软件最大程度知足客户的需求,只有两个方法。一个是得到充分完整的需求,二是能过测试,以需求为中心编写测试计划。来保证软件合乎需求。
回答实例:
考官:大家是怎么来保证软件的质量的呢? 令狐冲:要保证软件的质量首先就要得到完整的需求,在需求分析阶段作了大量的工做与客户各个环节的表明性用户进行沟通,充分了解和熟悉客户的业务。而且从需求到设计阶段都保持与用户的沟通和交流。让用户的业务专家一直参与咱们的需求,分析和设计工做。
其次咱们会在需求分析后就编写测试计划,在开发的每一个阶段都进行相应的测试来保证代码是乎合相应需求的。在代码编写过程当中,每完成一个类都由程序进行单元测试,每完成一个功能点或模块都要进行集成测试,每一次集成测试都对上一次的已经测试经过的产品进行迭代, 也就是之前测试成功的都会加入到本次测试中来。使得每一个完成的功能和模块完成后都是一个能够运行的,能够看获得的产品;同时也欢迎用户来见证咱们的集成测试结果。代码编写完成后进行最后一次集成测试,而后交由独立的测试小组对项目进行系统测试。
问题之5、你为何离职的?(你为何离开之前公司的?)
分析:这个问题几乎在任何场合的面试都会有,有时是在技术面试的时候问,有时是在人事面试的时候问,有时会在技术面试和人事面试的时候都问。其实也比较好回答,回答的抽象一点比好。切记不要说之前公司的坏话,若是你这样作。人家会想,你之后离职后一样也会说这家公司的坏话.通常都是说为了某求更好的发展空间。让人感受你是通过深思熟虑后才选择他们公司的。
回答实例:
考官:你为何离开之前公司的? 令狐冲:之前公司对我很好,我在之前公司干得也很愉快。我由于合同到期,为了得到更好的发展空间及谋求对本身能持续发展的环境。并向公司办理了离职手续,完成了工做交结。(后面这句也能够不谈)
问题之6、谈谈你的职业规化
分析:企业都但愿他所招聘的人是潜力股,看你是否是一个追求上劲的人,还有想看看你可以在企业长期干仍是仅把其当着一个跳板。总的说来,回答这个问题要让人以为你是一个可培养,有潜力人。记住要看是什么样的人来面试你。若是是项目经理来面试你,你就不要说你之后的职业规化是项目经理。你就能够说你的职业规化是成为架构师,或者是技术专家等。不然他可能会认为你是一个对其有威胁的人。就算他心里知道这不算什么,可能心理总会有一点点不爽。若是是老总面试或人事问你这样的问题,你则能够说项目经理也无妨,不过要给人有一种觉稳的感受。
回答实例:
考官:你的职业规化是怎么样的呢?(考官是项目经理) 令狐冲:我思惟能力比较强,擅于逻辑分析。在以前的工做中积累了必定的架构经验,之后就想成为一名架构师和技术专家
写在最后:上面的这些问题都是面试中十分常见的的问题,比较难以回答的。有些看似简单殊不知从何提及。有些看似复杂却又并不复杂。由于不少人都缺乏项目经验,对软件开发的过程相对陌生,而老师讲这方面的知识也比较少,若是你没有必定的代码和项目积累就算老师讲你也很难去体会、理解。再说这方面的内容太要求实际经验和日月积累,老师也很差讲。如今我采用把枯燥的概念和实际的项目结合起来进行概括,从而造成这样一个答题技巧。而且对其中的一些技术结合实际进行分析和总结。但愿阅读者能快速的知其然也知其因此然。从而可以提升面试的成功率。固然这仅仅是一个答题技巧,关键仍是须要知识的积累。有道是“不积跬步,无以致千里;不聚细流,不以成江河”。此次完成此文也是我本身对知识的一次梳理,我并无去查阅和考证书本。我想彻底经过本身的语言来描述项目开发的过程和一些细节。又因我实在是才疏学浅,真的但愿你们能对个人不当及错误之处指出并加以指教,我就涕感泪流了。无论是技术仍是人生,我才刚刚上路呢!
但愿它可以对未就业的学员的就业及对张老师的工做能有所帮助!