下面就是小编给大家整理的程序员面试笔试经验(共含8篇),希望您能喜欢!同时,但愿您也能像本文投稿人“shishi521”一样,积极向本站投稿分享好文章。
程序员面试笔试经验
【目标】
相信和不少朋友一样,有了几年工作经验成为Senior后就开始了面试别人的经历,我在最初这个阶段只是按照自己的想象把”找到基础好的程序员 “,”找到算法能力优秀的程序员“,”找到有Android开发经验的程序员“等作为面试的目标。但是,实际的经历告诉我,尤其是按“基础好”,“算法好”这些目标招到的人最终效果并不好。比如,有的面试者基础知识和算法掌握情况不错,进程、线程、内存等概念清晰,基本的Hash,二叉树,快速排序等数据结构和算法也比较熟悉,但是进公司后在实际工作中表现得很糟糕。后来,我才发现原来是我的面试目标出了问题,我原先的面试方法更像是大学的算法或操作系统期末考试,按照这种方法让许多并不合适的人通过了面试,同时也可能错过了许多合适的人。
后来,我的反思是,从公司的角度讲,面试的根本目的是找到“能够干好工作”的人,而“高学历”,“算法好”,“基础好”,“有经验”这些都是表象而不是根本,它们并不能直接和“工作好”划等号。
【方法】
目标明确了,但接下来的问题是假设面试者是一个黑盒系统,“工作好”不是直接可观测变量,你所能直接观测的变量是基础、算法、经验、学历、性格、谈吐、年龄等等。所以,实际上,你只能从“基础好”,“算法好”等可以直接观测的量去推测“工作好”的概率,这就是一个在“X好“条件下"工作好“的条件概率问题:P(工作好 | X好)。
根据这个模型,面试所应该考察哪些方面就很明显了,那就是选择那种最具有区分性的方面来考察。比如,考察面试者的体型特征没有太大意义,因为 P(工作好|高),P(工作好|矮),P(工作好|胖),P(工作好|瘦)的概率都差不多;所以,体型特征不具有区分性,这不是面试所应该关注的内容。
面试官应当结合职位的要求明确哪些因素具有比较好的区分性。比如,如果要招一名技术门槛比较高的3D游戏引擎开发工程师,面试者A具有3D游戏引擎开发的经验,但是在基础知识和算法面试方面表现一般;面试者B相反,基础知识和算法面试表现很好,但没有游戏开发经验,而你只能选择其一。你选谁呢? 其实,这就是两个条件概率问题P(工作好|经验好,基础一般,算法一般)和P(工作好|没经验,基础好,算法好)。这个问题就留给面试官来判断了,就我个人而言,对于技术门槛较高需要技术积累的职位,经验更加说明问题,因此,我更倾向于面试者A。
下面,我再结合自己的经验谈谈对面试中常见方面的看法。
【算法】
算法是Google和MS等大公司面试所重点考察的内容。我个人很喜欢算法,曾经参加ACM/ICPC拿过北京赛区的13名,
但是,就个人经验来看,我所接触过的绝大多数开发职位而言,算法都不适合作为考察面试者优劣的主要因素。对于普通的非算法性开发职位,考察面试者的算法就相当于考察他打乒乓球好不好一样,与目标“工作好”的相关性太低。就我个人的经验来看,差不多P(工作好|算法好)=50%,也就是算法面试没有太大的区分性。
甚至,还有一种很不好的情况特别多地出现在算法好的'面试者身上,我称之为“只磨刀,不砍柴”。什么意思呢?有类人只对什么A*算法,异步编程,JVM类加载机制这种纯技术问题感兴趣,对实现用户需求毫无兴趣。这类人看起来有一定的技术能力,但是对公司来讲贡献十分有限,甚至不如技术一般但认真负责的人。所以,一旦遇到面试者算法好,我就特别留意考察会不会是这种“只磨刀,不砍柴”的人。
另外,虽然我个人不了解Google和MS,但我对于其特别重视考察算法能力的面试策略是持怀疑态度的。即使在这样的世界级大公司,算法虽然重要,但可以想象在项目实施过程所遇到的各种各样问题中,算法问题绝大多数时候不会是主要瓶颈,没有到那种需要每个人都是算法高手的情况。实际上,绝大多数项目真正难点并不是一两个算法瓶颈,甚至也不是单点的技术瓶颈,而是系统性的组织、协调、设计、开发问题,有大量的看起来不是那么有技术含量的脏活累活,也有许多问题是由于信息不足,并不是技术能力强就能克服这些困难。一个团队最好优势互补,有人算法强,有人业务分析能力强,有人擅长后端服务,有人擅长前端界面,有人聪明,有人踏实,这是最好的。如果按照“算法好”的单一标准选材,必定会把许多优秀的人才拒之门外。
补充:在更多地了解了Google和Facebook等一流公司的面试细节之后,我对这个问题的认识有了一定的改变,实际上这些公司在面试过程中并不完全强调技巧性很强的算法,而是更加注重编码(Coding)能力,只是在进行编码测试的过程中往往是通过一些简单算法题来进行的。我对于这种面试方法越来越欣赏,并且也作为了我们公司面试过程中的重点环节,因为编码能力的测试是十分必要的,它有着知识性问题无法取代的作用,如果一个面试者连“判断一个字符串是否是另一个字符串的子串”这样的题目都无法正确并快速地实现,那么基本上可以直接排除了。我这里所强调的是不必考察高难度的算法问题,并非不重视编码能力测试,请读者不要误解。
【基础】
基础面试是指考察诸如指针使用、进程线程概念等基础知识的面试,十分类似于大学期末考试题。我曾经以为基础面试十分重要,但是现在不这么看了。在工作中基础的确是重要的,但是在面试过程中,它必须具有区分性才有意义,也就是说P(工作好|基础好)的概率要高,那么考察指针使用,进程线程区别这样的基础题目才有它的意义。我的实际经验是,基础面试并不具有很好的区分性,和算法一样, 差不多P(工作好|基础好) = 50%。同时,基础面试是最容易准备的,中国人有长期的应试教育经验,要准备几个把玩指针题目太容易了。
我曾经遇到过这样的面试者,他的C语言基础和编译、链接等原理掌握得非常好,给我留下了深刻的印象,我给的面试结论是:知识面不宽,只会C语言,但基础很扎实,建议录用。后来的事情证明了那个结论的前半部分是对的,但是”建议录用“错了。他在实际工作中表现得一塌糊涂,不理解需求,不理解整体架构;同时,上班时间不是花在项目上,而是花在阅读诸如《程序员的自我修养》之类的书籍上。最后,这位同事由于长期“不出活”离开了公司。
程序员面试笔试真经
作为面试官,在面试程序员时,都会关注哪些问题?而程序员应该从哪些方面做好面试的准备?本期话题相信对面试官和求职者都会有所启示,
与其他岗位相比,程序员相对来说会内向一些,思维也会更严谨、更有个性。企业招聘程序员就是要求他能和团队一起完成既定的开发任务,所以重点从技能水平、学习能力、团队合作及工作心态等几个方面考察程序员。
技术水平是对程序员最基本的要求,很多企业会通过笔试来辅助考察。技能的考察主要看面试者技能匹配度、对技术发展趋势的了解以及自己的职业规划。
1. 你认为自己最擅长的技术是什么?
2. 谈谈你对XX行业/技术发展趋势的看法?对最近XX技术问题发表下你的看法?
3. 在五年的时间内,你有什么样的职业发展规划?
技术快速更替,员工的求知欲和学习能力比他现在的技能更为重要。宁愿招聘一个学习能力很强的员工,也不要一个靠吃老本、不愿学习的员工。
1. 你最近有看哪些书或参加过什么样的培训?有灌技术论坛的习惯吗?
2. 今年有什么学习计划?今年有什么目标?
3. 研究过开源项目吗?有什么收获?
在现在的软件开发中,已经没有所谓的“孤胆英雄”,项目主要靠团队合作来完成,而团队合作能力可以通过考察以往项目,来了解面试者对团队的理解、遇到问题的解决思路等。
1. 你做过哪些项目?最成功的是哪个?为什么?
2. 辛辛苦苦工作半年的项目失败了,你怎么办?
3. 评价下你过去的.团队?你喜欢在什么样的团队中工作?
4. 你的业余爱好是什么?
招聘新员工,需要了解面试者对工作的心态和价值取向,并且与他沟通公司的企业文化,
如果你所在企业需要快速发展,有高强度的研发任务,而他想找一份轻松的工作,可能就不是很合适了。
1. 为什么选择离开上一家公司?
2. 有了解过我们公司的产品/服务吗?
3. 你对加班的看法?你家人或朋友抱怨你加班怎么办?
4. 如果在试用期发现你技能不符合要求,该怎么办?
最后,技术人员的有效沟通能力也非常关键,特别是对问题的分析和说明,所以在整个面试过程中你要观察面试者的分析思路,对问题重点的把握以及表达。经常有一些滔滔不绝、但不知所云的面试者,让人非常头疼!
程序员的能力分为两种:技术能力和非技术能力。技术能力包括编码能力、系统分析与设计能力;非技术能力包括写作能力、沟通与协作能力、组织与管理能力等。而根据程序员的能力水平,可以将程序员分成初级、中级、高级三个级别。因此,在面试过程中我会针对初级、中级、高级程序员三个级别来提出不同的问题。
在技术能力方面,重点考查初级程序员的编程能力、中级程序员编程能力并兼顾系统分析的能力、高级程序员的系统分析与设计能力。在非技术能力方面,重点考查初级程序员的沟通与协作能力、中级程序员的写作能力(主要指编写技术文档,如需求分析文档、用户手册、部署手册等)、高级程序员的组织与管理能力(如指导、协助中级程序员进行问题分析和开发)。
在面试时,程序员首先要将自己的技术能力展现出来,以一种交流的心态去面对,不要紧张,要有自信,即使面试失败自己也要下去总结失败的原因,找到技术弱点加以弥补;其次,面试中遇到不会的问题要讲明自己的思路,因为有些问题不是考你的编程能力,而是逻辑思维的能力;最后,对照程序员能力模型进行自我分析与评价,做好职业规划,不断学习,提高自己的编程能力和抽象思维能力。
以SQL Server为例,我来分享一下面试时常问的一些技术问题。
程序员面试笔试宝典
英文面试与中文面试有很多相似之处,但由于英文语言自身的特殊性以及中英文化的差异性,使得常规的应对中文面试的方法与策略无法完全满足在英文面试中的实际需求,还需要针对英文面试的特点制定一些应对措施,
除了需要掌握一些常见的面试技巧以外,因为英文面试的特殊性,在英文面试中,还需要重点注意以下一些特别事项:
(1) 描述口语化
针对面试官的提问,在用英语回答的时候,求职者不要为了说英语而说英语,不要大量使用事先准备好的花哨词汇及句式,而真正针对面试官所提问题的、与工作有关的个人见解却很少,内容空泛,逻辑混乱。最后可能得到一句英语不错的夸奖,除此之外,什么都没有了,自然也不会被录用。所以,作为求职者,要明白一个道理,用简单直白的语言表现最具魅力的自我,才是英文面试的最高境界。有些人习惯于堆砌华丽词藻,明明可以简单描述的内容,非要用多种从句加以限定,恨不得在面试中用大气磅礴的英文演讲征服面试官,其实又犯了舍本逐末的错误,所以描述要口语化。
口语的`特点在于结构的不完整性和与说话场合的紧密依存性,口语中多使用“and”、“but”之类的连接词,并且需要多使用单一的动词结构,而少用复杂的并列句或从句。同时,在英语回答问题时,切忌语速过快,有些求职者以为只要在外国面试官前把英文说溜即可,越溜越能说明自己水平高,其他的无所谓,于是语速特别快。其实这是不对的,如果语速太快,老外根本就听不懂这种赶火车似的中式英文,英文面试的目的虽然也是问了考察英语口头表达能力,但不是炫英语口语,而是让国外面试官了解你,甚至对你感兴趣,最重要的是展示你的综合素质,绝非单单的语言能力,表达清晰是首位,流利是第二位。而且,语速过快也容易给人不自信、不稳重的错觉。
(2) 时态的变化应用
由于语言自身的因素,不同于中文表达,在英语表述中,当场需要注意时态的变化应用,当面试内容涉及个人经历、教育背景、工作经验、未来规划等问题时尤其重要,所以一定要使用正确的时态,否则面试官很可能弄不清求职者描述的内容是过去、现在或是未来将要发生的,影响其对求职者的认识,最终影响录用结果,
(3) 文化差异
由于面试带有一定程度的主观性,面试官的喜好都会很大程度地决定求职者是否能够获得企业的青睐,而面试官很有可能来自不同的国家与地区,有一定的个人倾向,所以在面试过程中,应该尽可能避免一些引起面试官不高兴或反感的问题。针对此种问题,首先要避免使用过于生僻的英文单词或是地方俚语等接受群体相对比较小的表达方式,这些表达方式有可能会造成听者的困惑与曲解。其次就是是要避免过多、过于主观地谈及宗教文化或时事政治方面的问题。所以,在求职的过程中,在不了解情况的状态下,如果谈到一些敏感话题,谨慎而有节制的发言才是上策。
(4) 以英语展示才能
对于非英语专业要求的工作,面试基本都是英语口试形式,而英文面试与英语考试的口试不同,面试官通常是由公司的人事主管、应聘部门主管或公司高层组成,所以他们更关心的是求职者的专业知识和工作能力,而对他们而言英语此时只是一种交流工具,求职者具备了基本的交流能力即可,而英语交流能力也只是求职者要展示的众多技能中的一种,并非唯一,并非最重要,所以在面试过程中,求职者切忌为了说英语而说英语,咬文嚼字、避重就轻都是不可取的,求职者应该针对面试官提出的与工作有关的问题,形成个人见解,简单明确的来展示给面试官。同时回答问题的时候切忌内容空泛,逻辑混乱,否则最后除了得到一句英语不错的夸奖之外,恐怕很难有理想的收获。
面试中的英文不在于求职者口语发音有多纯正、多接近老外的发音,关键是在于能与面试官无障碍沟通,听得懂,说得出,你能听懂别人的话,别人能听懂你的表达就才是最重要的,因为在流利的英语和聪明头脑之间,很多人都会选择后者的,更何况这些精明的面试官们。
相关笔试经验文章推荐:
堆和堆排序在笔试题面试题中的应用
“千分考”笔试时间将尽量错峰
南航乘务英语笔试
一、获取认证的时间和费用
Java的培训可以说是所花时间最少的课程,相应的考前准备时间也会远远少于那些动辄十天二十天的课程,在竞争如此激烈的IT界,时间因素是广大界内人士不得不考虑的问题。费用方面,对于Java认证来说,一般的上班族都还可以承受,特别Java程序员认证可以说是性能价格比很好的认证了(在校大学生一般也能承受)。
二、在国内的普及程度或曰认知度
国内目前的IT国际认证,位于前三甲的应该是微软的MCSE、CISCO的CCNA、Sun的SCJP。但是这三种认证在技术领域上是没有冲突的,Java是有关企业级开发的技术,MCSE是企业内部局域网组网和管理技术,而CCNA主要是基于CISCO公司产品的广域网技术。所以对于欲进入IT界或是IT界内想继续深造的人士来说,在希望取得某种国际认证时,也要仔细分析现在工作需要什么技术,或者将来希望从事哪方面工作,切忌盲目获取自认为最热门的认证。不过,这里提到的三种认证,即使拿到了,也并不能代表就是该领域的专家,可以说这只是一个基础,仅仅是找工作的敲门砖而已,余下的还需要自己到工作中去不断的发现,补充和完善。换句话说,这些认证的含金量,或者说企业对他们的认可度是远远比不上那些培训时间较长,费用较贵的认证类型的,例如Oracle的OCP认证,微软的MCSD认证等等。 Java认证的目的
美国Sun公司提供的关于Java的SCJP/SCJD认证是全球各大企业都认同的行业认证之一,其特点是培训和考试费用高、考试难度较大。那么,为何要进行Java的认证考试呢?其目的主要为:
Java认证是全球各大企业都认可的行业认证,获取该认证表明您有很高水平的Java编程能力,这样就可以拥有更多的找到好的满意的工作的机会,当然,这也同样为您的提升增加了一个很重要的砝码。
Java语言本身很简单,很容易学和使用,但也有很多的一些习惯用法与其它语言不同。获得JSCP认证将使您在Java编程中更具有专业性,同时也能极大地增强您的自信心。
使用Java语言可以编写简短、精确、清晰的一流的程序,但是其认证却是比较困难的考试,不过这却让SCJP考试具有更高的价值。
目前有很多要出国或者移民的人参加该项培训和认证,因为在美国或加拿大,Java编程的需求是非常大的。
三、SUNJAVA认证的内容和认知度
Java技术主要是讲授程序设计方面的知识,它的程序员认证(SCJP)课程可以作为企业级程序设计的入门课程来看待。其实该课程并不是从最基础的程序设计基本概念讲起,但与现在业界使用的其它开发语言比较,java还是比较流行的。而且Java技术是现在大多数企业在从事电子商务开发,企业信息化建设,Web应用开发时的首选技术。考取该认证的以在校大学生,希望移民加拿大的,及IT界中非开发人员希望转行做开发的为多。对于希望凭借自己快速学习的技能找工作的人来说,宁愿自己多花点功夫拿一个流行技术的认证,也不愿为了省事而去学一些没有任何技术资格认证的编程语言,所以它的吸引力还是很大的。 微软公司的MCSD课程也讲授企业级开发技术,但是它的起点比较高,一般学习该课程的同学都是使用了很长时间微软公司的产品,并且在企业级开发技术方面有一定基础的人。与获取Java程序员认证比较,不管是从学习的时间还是从学习费用考虑,MCSD都高于Java,而且要想获取该认证需要花的时间和精力也远远高于Java认证(不仅是Java程序员认证,也包括Java开发员认证SCJD)。
Oracle公司的数据库开发员(DEV)认证也是开发方面的技术资格认证,当然它偏重于数据库方面的企业级开发技能的训练。但是在Oracle的开发技能中Java技术所处的地位也是很重要的,因为从Oracle8i起是完全内嵌Java支持的,懂得Java技术的开发员做这方面的开发工作时会更加得心应手。从这个意义上来说,Java程序员认证也是一个基础(Oracle公司有自己的Java程序员认证课程,不过费用高于Sun公司的)。
Lotus公司的CLP开发员认证也涉及到开发的技术资格证书,该证书代表其所有者的技能能够对Lotus的Notes系统进行二次开发。不过学习该技术的人也最好具有Java基础,因为这其中也有很多编程工作依靠Java语言来完成。当然,该认证的应用范围是比较窄的,不过由于Lotus公司在国内的市场占有率情况不错,所以该认证还是具备一定的竞争力。
另外,微软、Oracle、Lotus也都有自己的网络或数据库管理方面的课程。而Cisco公司的认证则主要涉及广域网的组网技术。他们与Sun公司的Java分别属于不同的技术方向。
从以上叙述可以看出,Java技术作为很多专门技术的基础性技术而存在,这是Java认证得以受到大量人青睐的先决条件。
JAVA程序员面试经验
以下要介绍的是一份JAVA程序员面试经验
1.数据结构,主要涉及java.util包中的一些集合类。
2.OO。按照他的一段描述建模。主要是类的.继承关系以及接口实现。还有构造函数和析构函数在继承体系中的作用等等。
3.Java和C++在内存管理的不同之处。
4.JAVA的多线程机制。
5.反射机制的作用,以及在哪些方面使用了反射机制。
6.网络:TCP/IP协议,
HTTP访问机制。还问到了SSL之类。
7.DesignPatten:用过几种DesignPattern,J2EE中有哪些Pattern已经自动实现等等
8.数据库:比较EJB中的QL语言和SQL。还写了一段QL查询语句。
9.CMP中Home接口,Remote接口是如何实现的。
10.软件工程:常见的开发模型。平常项目管理中软件工程的运用。
技术面试大概从3:40开始,面完已经4:50了。最后面试官说看你的项目经历,再安排一个.Net技术面试。反正到此地 步,只能随意。不一会他回来说,有点晚了,.Net面试就取消吧,不过还有一个英语面试。小吃了一惊,因为根据sirily的 面经,不应该有英语面试的。还好,问了一些很简单的问题,马马虎虎混了过去。
程序员应聘面试经验
面试对于求职者来讲,应该也是属于一门必修课吧!因为面试之前都要进行一番了解,只有这样,我们在面试的时候,才能更好的发挥自己的能力和水平,才能赢得面试官的认可,下面是一位程序员的应聘面试经验之谈,对大家应该很有用,所以就跟大家分享分享。
第一、基础很重要,不要生疏了。
不管应聘什么开发岗位,基础永远是最重要的。IT业不停地在炒作新概念,昨天是SOA,今天是云计算。我们永远不知道明天流行什么,但是只要有踏实的基础,辅以较好的学习能力,要跟上步伐也不会太难。
所以绝大多数公司都会特别看重应聘人员的基础能力,比如编程语言本身的特性、基本的算法和数据结构、进程间通信等等,毕竟这些具体技术问题有客观的答案,而且在各具体行业都是相通的。
工作三年以上的人,往往都习惯了“拷贝+修改”式的工作,用不到的基础知识基本上都忘掉了,一到应聘的时候就难免眼高手低,总是抓不住机会。
而事实上,技术基础即便是遗忘了,也是可以很快捡起来的。如果你确实忘了很多基础知识,那么参加面试的前夜,花点时间把大学里的课本再翻出来看看吧。似乎很土的方法,但确实是有效的。
第二、要关注技术前沿。
不管做任何工作,如果只顾着低头做事,而不晓得抬头看天。那么不管做多久,自身的水平总是停留在毕业时的水平;如果基础又忘记了太多,那还不如毕业生。
关注技术前沿,并不是要求跟进每一个新技术,而只需关注目前主流媒体经常宣传的一些新技术、新思想。关注这些技术前沿的动向,并能将他们与自己从事的工作联系起来作一些深入思考,那么这是向面试官宣扬你的学习能力的一种好办法。
第三、小公司比较看重知识的广度,大公司更看重知识的深度。
如果你想去一些小公司工作,那么由于他们人少,分工没那么细,所以他们大多喜欢知识面广的应聘者--你会听到更多的“怎么做”。对于应聘这样的公司,你可以着重培养知识的广度,比如做网站后台开发,最好也能js、css、apache、mysql都懂一些,能独自搭建一套完整的网站,这样去很多小公司难度都不太大。但是由于个人的精力总是有限的,所以要注意不要铺得太开,重点还是在后台开发本身。
而大公司由于分工比较明细,所以往往更喜欢考量重点知识面的深度--你会听到更多的“为什么”。所以平常解决问题时,不要光搜索一把解决了就完了,还需要仔细研究各种问题的来龙去脉,并能分析总结,将这些收获系统化、理论化。
当然,广度和深度的需求不是绝对的,一个优秀的开发人员应该对至少一到两个专业领域有着深入的了解,并熟悉其他相关领域,也就是所谓的一专多能。
第四、良好的简历设计可以为你的应聘加分。
社会应聘的简历往往比校园应聘的简历写得随意,因为有工作经验的'人往往认为面试官会更看重他的工作经验,而不是简历格式。其实不然。
大多数简历只会出现在面试官面前10秒到1分钟不等。这个短短的时间内,如何让你脱颖而出?这个方面有很多的攻略,我只说重点建议,不解释原因。
一是简历要突出优势,而不是描述经历。比如出身名校、就职过名企、参与过著名项目、拿过大奖,这些比较客观的优势要重点突出。如果你没有UI的功底,那么简单地放大加粗也可以达到效果。当然有些公司只接受文本型简历,那就设法加一些特殊符号吧。
二是技术简历减少模糊化的语句,最好能数字化,
例如项目代码量,维护的数据量,网站的访问量,请求平均耗时等等。
三是简历要能结合应聘岗位做一些匹配的修改。撇开招聘网站通用的简历不谈,如果你明确对一个特定公司的特定岗位投出简历,那么你有必要把跟对应岗位无关的内容弱化,并强化跟其业务相关的内容。如果实在行业差别太大,那么表达几句对其行业的见解和兴趣也是可以的。
第五、要有积极的沟通意识。
优秀的面试官会激励应聘者讲他原先工作的内容,并从而评估出应聘者的能力水平。但隔行如隔山,绝大多数面试官会慢慢将问题引向自己熟悉的领域--这往往又是应聘者不太熟悉的领域。这就要求应聘者能积极分析面试官的兴趣点,并将自己相近的特长表现出来。一种可能的引子是这样:“唔,你问的问题我并没有直接遇到过。但是我做的XXX系统也许跟你的这个问题有些关联,你有没有兴趣听一听?”有哪个面试官会回绝你呢?
面试管也许会故意问一些模糊的问题来混乱你。但是不要怕,多问几个问题,定位清楚他的意向再简明扼要地回答一下就好了。
如果跟面试官有了意见冲突,也尽量不要再同一个问题上纠缠。那也许是故意制造的陷阱--看看你的团队意识。应聘者需要明白的是,在面试场合中不要妄图“战胜”面试官,即便是碰上一个期望“战胜”应聘者的面试官。
第六、要有良好的表达能力。
没有哪个面试官喜欢嗦嗦说了半天还是没说到点子上的应聘者,所以要尽量简明扼要地回答问题,除非面试官确实表现出对具体细节的兴趣。
回答问题时注意面试官的情绪变化,一旦他表现出任何想打断的意愿,立即一句话结束这个话题。
有些比较复杂的问题,可以先思考十到二十秒钟,因为一旦开口就没有思考的时间,话多的人不容易收住话题。
跟学校考试不一样,大多数主观性问题并不要求应聘者一二三四说得滴水不漏,能说到大部分关键点就是可以的了。
另外注意,各种技术术语不要搞混了。搞不清楚的理论概念,不如不说。免得面试官听到个术语就拉出来穷追猛打,把自己问挂。
第七、自信。
大多数做技术的,平时都信心满满,一到应聘的时候却总觉得自己不懂的东西还太多。回答问题时声音太小,或者畏畏缩缩用很多“可能”“也许”“大概”。
这个不一定影响你的录用,但是不自信的表现无疑会影响在跟HR谈薪水时候的议价能力。所以,无论如何,应聘的时候表现得轻松镇定一些,还是很有好处的。
当然,自信和自大之间往往只有一线之差。千万小心,不要过度地表现自信搞成了自大,因为HR往往对这一点非常敏感。
如果你只是要谨慎地表现自信的话,我觉得回答问题时面带微笑就够了。
最后需要特别提醒的是,以上种种其实只不过是应聘时的技巧和注意点而已。职业规划需要有长远的眼光和坚持不懈的学习。台上一分钟,台下十年功。真正的实力还是要在平时工作和学习中进行积累。
如果你真是NB到别人要来挖你的话,那你压根不需要应聘就总是能有好工作了。
更多相关的面试问题文章推荐,大家敬请继续阅读:SAP面试回顾销售工程师面试经验分享 技术工程师面试经验分享
1:请你介绍一下你自己这是面试官常问的问题。一般人回答这个问题过于平常,只说姓名、爱好、工作经验,这些简历上都有。其实,面试官最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分等。
2:说说你的家庭面试时询问家庭问题不是非要知道求职者家庭情况,探究隐私,而是要了解家庭背景对求职者的塑造和影响。面试官希望听到的重点也在于家庭对求职者的积极影响。
3:说说你的最大优缺点这个问题的概率很大,面试官喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分。
4:就你申请的这个职位,你认为你还缺什么?面试官喜欢问求职者的弱点,但精明的求职者一般不直接回答。他们希望看到这样的求职者:继续重复自己的优势,然后说:“对于这个职位和我的能力来说,我相信自己可以胜任的,只是缺乏经验,这个问题我想我可以进入公司以后以最短的时间来解决。”
5:你期望的工资是多少?这个问题不能直接回答,面试官希望听到:“以我的能力和优势,我完全可以胜任这个职位,我相信我可以做的很好。但是贵公司对这个职位的描述不是很具体,我想我可以延后再讨论”。
6:你还有什么问题吗?这个问题看上去可有可无,其实很关键,面试官不喜欢说“没有问题”的人,因为其很注重员工的个性和创新能力。如果有人这样问:贵公司对新入公司的员工有没有什么培训的项目?或者说贵公司的晋升机制是什么样的?面试官将很欢迎,因为体现出你对学习的热情和以及你的上进心。注意:面试过程中,求职者要尊重面试官,认真回答每一个问题,在回答问题之后说一句“谢谢”,能提高获胜的机会.
面试进行曲之技术面试(项目经验) 收藏
在前期已经讲过怎样分析自己,对自己进行一个准确的定位,选择一个合适的求职方向!并结合自己的实际个人情况来写一份针对性很强的个人简历!个人简历就是个人的广告!好的简历可以更受到用人需求单位青睐!好的简历才能让你获得面试的机会!我们还针对面试列出了j2ee方面的知识点!不管是笔试还是面试都是会考到这些非常重要的知识点!面试的技术内容并不会有想象中的那么难,主要注重基础和细节!细节决定一切!所以列罗的那些知识点是需要下功夫去准备的!当然列罗的那些知识点只是一些在面试中经常会出现的问题集!每家企业都可能超出这些知识点的可能(就不要骂我了)!自己去准备吧!技术方面的考核通常分为笔试,技术面试;其中技术面试又分为专业知识面试和项目经验考核。
应该说来笔试和专业知识面试都是考核你对某方面(j2ee或.net)知识的掌握和熟练程度!而项目经验考核则是看你是不是拥有项目经验,是不是适合企业的用人需要,是不是需要企业为你付出培养的成本,是不是你能够马上投入到工作中去.企业是以你的项目经验作为衡量你的工资标准的!所以就是会出现有些同学可能在学校学习成绩很好而企业给他开的工资并不高,而有些同学的学习成绩一般反而得到高工资的原因!专业知识的考核只是企业了解你具有这方面的专业素养和能力!其实有时笔试成绩差一点或者你感觉在做笔试题的时候有些题目没有做出来或答错了并没有关系的。在技术面试的时候,在回答专业知识方面的题目不够理想,也并不起决定性的作用!总之笔试和专业知识面试的答题达到企业要求的70%就可以了!当然如果你在专业知识方面表现的太差,考官对你也就没有多大的兴趣了!但是最能决定企业下定决心录用你的关键在于你的项目经验(排除企业特别强调英文等其它方面能力外)。说了这么多好像都没有说到正题,这是因为让大家更清楚的了解回答好项目经验方面的问题是多么的重要。而这方面又正好是刚从学校出来的学员十分薄弱的,并且针对这方面介绍也十分少! 下面我们就来谈谈面试中关于项目经验的问题及应该从哪些方面进行回答!
问题一、请简单的介绍一下你自己吧!
分析:这是在任何面试中都会遇到一个题目,看起来这个问题是十分简单的,但是往往我们并不知道考官问这个题目是希望从你的回答中获得什么信息!所以我们就很容易走题,跑题,不入正题!不能马上就吸引考官。请记住抓住面试的每一个机会来推销自己。但是往往我们不知道从哪里谈起。所以我们得先了解考官想要获取什么信息呢?
1. 你的从业时间 你从事相关的工作有多长了
2. 你的教育背景 你是否受过良好的教育
3. 你的工作经验 你是否有过具有一定的工作经验
4. 你的项目经验 你是否有过丰富的项目经验
5. 你与众不同之处 你是怎么进行项目开发的,有什么特别之处,或者你在哪些项目中
取得过哪些成功,或者有哪些自己觉得骄傲的地方
6. 你最擅长的地方 你最擅长的技术是什么?
7. 你的性格 你是怎么样的一个人
怎么回答: 我们一一来分析吧,首先从业时间一般回答你进行软件项目专业开发的时间.千万不要把你以前在大街上卖过鱼蛋或到夜市卖烧鸡等乱七八糟的时间计算进来.工作经验也是,你至少有在一家公司呆过吧.不要告诉我你只学过j2ee或.net半年时间,就想来我公司混饭吃.要和你的简历对应起来.一般至少1年半以上.
教育背景:如果你上的大学及所上的专业比较对口,就说出来,非否就不要提了.总之是要扬长避短
工作经验:也就是以前在什么公司上过班,与你简历上的一致就可以了.只说与软件开发的工作经验,其它的就不要提了
项目经验:你曾经做过的自认为比较好的项目,这里特别重要,先用一句话来概括项目,然后把项目的功能及子功能全部叙述出来.
你与众不同之处:也以说你在项目你以什么独特的方法获得什么不同的效果,主要是能够结果具体的项目或能举例说出来.
最擅长的地方:主要告诉对方你最擅长哪方面的技术,是需求分析?编码,或数据库或架构
你的性格:用一两个词来形容你自己,描述你的性格.
回答实例:
面试官:请简单的介绍一下你自己吧!
令狐冲:您好,在下令狐冲.从事j2ee开发工作3年时间.200至在大宋桃花岛软件谷皇室软件公司从事j2ee项目开发.其间开发过大宋侠士综合管理平台.大宋侠士综合管理平台能够自动收集大宋各路侠士,英雄好汉,隐居高人信息并对他们的个人信息及所作所为进行跟踪管理,实现侠士信息维护,查询.侠义事件维护,侠士等级管理,侠士奖惩管理,侠义活动发布,抗灾募捐管理等。鄙人在项目中主要负责需求分析,架构设计和框架类代码实现。在项目开发中善于与客户沟通,充分理解客户需求。具有极强自学能力,在大宋藏经阁中通读了大量的软件项目开发秘籍,具有藏文,印度文,金文的读写能力。
问题之二、谈谈你的XXX项目吧!
分析:考官通过看你的简历或者你的介绍来了解你所做的项目,那么考官肯定想更详细的了解您的项目,看是不是与你的简历写的项目经验一致。也就是考核你是否具有真实的项目经验。一般来说,在你的简历至少有一个重点项目,放在简历项目经验栏的第一位。把项目的业务功能描述清楚。在这里你就是重点谈一个项目就可以了。从下面几个方面来进行陈述
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画出时序图。编写详细设计说明书。列出任务清单,分组进行代码编写。
在代码编写阶段,先统一完成所有的实体类。对于非实体类则先完成类的框架,也就是只写方法和注释文字。具体方法的实现暂时为空。然后再进行代码填写。每完成一个类的代码编译通过后都要进行重构和单元测试。每完成一个功能和模块都由会由小组长进行集成测试。使得完成的模块是一个真正可以运行的,可见的功能实现。
在各个小组都完成自己的模块后就进行模块整合,进行一次大规模的集成测试。然后把产品产给产品测试小组进行系统测试。
问题之四、你们是怎么保证软件开发的质量的?
分析:这个问题其实上面的讲解已经给了答案了。软件质量是软件实现对需求的满足度。开发的软件越满足客户的需求,说明软件的质量越高。反之就是质量越低。尽管你开发的软件使用了新的技术,良好的设计,丰富的功能;但是这些功能都不是客户需要的,客户需要的功能没有实现或者是很多没有实现。这样的软件也是失败的软件。为了保证软件质量,也就是让开发的软件最大程度满足客户的需求,只有两个方法。一个是获得充分完整的需求,二是能过测试,以需求为中心编写测试计划。来保证软件合乎需求。
回答实例:
考官:你们是怎么来保证软件的质量的呢?
令狐冲:要保证软件的质量首先就要获得完整的需求,在需求分析阶段做了大量的工作与客户各个环节的代表性用户进行沟通,充分了解和熟悉客户的业务。并且从需求到设计阶段都保持与用户的沟通和交流。让用户的业务专家一直参与我们的需求,分析和设计工作。
其次我们会在需求分析后就编写测试计划,在开发的每个阶段都进行相应的测试来保证代码是乎合相应需求的。在代码编写过程中,每完成一个类都由程序进行单元测试,每完成一个功能点或模块都要进行集成测试,每一次集成测试都对上一次的已经测试通过的产品进行迭代, 也就是以前测试成功的都会加入到本次测试中来。使得每个完成的功能和模块完成后都是一个可以运行的,可以看得到的产品;同时也欢迎用户来见证我们的集成测试结果。代码编写完成后进行最后一次集成测试,然后交由独立的测试小组对项目进行系统测试。
问题之五、你为什么离职的?(你为什么离开以前公司的?)
分析:这个问题几乎在任何场合的面试都会有,有时是在技术面试的时候问,有时是在人事面试的时候问,有时会在技术面试和人事面试的时候都问。其实也比较好回答,回答的抽象一点比好。切记不要说以前公司的坏话,如果你这样做。人家会想,你以后离职后同样也会说这家公司的坏话.一般都是说为了某求更好的发展空间。让人感觉你是经过深思熟虑后才选择他们公司的。
回答实例:
考官:你为什么离开以前公司的?
令狐冲:以前公司对我很好,我在以前公司干得也很愉快。我因为合同到期,为了获得更好的发展空间及谋求对自己能持续发展的环境。并向公司办理了离职手续,完成了工作交结。(后面这句也可以不谈)
问题之六、谈谈你的职业规化
分析:企业都希望他所招聘的人是潜力股,看你是不是一个追求上劲的人,还有想看看你能够在企业长期干还是仅把其当着一个跳板。总的说来,回答这个问题要让人觉得你是一个可培养,有潜力人。记住要看是什么样的人来面试你。如果是项目经理来面试你,你就不要说你以后的职业规化是项目经理。你就可以说你的职业规化是成为架构师,或者是技术专家等。否则他可能会认为你是一个对其有威胁的人。就算他内心知道这不算什么,可能心理总会有一点点不爽。如果是老总面试或人事问你这样的问题,你则可以说项目经理也无妨,不过要给人有一种觉稳的感觉。
回答实例:
考官:你的职业规化是怎么样的呢?(考官是项目经理)
令狐冲:我思维能力比较强,擅于逻辑分析。在之前的工作中积累了一定的架构经验,以后就想成为一名架构师和技术专家
写在最后:上面的这些问题都是面试中十分常见的的问题,比较难以回答的。有些看似简单却不知从何说起。有些看似复杂却又并不复杂。因为很多人都缺少项目经验,对软件开发的过程相对陌生,而老师讲这方面的知识也比较少,如果你没有一定的代码和项目积累就算老师讲你也很难去体会、理解。再说这方面的内容太要求实际经验和日月积累,老师也不好讲。现在我采用把枯燥的概念和实际的项目结合起来进行归纳,从而形成这样一个答题技巧。并且对其中的一些技术结合实际进行分析和总结。希望阅读者能快速的知其然也知其所以然。从而能够提高面试的成功率。当然这仅仅是一个答题技巧,关键还是需要知识的积累。有道是“不积跬步,无以至千里;不聚细流,不以成江河”。这次完成此文也是我自己对知识的一次梳理,我并没有去查阅和考证书本。我想完全通过自己的语言来描述项目开发的过程和一些细节。又因我实在是才疏学浅,真的希望大家能对我的不当及错误之处指出并加以指教,我就涕感泪流了。不管是技术还是人生,我才刚刚上路呢!
程序员面试项目经验
一个突如其来的电话:你什么时候有空,明天下午3点可以来网易公司面试吗?。。。我把公司的地址发到你的手机上。接着手机收到了信息,其实这次的面试很出乎我的意料,因为投简历的时候是在过年前,那时候投了很多500人以上的公司,只是被一个公司叫去面试了,面试的时候也不是问一些技术上的问题,日常生活的问题,感觉很郁闷。就回家过年了。
为了避免上次找了很久没有找到公司的问题,这次我1点钟就出发去了,在网上查了一下怎么去网易公司,刚好是之前一直去哥那里的那一趟车-248,在学院站下车,一直走到天河软件园的建中路就是了。因为BRT路线的开通,这次去天河软件园的时间少了很多,到天河软件园的时候就问了一下路,2点30分就到了公司,刚进去的时候,哇,网易公司的logo。跟我平时上的www.163.com的logo一样,有点激动。嘻嘻。。。刚进去的就有一个前台的人问我面试那个职位,我就说了java工程师,她于是给我了一份java的面试题,并让我坐到休息室做那份题目。正规的公司就是不一样,哪像我上一次去面试的那个公司,连一份面试题都没有。
我开始做试题了,感觉试题还不是很难,都是一些java的基础,强烈要求如果你去学JaEE的话,基础一定要学好才去学,起码要看过2遍的thinking in java,最好是中英文一起看。不要害怕看英文版的thinking in java,还有java的基础书起码要看5遍。这样你才有扎实的基础,很多面试题都是那些java基础的题目。而jaEE是你面试的时候跟面试官说的技术。
下面来说说那份面试题,题目不是很难,不是很简单,第1题说的是字符串的问题,首先定一个String的字符串var1,再定义一个字符数组var2,调用一个change(String str, char[] chs)方法。再在 change()方法里修改str, chs的值,之后就在main函数中打印var1, var2,问输出的结果是什么?如果对知道字符串是不可变的,还有形参和实参的传值问题,应该可以作对。第2题说的是:下面那个累实现了Connection接口?A. HashMap B.HashTable C.LinkedList D.ArrayList 第3题说的是那哪一个类中有错误:
1.
public class A {
private String str;
public A(String str) {
this.str = str;
super();
}
}
2.
public class B extends String {
public void change(String str) {
str = HelloWorld;
}
}
3.
public class C {
public void c() {
throw new Exception();
}
}
4.
public class D {
private String str = ;
pubilc D(String str) {
this.str = str;
}
}
这一道题也很简单
接下来就是数据库的题目
第4题.请写出你用过的数据库,并说一下你用于哪一方面?请说出你对你所用的数据库的认识。
第5题.请根据下面的表回答问题,表中三个字段1.date时间 2.姓名 3.业绩
问题1:请你用SQL语句来完成每一天的业绩情况并按时间做升序排序
问题2:请你写出每人每天的业绩,并按时间、业绩做降序排序
第6题:请用一段java程序写出把i am a student的字符串改成student a am i
接下来的第7题一个数据库的问题:在原有的系统的基础上添加一个模块,这个模块要求在原有的基础上给用户一个积分的功能,功能如下
登录积分:用户每次登录加5分,每天的上限是10分
消费积分:消费的钱数*消费类型,如果是老用户(注册两年)消费类型为普通消费者的两倍。如果是三年则是2.5倍,四年则3倍,一次类推,普通消费者的类型为1
问题1:请设计数据库表记录这些信息。
问题2:请实现以上功能第7题:请写出Servlet的生命周期,及其主要的方法。
就这写题目,还算是比较简单,不过我写的比较慢,因为带了笔记本电脑过去,有些题目可以在电脑上写出来看运行结果,哈哈。。。最后一个交上去的。接着就要填写网易公司给我简历表。上面要填一些基本信息,期待的薪酬,什么时候可以工作。两年后的目标和计话,一个令你记忆很深的一件事。。。
终于简历也交了上去了,面试官进来叫了我的名字,我跟这他走出了休息室,去到另一个办公室
面试官:你好,请坐
我:好的,不客气
面试官:你简历上面写你是仲恺毕业的,是不是海珠区的那间学校?
我:是的,就是接近中大的那个,因为新校去还没有建好。
面试官:那你简单介绍一下你自己吧!
我:我是仲恺计算机毕业的,大一的时候开始学java,其实说到我学语言,应该是从高中开始,那时候学了C、C
面试官:(那起我的简历)你什么时候做的drp项目?
我:。。。
面试官:那oa办公项目呢?
我:。。。
面试官:(看到了简历上面的crm项目,但是他没有问crm项目了),毕业论文你都写好了没有?
我:。。。(说了假话)
面试官:(看到我写的那些我懂的技术)你用户Hibernate、Struts、Spring架构一个系统吗?
我:恩,用过。
面试官:为什么现在那么流行Spring?Spring有什么好处?
我:我说了3点好处。。。
面试官:为什么很多人都用Hibernate,而不用JDBC呢?
我:(说了一些Hibernate的好处,贬低JDBC),前几天我在用Hibernate的时候,发现了一个问题(接这我就问你了面试官一个问题),为什么在Hibernate中的一个JDBCContext类中写了一个接口Context,而在SessionImple类中有实现了Context的接口?
面试官:(回答了我的问题)
我:那为什么不把Context抽取出来,当做一个单独的接口,既然接口可以解耦,按你这么说单独抽取出来也可以完成这样的功能。其中会不会是用什么设计模式?但是我看过23中设计模式当中,好像都没有这种用法了,(接着我就说了几个常用的设计模式,嘻嘻,再把这些设计模式分别在Struts,Hibernate,Spring中的源码那里用到。嘿嘿)
面试官:开源的东西很杂,很快就有很多新的东西出来。这个我也没有具体看过。你平时大部分的时间都做什么?周六日有做些什么?
我:很多都去图书馆,没次去的时候都有一个感叹,好多东西要学啊,(乘机引出我学过Ajax)。。。
面试官:你能给我见一下Ajax的原理吗?
我:(说了一大推,不过真实上,我还不是很懂,只是把Ajava in Action这本书上的前言说了,就是总的概括Ajax(其中还带有很多的计算机的专业英语词汇,给面试官的感觉就是牛,嘿嘿)
面试官:你的JavaScript可以写到什么程度了?
我:一些简单的验证还行。如果不会写的Google一下就可以,在拿下来改就行了
面试官:用过ExtJS吗?
我:学过,但是没有在项目中用过,(接着就说ExtJS的一些例子效果,证明我有学过)。。。
面试官:知道面向切面编程吗?
我:恩,知道,它的简称AOP,(接着我就把我在Spring in Action英文版的书中背出一句话出来),Aspect Oriented Programming implentments Object Oriented Programming by providing an other way of thinking about programming structure.意思就是说。。。(接这我就提到Struts的AOP)
面试官:你用的Struts是那个版本的?
我:都是用Struts1.2版本的,不过现在看了Struts2,(接着说Struts2跟Struts1.2的比较)
面试官:(看了一下简历)你用的是tomcat的那个版本
我:做drp项目的时候用的是tomcat5.5,现在用了tomcat6.0xxx,接着说tomcat中的字符乱码处理问题面试官:你做项目的时候用的是什么开发环境
我:Eclipse,和Netbeans,做JaEE的时候用的是MyEclipse,接着说Eclipse的历史,现在的MyEclipse的版本是8.x
面试官:Netbeans你也用过?sun公司的那个是不是?
我:恩,用过,具体来说不应该叫sun公司了,应该叫Oracle公司了,sun给收购了,说了一下sun公司被收购所带来的问题
面试官:你对网易公司有什么疑问吗?
我:网易是个大公司,肯定运作方面应该没有什么问题。我没有什么问题。
面试官:我们9点钟上班5点下班,包午餐,晚餐,早餐自己搞定,你还有什么问题吗?
我:真的没有什么问题,薪酬方面我对网易是比较有信心的,毕竟是大公司嘛。。。(说网易旗下的一个核心产品,邮箱,游戏。。。)
面试官:你等电话,我们还有两轮面试,第二轮的面试是人事部的头头,最后一轮是我们的头头。
我:哇,(趁机称赞他)那你应该是项目经理咯?
面试官:恩
我:不知道公司现在在做什么项目?
面试官:主要是两个。。。
我:那我得回去准备准备了,毕竟之前做过的那个项目,需求不一样了,也遇到很多问题的。
面试官:恩,那我们就面试到这里,你回去注意我们网易公司这边的通知,我听人力资源那边说你昨晚不听电话,他们打了第二次的时候,你在通话中,第三次才听的。
我:哦,幸亏听了哦
面试官:那你注意电话了
我:好的
面试官:那面试就到这里了
我:好的,再见
回到我休息的地方,看见有几个是应届的毕业生,两个是广商的,两个是广工的,我看了他们的简历,都过了四六级,而且都在500分以上,牛,我就问了一下刚才简历上面的那个薪酬你写多少:2000,不是吧,我看你四六级都过了,都很高分,怎么才写两千,你面试什么职位?文档整理的?啊,不是吧,咋一看她的成绩,哇塞,也是计算机毕业的哦,平时的考试都没有下过80的哦,都是80以上的,90以上的科目也很多哦,就问了一下,学习那么好,应该计算你不错哦。那些考试的分数很假的。。。我狂晕。。。。。。。
我就拿着笔记本电脑离开的公司。。。
[网易笔试面试经验]
★ 辉瑞面试笔试经验
★ 机场笔试经验
★ 惠而浦笔试经验
★ 普华永道笔试经验
★ 联想笔试经验
★ DHL 笔试经验