第一篇:阿里面试经历(java工程师)
阿里面试经历
(Java工程师)
拿到阿里巴巴的offer,我自己都不敢相信,运气占了很大一部分,谢谢带给我好运的所有人。
谈谈整个应聘过程的心得吧:
国庆还没过完,10月5号我就赶回学校了,因为我知道接下来时间紧迫,要抓紧时间投简历。根据各大公司的网申截止日期,10月6号我投了3份简历,分别是:中国电信合肥分公司、搜狐、阿里巴巴。10号晚阿里来科大做宣讲会,我并没有过去,听说没有网申的同学可以在现场领一个号码参加第二天上午的笔试。我也收到了通知面试的邮件通知,阿里的笔试每个人都有机会参加,只要你愿意就可以参加。
笔试:我报的是java研发工程师,但是我之前没有搞过java,只是了解一些java的基本语法。因此笔试我没有自信,笔试前夜我还借了本 java书临时抱了一下佛脚,好像没什么用。第二天上午跟随大家去笔试,到了发现人非常多,3个教室都坐得满满的,后来知道有700多人参加了笔试。试卷分为卷1java部分、卷2c++和搜索部分、卷3公共部分。卷1卷2选做一个(25道选择题),卷3都要做(15道选择题+2道主观题),我选的是卷 1,感觉知识面很广,题目我基本都不会,还好都是选择题,不会就碰运气。卷3感觉像是行测,有的题目很简单有的比较难,后面还有两个主观题,都是网站和互联网方面的,这方面我比较擅长,就扯了很多。有的人这两道题没有做,所有后来没有机会参加面试,很可惜。
面试:笔试过了,很多人都接到了面试通知,我也接到了。后来才知道参加面试的有200人,阿里还真是海面。当晚又抱了一下佛脚。通知我的面试时间是11点40,我11点06到场,发现很多人都在等待,遇到我们班前批的同学,有的是9点多面试都还没轮到。然后我们就直接去科大食堂吃饭了(ps:吃饭时我旁边的两个女生一直讨论高数的一个定理,科大mm就是强啊),吃完了我们继续等待。我们班已经有面试出来的了,结果都不太好,我就想自己就当是积累一次面试经验吧,不指望能通过。12点50多终于轮到我了,1面的gg人很好,总是笑嘻嘻的,我先自我介绍了一下,然后说明我一直都在搞php,java没搞过,他说没关系。然后开始问我一些java基本知识,不会的我就直接说不会,他也没为难我,就找更简单的问我,始终态度都非常好。了解了我的java水平后就考我两个简单的算法(判断回文和排序),我也顺利的写出来了,然后问了我一些数据库方面的知识,最后就是项目和实习方面的情况。我也基本上和他配合的很好,说到我擅长的就滔滔而谈,不会的就直接说不会。整个面试轻松愉快,持续了近一个半小时,最后他和我说:一面我让你过了,二面就看你的运气了。然后给我写下评语,后来我无意中看到评语,对我的评价很高,真的很感谢这位gg,不然二面就不会那么容易过了。
一面过了都14点10几分了,继续等待二面,外面等候区的人还是非常多。等了3个多小时,17点多才喊到我,幸好外面有本班同学边聊天边等,不然就等急死了。二面是个主管级的人物,感觉很沉稳,看到一面考官给我评语,对我的印象应该还不错。开始问了我一些java基础方面的知识,我拼拼凑凑总是混过去了,他知道我懂得不多也没深问。然后就开始谈php,他对php应该是比较了解,这也是我的强项,我就滔滔而谈,他也很满意我的答案,最后直接告诉我通过了。这轮大概持续了40多分钟。
出来等3面,过了十几分钟就喊道我了,这次是位很nice的hrjj,因为3面不问技术,我也很放松。hr问了我一些性格、与人相处、优缺点等等,我就当聊天随便应答了,她也比较满意,直接让我等6点半的小测试。这时我基本知道就剩最后的性格测试了,应该没什么问题了。很happy地跑出去了。
6点半,面试基本结束了,考官们都提上行李走了,只剩下我们20多个过了3面的(基本都是科大的,安大的2个,工大的2个),还有几位hrmm。性格测试,30道选择,要第一时间作答,做的时候几位hr不停地在旁边干扰,我就按实际选了答案,是中间交上去的。hr在旁边不停地催促、加压。全部交完后,她们就进去统计结果,十几分钟后,一个hrmm出来念了两个名字,和他们说了几句话,然后那两个人就直接拿上自己的包走了。当时我们都惊呆了,这种小测试居然还刷人,而且是两个,要知道这里的人都是千军万马杀出来的,听说其中一个还是博士,太可惜了。
然后hr告诉我们剩下的都通过了,告诉我们如何签协议等细节。接下来就是挨个进去领offer了,我是第二个,进去后发现我们班还有个一直在里面面试并拿到offer了,甚喜。然后我们就一起回校了。
虽然拿到offer,但是还是很感谢运气以及一面那位gg,总之运气是非常好,自己都没有想到会有这个结果。各位还在找工作同学要加油啊,相信自己,一切皆有可能!
面试官提的问题:
一面:先自我介绍,开始问我一些java基本知识,然后问了我一些数据库方面的知识,最后就是项目和实习方面的情况。
二面:始问了我一些java基础方面的知识,然后就开始谈php,他对php应该是比较了解,这也是我的强项?
第二篇:java工程师面试
精通java语言及面向对象思想 具有扎实的java编程基础和良好的编程规范
精通 jsp语言 html语言 javascript脚本以及css 样式
熟练掌握sqlserver oracle 数据库
熟练使用Spring+Hibernate+Struts 以及 Spring+JDBC+Struts开发
精通Struts+jdbc开发 精通MVC框架开发
精通tomcat运用服务器 熟悉weblogic运用服务器 并可配合eclipse进行开发 熟练使用ant log4j junit 等辅助开发工具
熟练使用CVS/VSS项目同步工具
对factory DAO singleton 等软件设计模式有很好的理解
对oracle数据库性能及oracle代码的规范性和java代码执行效率以及java缺陷有很好的理解与掌握
熟悉大型项目的开发流程 对业务需求能很好的细致理解,熟练书写概要设计 需求分析 详细设计等文档
2年多累积java代码30000行 数据库代码10000行 具有实际大型项目(江苏电信)开发经验和个人独自完成小项目的能力
具备强烈的学习欲望,工作认真负责,且具有很强的责任心和进取心,与人为善善于沟通,有很好的团队合作精有神。
江苏移动秘书 12580 负责个人电话本和呼叫信息增删查改的开发
负责江苏移动秘书两个版本IVR接口csp3.0以及csp6.0的切换开发,录音放音的控件的使用,使用rational rose绘制UML用例图,类图,时序图等在项目中熟练使用cvs和vss开发同步工具,灵活运用ajax特效,buffalo特效,熟练书写存储过程,函数,等ORACLE代码以及基于定时器的函数。
第三篇:java工程师面试自我介绍
java工程师面试自我介绍
java工程师面试自我介绍1
我学习成绩优良,学风端正,学习刻苦努力,奋发向上。在认真完成自身学业的基础上,积极参加选修课学习和各种课余活动,并取得优秀的成绩,通过了计算机三级,并获得奖学金。努力吸收各方面知识,增强自身的文化修养。计算机水平较高,熟悉与专业相关的各种软件的操作及网站的制作与维护等等。
我积极投身社会活动,担任计算机学院科协干事 ,工作积极认真出色,并获“优秀学生干部”称号。有较强的社交、组织、实践和研究分析能力,工作塌实肯干,能够吃苦耐劳,让人放心。
我有年轻人的冲劲和魄力,具有很强的团队精神和集体观念。对待生活非常乐观,以诚为本,真诚待人。同时,自己还存在一些不足,但在今后会努力不断改正,提高自身素质。
我出生在农村,在甘肃的大山里,印象中最深的就是看不到头的山,走不完的山路。但我喜欢山,喜欢山的朴实无华,喜欢山的巍峨大气。
初中就离开父母去市里上学,自己租房住,自己做饭吃,一直延续到高中毕业。也许是从小就独立生活的原因,在思想和行为上本人相对独立,喜欢按照自己的想法去做事,按自己的想法去生活,简单的说就是走属于我自己的路,活我自己的人,也因此和父母产生了不少的矛盾和冲突,上了大学后,自己有意识到去缓解这些矛盾,我知道,要不是因为儿女,我们的.父母原本可以过得更好。“父爱如山”,大学毕业了,我才渐渐的体会到这句很简单的话的涵义。
我现在是一个程序员,在公司担任项目经理,每天在计算机面前一坐就是10多个小时,我现在都分不清是为了更好的生活而玩命工作,还是为了更好的工作而用心生活,在生活和工作之间我很难找到一个平衡点!
和所有的男人一样,我崇尚尊严,喜欢荣誉,渴望成功。通向成功的道路是孤独的,工作之余,午夜时分,我静静的躺在床上,一个人品味着这份属于自己的孤独,但在孤独的背后,我渴望一份真挚的爱情,渴望有人在乎我,就像我在乎她一样,不需要惊天动地,不需要海誓山盟,只要相濡以沫,彼此搀扶着、陪伴着走完人生的旅途。
本人比较传统,不喜欢看韩剧,尤其是韩国的娱乐节目,不喜欢“非主流”,也不喜欢什么事都云里雾里的女孩子,我不在乎你的出生,你可以外表平平,但我会毫不犹豫的排除思想平庸的女孩子,我喜欢看欧美的电影(喜欢美国口音和欧美人的思维方式),喜欢看足球比赛(不比赛)---球场上我穿的是10号球衣。
java工程师面试自我介绍2
我出生在xx市一个普通工人家庭,从小艰苦的自然环境和并不优越的家庭条件给我留下了深刻的印象,也锻炼了我吃苦耐劳、勇于拼搏和不肯服输的性格。为了能够闯出自己的一帆事业,我深信知识能改变命运,所以在我的学习生活中尽可能多的学习相关的专业知识,充实自己。
xx年我考入了建筑工程学院,踏出我实现理想的第一步。在大学校园里我依然在各方面都严格要求自己,不断提高与人沟通及团队协作的能力。大学期间虽然学习成绩不是太理想,但我从未停止过学习,同时相信自己执着、不肯服输的个性就是我最大的'财富。
现在我的大学生活即将结束,回想自己十几年的学生生涯和这十几年中家庭和社会对我的培养,我知道只有通过不懈的努力和勤奋的工作才能实现自己的理想和价值。
java工程师面试自我介绍3
大家好,我叫xx,天津大学计算机应用专业硕士,20xx年6月份毕业,研究方向,我想从三个方面介绍自己:
(1)学习方面。大三时保送研究生,之后进入实验室开展项目研究。在x年时间里,先后参与了x个项目,其中x个纵向项目,x个横向项目,纵向项目主要是关于,横向项目主要是关于。这些分别对应我里的项目经历(1,2,3)。我本科绩点3.8,研究生绩点3.4。我XX年一次通过大学英语四、六级考试,XX年通过托业英语考试,考试成绩分(满分分),XX年通过软件工程师/网络工程师/系统分析师考试。
(2)实践方面。曾在软件公司实xx年时间,曾在当过计算机讲师,主讲,另外,本科时曾参加过比赛,并获得了奖。实习期间,我的最大收获是:学校学习与工作知识的衔接,深切感悟将理论应用于实践的重要性和快乐。
(3)社会工作方面。本科和研究生都担任所在班级班长/**部长,同时也在校学生会工作过。在担任班干部的日子里我具备了一定的组织、协调能力,并深深体会团队协作的重要性。
我的性格特点是,1.性格沉稳,2.考虑问题全面、仔细,3.做事有自己明确的想法和计划。
我的优势是1.自己全面的综合素质;2.做事分清轻重缓急;3.喜欢总结,避免犯同样的错误。
我的`是:人因为梦想而伟大,机遇永远属于那些有准备、立即行动并能坚持到底的人!
我的职业生涯目标是,将来有一天能带领一个团队,做出亿万网民喜爱和尊敬的软件!做一个既懂技术,又懂业务的复合型人才。
java工程师面试自我介绍4
我叫XXX,今年22岁,毕业于XXX计算机科学与技术专业。由于非常喜欢本专业,并期待将来从事专业方向的工作,因而在校期间十分注重对专业课的学习,拥有扎实的Core Java基础,良好的编程风格;熟悉JSP+Servlet+JavaBean模式的WEB开发;熟悉Struts,Hibernate,Spring等开源框架,了解EJB; 熟悉Tomcat,Jboss服务器等,熟悉基于Linux及Unix环境下的软件开发。因为专业课知识掌握牢固,以专业第一的综合成绩毕业。
然而,我深知仅有专业知识是不够的,社会需要的是高素质复合型人才,因而在校期间学习之外,我积极参加各种社会实践活动,曾参与过学院网上虚拟实验室开发的需求分析,大三暑假曾在浪潮软件园实习,参与了电信增值软件开发与编挰,通过亲自动手及不断地向有经验的工程师请教学习,实习结束时我已经基本掌握整个Java平台的'核心技术,独立编程能力大大提高。同时实习生活也让我意识到从事Java编程工作团队合作的重要性。
虽然我的实际工作经验还不是很丰富,但相信有了扎实的专业基础知识和实习期间的实践经验,加上好学上进的精神,我能够胜任应聘岗位需求。希望贵公司给我这次机会。
java工程师面试自我介绍5
考官好,我是计算机专业的面试者,我此次应聘的职位是it行业的软件工程师,这份工作不仅与我的专业对口,同时也是我的特长与兴趣所在。
现在我就从以下三个方面介绍自己:
1)学习能力:我有较强的科研能力,能熟练的进行linux操作,并能使用vb,delphi等语言编程。能运用网页三剑客photoshop软件进行相关工作。
2)实践能力:我的专长是软件开发,我希望能从事这方面的工作经验,并且我曾经发过多个系统,如人事档案管理系统,工资管理系统等等。
3)交际能力:我的性格沉稳,能坐得住,对it行业的工作,具有非常好的'适应能力,而且为人谦和,具有很强的组织和协调能力,富有的事业心和责任感使我能够面对任何困难和挑战。 从以上的简单自我介绍,我希望公司能给我一个展示自己能力的机会,让我我可以学以致用,同时我也很欣赏xx公司的企业文化与工作环境。我愿意成为企业一员,为企业的发展贡献自己的一份力量。我的职业生涯目标是,做一个既懂技术,又懂业务的复合型人才。
java工程师面试自我介绍6
欲善其事,必先利其器。大学几年,我始终坚持天道酬勤的原则,一日三省,自信品格的日趋完善;勇于行事,务实求新,自信工作有所成绩;三更灯火,寒窗苦读,相信学有所成。
在校期间,我始终以提高自身的综合素质为目的,以个人的全面发展为奋斗方向,树立正确的人生观和价值观,光荣地加入了中国共产党。
为适应社会发展的需求,我努力学好专业知识,多次获得奖学金,较深入、全面地掌握了软件编程、硬件维护与开发、网络应用技术等计算机科学基础理论以及计算机在企业管理、工业生产、辅助设计制造等方面的应用知识,同时注意结合自身专业特点,结合动手实践,先后参与了校新闻网页设计大赛、校程序设计大赛、挑战杯中国大学生创业计划竞赛、校科研立项项目,同时根据自己的爱好,进行了物业管理师的培训及资格认证考核、暑期社会实践调查,都取得了不凡的成绩。
作为一名即将毕业的20xx年应届计算机专业的大学生,我所拥有的是年轻和知识,使我不畏困难,善于思考,但年轻也意味着阅历浅,更需要虚心向学。同时,我也深知,毕业只是求学的`一小步,社会才是一所真正的大学。我今天的求职,也正是希望得到一个更好的学习机会,从而能以更好的工作成绩为国家和单位贡献力量,同时去实现人生价值。
java工程师面试自我介绍7
大家好,我是x职业学院信息电子系计算机硬件专业的一名应届毕业生,衷心感谢您抽出宝贵时间审阅我的简历。在三年的学习生活中,我牢固地掌握了计算机硬件与电子专业的基础知识,精通数电与模电,熟练office办公软件,对计算机组装与维护把握深刻,并在各种实践中获得了一定的实际运用能力。并利用课余时间进行了汉语言文学自学考试,通过科目过半。在自考期间不但提高了文学功底,而且培养了我坚强的意志。课余时间我还广泛阅读各方面书籍,积极参加各种集体活动和社会实践活动,扩展了知识面,培养了团队精神,增强了组织交际能力,提升了综合素质。
虽然缺少工作经验和社会阅历,但我会在实践工作中勤奋学习,弥补不足,积极进步。或许我应聘的职位和计算机硬件专业并不对口,但我认为人的才能并不仅局限于所学的专业,在其他领域同样有可挖掘的潜力!
大家好,我叫。我是一个善于合的人,合作能提高做事的效率和效果,而且在做事的`过程中若能成功协调个人能力及利益,那就感觉更好。如果没有了内部矛盾,大家就能集中力量一起努力,就能把团队作用发挥到最强。
喜欢实践,好动手,相信实践是检验一切对错的标准,我很重视实践后留下的结果,都会隔一段时间整理我的资料。
工作方面,努力,责任意识强,能将精力很好的集中在所需关注的点上,关注细节是我的强项讲究实际效果,采取现实可行的方法。喜欢参加各活动和社会实践,因为这样可以更好的锻炼自己。
业余喜欢画画和摄影,通过户外不同的生态环境,来开拓自己的视野。
我希望贵公司能给我提供一次施展才能的机会,我一定不辜负公司的厚望,为公司的发展作出贡献。谢谢!
第四篇:java工程师面试自我介绍
java工程师面试自我介绍范文
面试自我介绍是Java开发工程师求职者面试前必练的内容,也是Java开发工程师求职面试中的重要一环。下面是有关Java开发工程师的面试自我介绍范文,以供大家阅读。
java工程师面试自我介绍范文(一)我叫XXX,今年22岁,毕业于XXX计算机科学与技术专业。由于非常喜欢本专业,并期待将来从事专业方向的工作,因而在校期间十分注重对专业课的学习,拥有扎实的Core Java基础,良好的编程风格;熟悉JSP+Servlet+JavaBean模式的WEB开发;熟悉Struts,Hibernate,Spring等开源框架,了解EJB;熟悉Tomcat,Jboss服务器等,熟悉基于Linux及Unix环境下的软件开发。因为专业课知识掌握牢固,以专业第一的综合成绩毕业。
然而,我深知仅有专业知识是不够的,社会需要的是高素质复合型人才,因而在校期间学习之外,我积极参加各种社会实践活动,曾参与过学院上虚拟实验室开发的需求分析,大三暑假曾在浪潮软件园实习,参与了电信增值软件开发与编挰,通过亲自动手及不断地向有经验的工程师请教学习,实习结束时我已经基本掌握整个Java平台的核心技术,独立编程能力大大提高。同时实习生活也让我意识到从事Java编程工作团队合作的重要性。
虽然我的实际工作经验还不是很丰富,但相信有了扎实的专业基础知识和实习期间的实践经验,加上好学上进的精神,我能够胜任应聘岗位需求。希望贵公司给我这次机会。
java工程师面试自我介绍范文(二)各位尊敬的考官:
大家下午好!很荣幸能在这里面试,让我有向各位考官学习与交流的机会,现将自己的情况简要介绍一下:
我叫xxx,出身在xx。性格比较温和、谦虚、认真细致、踏实、吃苦耐劳、有较强的责任心和社会适应能力。即将于xx年xx月毕业于河南工业职业技术学院,作为一名软件专业的大学生,我更喜欢平面设计,在大学三年的学习生活中,我对平面这一领域的相关知识有了一定的掌握,同时具有实际的操作能力与技术。
为了使在校所学的知识更好地应用到实际生活中,于xx年xx月有幸来北京中科院计算机所培训中心,通过三个月的实践训练,全面系统地学习了平面方面的专业知识与技能,能够应用平面设计的相关软件(photoshop图像处理软件、illustrator与coreidraw矢量绘图软件、indesigin与pagemaker排版软件)做基本的图像处理、海报、企业宣传册等,能够将所学知识真正应用到实际生活中。
在投身于社会之际,为了找到符合自己专业和兴趣的工作,更好地适应社会,我希望自己能够做到一种被别人需要的一种状态,至于做什么,就是在实践中,不断的学习、不断的锻炼。因此,我希望加入贵单位,如果能够成为公司的一份子,我相信我一定在自己的岗位上尽职尽责、踏踏实实地贡献之集的一份力量,与公司共同促进、发展。
“世界之大,人才济济”。我承认之集还不是最优秀的人才,但是我希望之集是此岗位最合适的人选,希望有幸能够被贵公司领导予以特别考虑。今后我在好的方面再接再厉,不足之处有所改善,我的介绍到此结束。谢谢!
第五篇:Java 软件工程师面试笔试题
Java 软件工程师面试笔试题.txt﹃根网线''尽赚了多少人的青春い有时候感动的就是身边微不足道的小事。﹎破碎不是最残酷的 最残酷的是踩着这些碎片却假装不疼痛 固执的寻找﹎将来就算我遇见再怎么完美的人,都有一个缺点,他不是你,_____下辈子要做男生,娶一个像我这样的女生。
一、你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用? 答:
MVC设计模式(应用观察者模式的框架模式)
M: Model(Business process layer),模型,操作数据的业务处理层,并独立于表现层(Independent of presentation)。
V: View(Presentation layer),视图,通过客户端数据类型显示数据,并回显模型层的执行结果。
C: Controller(Control layer),控制器,也就是视图层和模型层桥梁,控制数据的流向,接受视图层发出的事件,并重绘视图
MVC框架的一种实现模型 模型二(Servlet-centric):
JSP+Servlet+JavaBean,以控制为核心,JSP只负责显示和收集数据,Sevlet,连接视图和模型,将视图层数据,发送给模型层,JavaBean,分为业务类和数据实体,业务类处理业务数据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模式。
StrutsMVC框架(Web application frameworks)
Struts是使用MVC的实现模式二来实现的,也就是以控制器为核心。
Struts提供了一些组件使用MVC开发应用程序:
Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以JavaBean或EJB的形式提供
View:Struts提供了action form创建form bean, 用于在controller和view间传输数据。此外,Struts提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于JSP中。
Controller:Struts提供了一个核心的控制器ActionServlet,通过这个核心的控制器来调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规范,还需要在struts-config.xml的特定配置文件中进行配置,接收JSP输入字段形成Action form,然后调用一个Action控制器。Action控制器中提供了model的逻辑接口。
二、什么是WebService? 答:
WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL(web服务定义语言)/SOAP(简单请求协议)规范的。WebService=WSDL+SOAP+UDDI(webservice的注册)
Soap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body。
Web Service是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。Web Service的优点
(1)可以让异构的程序相互访问(跨平台)
(2)松耦合
(3)基于标准协议(通用语言,允许其他程序访问)Web Service的基本原理
(1)Service Provider采用WSDL描述服务
(2)Service Provider 采用UDDI将服务的描述文件发布到UDDI服务器(Register server)
(3)Service Requestor在UDDI服务器上查询并 获取WSDL文件
(4)Service requestor将请求绑定到SOAP,并访问相应的服务。
三、什么是中间件?
中间件就是程序中可织入的,可重用的,与业务逻辑无关的各种组件。
中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
分类:数据访问中间件,远程调用中间件,消息中间件,交易中间件,对象中间件。
举例:
1,RMI(Remote Method Invocations, 远程调用)
2,Load Balancing(负载均衡,将访问负荷分散到各个服务器中)
3,Transparent Fail-over(透明的故障切换)
4,Clustering(集群,用多个小的服务器代替大型机)
5,Back-end-Integration(后端集成,用现有的、新开发的系统如何去集成遗留的系统)
6,Transaction事务(全局/局部)全局事务(分布式事务)局部事务(在同一数据库联接内的事务)
7,Dynamic Redeployment(动态重新部署,在不停止原系统的情况下,部署新的系统)
8,System Management(系统管理)
9,Threading(多线程处理)
10,Message-oriented Middleware面向消息的中间件(异步的调用编程)
11,Component Life Cycle(组件的生命周期管理)
12,Resource pooling(资源池)
13,Security(安全)
14,Caching(缓存)
四、什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处? 答:(1)Presentation layer(表示层)
(1)表示逻辑(生成界面代码)
(2)接收请求
(3)处理业务层抛出的异常
(4)负责规则验证(数据格式,数据非空等)
(5)流程控制
(2)Service layer(服务层/业务层)
(1)封装业务逻辑处理,并且对外暴露接口
(2)负责事务,安全等服务
(3)Persistence layer(持久层)
(1)封装数据访问的逻辑,暴露接口
(2)提供方便的数据访问的方案(查询语言,API,映射机制等)Domain layer(域层)
(1)业务对象以及业务关系的表示
(2)处理简单的业务逻辑
(3)域层的对象可以穿越表示层,业务层,持久层
软件分层结构使得代码维护非常方便,设计明确,各层独立,专注自己擅长的领域。
五、什么是OOP?OOP相对于面向过程编程有哪些优点?
OOP,Object-Oriented Programming,面向对象编程不同于面向过程编程:
(1)OOP关注对象和角色,也就是事物的本质
1)OOP把客观世界中的对象抽象成对应的类;
2)通过类构造实例;
3)通过依赖、继承、实现等形式建立对象间的通信关系
(2)OOP易于扩展,增加或改变业务的功能,无需大幅改动改变源代码
(3)OOP易于建模,OOP就是软件架构师在计算机高级语言中对客观世界的抽象和再现,人们可以很好地理解和建立起计算机中的抽象模型
六、谈谈Overload和Override的区别。
答:
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
七、谈谈HashMap和Hashtable的区别。答:
HashMap是轻量级的(线程不安全的,效率高的)集合,Hashtable是重量级的(线程安全的,效率低的)集合。
都属于Map接口的类,实现了将惟一键映射到特定的值上。
HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。
八、请问abstract class和interface有什么区别?
答:
1)接口没有任何的实现,而抽象类它可以有部分的实现也可以没有;
2)如果需要复用或者共享部分代码,应该用抽象类而不是接口;
3)继承无法解决类型的转换问题,接口就是为了解决这一问题而产生的(Java的单继承是接口产生的根本原因)接口是一种抽象的第三方规范,跟对象没什么直接关系。
九、请问软件开发中的设计模式你会使用哪些?
答:我熟悉的设计模式有单例模式,DAO模式,模板方法,工厂模式,委托代理模式,MVC模式等。
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
Singleton模式一般形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。
十、类的核心特性有哪些?
类具有封装性、继承性和多态性。
封装性:
类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。
继承性:
类的继承性提供从已存在的类创建新类的机制,继承(inheritance)使一个新类自动拥有被继承类(父类)的全部成员。
多态性:
类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。
十一、请问类与对象有什么区别?
类
类就是某一种事物的一般性的集合体,是相同或相似的各个事物共同特性的一种抽象。
对象
在面向对象概念中,对象(Object)是类的实例(instance)。对象与类的关系就像变量与数据类型的关系一样。
十二、写出生产者消费者模型的实现
十三、用软件工程和Java来叙述购物车(shopping cart)系统实现
十四、文件系统的几个类:FileInputStream、FileOutputStream、FileReader、FileWriter的区别
十五、请写出Java API中最常用的五个包,并且各举两个类加以说明。
十六、请问你在“电信运营支撑系统”中遇到了哪些问题?你是怎么解决的?做这个项目你最大的收获是什么?
十七、请说出几个常用的异常类
答:NullpointException(空指针异常)
ClassNotFoundException(类找不到异常)
ClassCastException(类型转换异常)
IllegalArgumentException(非法参数异常)
ArithmeticException(算术异常)
NumberFormatException(数据格式异常)
IndexOutOfBoundsException(数组下标越界异常)
IllegalStateException(非法语句异常)
十八、什么是进程和线程?两者的区别是什么?
十九、请简要描述一下你做的ShoppingCart项目。
二十、请问网络7层协议,tcp/ip4 层协议是什么?
二十一、Java面向对象的四大特点
二十二、public,private,protected,default访问权限(可见性)
答:
public:全局可见
protected:继承体系结构之间可见
default(或不写):同包可见
private:本类可见。
二十二、public,private,protected,default访问权限(可见性)
答:
public:全局可见
protected:继承体系结构之间可见
default(或不写):同包可见
private:本类可见。
二十三、名词解释
CRM
[Customer Relationship Management, 客户关系管理] ERP
[Enterprise Resource Planning, 企业资源规划] OSS
[Operation Support System, 运营支撑系统] BSS
[Business Support System, 数据定义语言] BOSS
[Business Operation Support System, 数据定义语言] OA
[Office Automatization, 办公自动化] HTTP OOP SOA GUI DDL
[Data Definition Language, 数据定义语言] DML
[Data Manipulation Language, 数据操作语言]
WYSIWYG
所见即所得 [What You See is What You Get] CMP CMT B2B C2C B2C IDE DOM
Client/Server CMM ORM MIS MVC
MVC是Model-View-Controller的简写。“Model” 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),“View” 是应用的表示面(由JSP页面产生),“Controller” 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
OLE
CORBA
CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织(Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。其目的为:
用不同的程序设计语言书写
在不同的进程中运行
为不同的操作系统开发。
UML
UML,标准建模语言,包含用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图等。
XML CMMI JRE J2EE
J2EE是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。
JDK AOP OO
Container W3C JMS
Domain POJO JVM JNDI JTA SOAP
[Simple Object Access Protocol,简单对象访问协议] WSDL JDO
JDO是Java对象持久化的新的规范,为Java Data Object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。
TDD DAO IoC
[Inversion of Control, 控制反转] RMI DNS
[Internet Domain Name System, 因特网域名系统] URL URI
二十四、数据库连接池的工作机制
二十五、互联网提供哪些服务?
二十六、请写出JSP的几个隐含内置对象
答:JSP中隐含内置对象
名称 类型
request javax.servlet.http.HttpServletRequest request
response javax.servlet.http.HttpServletResponse
注释和范围 response page javax.lang.Object page
Exception java.lang.Throwable page
pageContext javax.servlet.jsp.PageContext page
session javax.servlet.http.HttpSession session
application javax.servlet.ServletContext ServletContext out javax.servlet.jsp.JspWriter OutputStream
config javax.servlet.ServletConfig ServletConfig
JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):
request 用户端请求,此请求会包含来自GET/POST请求的参数
response 网页传回用户端的回应
page JSP 网页本身
exception 针对错误网页,未捕捉的例外
pageContext 网页的属性是在这里管理
session 与请求有关的会话期
application servlet 正在执行的内容
out 用来传送回应的输出
config Servlet的构架部件
二十七、请你谈谈SSH整合
答:SSH:
Struts(表示层)+Spring(业务层)+Hibernate(持久层)
Struts:
Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。
在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的分发。(View:沿用JSP,HTTP,Form,Tag,Resourse ;Controller:ActionServlet,struts-config.xml,Action)
Hibernate:
Hibernate是一个持久层框架,它只负责与关系数据库的操作。
Spring:
Spring是一个业务层框架,是一个整合的框架,能够很好地黏合表示层与持久层。
二十八、应用服务器与Web Server的区别
二十九、Java Servlet API中forward()与redirect()的区别
答:
前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
三
十、写一个简单的C/S结构程序,Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示?
答:Server端程序: package test;import java.net.*;import java.io.*;
public class Server { private ServerSocket ss;private Socket socket;private BufferedReader in;private PrintWriter out;public Server(){ try { ss=new ServerSocket(10000);while(true){ socket = ss.accept();String RemoteIP = socket.getInetAddress().getHostAddress();String RemotePort = “:”+socket.getLocalPort();System.out.println(“A client come in!IP:”+RemoteIP+RemotePort);in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));String line = in.readLine();System.out.println(“Cleint send is :” + line);out = new PrintWriter(socket.getOutputStream(),true);out.println(“Your Message Received!”);out.close();in.close();socket.close();} }catch(IOException e){ out.println(“wrong”);} } public static void main(String[] args){ new Server();} };Client端程序: package test;import java.io.*;import java.net.*;
public class Client { Socket socket;BufferedReader in;PrintWriter out;public Client(){ try { System.out.println(“Try to Connect to 127.0.0.1:10000”);socket = new Socket(“127.0.0.1”,10000);System.out.println(“The Server Connected!”);System.out.println(“Please enter some Character:”);BufferedReader line = new BufferedReader(new
InputStreamReader(System.in));out = new PrintWriter(socket.getOutputStream(),true);out.println(line.readLine());in = new BufferedReader(new InputStreamReader(socket.getInputStream()));System.out.println(in.readLine());out.close();in.close();socket.close();}catch(IOException e){ out.println(“Wrong”);} } public static void main(String[] args){ new Client();} };