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