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