《java面试-网络协议相关面试题.docx》由会员分享,可在线阅读,更多相关《java面试-网络协议相关面试题.docx(19页珍藏版)》请在第一文库网上搜索。
1、竭诚为您提供优质文档/双击可除java面试,网络协议相关面试题篇一:javaweb面试题和逻辑题及答案12345、查询:Se1ectstudentid,studentname,birthdayfromxj_student;册除:de1etefromxj_studentwherestudentid=;修改:Updatexj-Studentsetstudentname=,birthday=wherestudentid=;添力口:insertintoxj_studentva1ues,);6请在下面写出一个验证表单testForm的username输入框的输入内容长度不能小于10字78逻辑思维题1、鲁
2、道夫、菲利普、罗伯特三位青年,一个当了歌手,一个考上大学,一个加入美军陆战队,个个未来都大有作为。现已知:a.罗伯特的年龄比战士的大;b.大学生的年龄比菲利普小;c.鲁道夫的年龄和大学生的年龄不一样。请问:三个人中谁是歌手?谁是大学生?谁是土兵?2、有三筐水果,一筐装的全是苹果,第二筐装的全是橘子,第三筐是橘子与苹果混在一起。筐上的标签都是骗人的,(比如,如果标签写的是橘子,那么可以肯定筐里不会只有橘子,可能还有苹果)你的任务是拿出其中一筐,从里面只拿一只水果,然后正确写出三3、假设一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是4、你让工人为你工作7天,给工人的汇报是
3、一根金条。你必须在每天结束时都付费1/7的工钱,但只许你把今天弄断3段,你如何给工人付费?6、一个人花8块钱买了一只鸡,9元钱卖掉,然后觉得不划算又花10块钱买回来,然后7、一列火车全长250米,每小时60公里的速度,穿越长达500米的隧道,请在半分钟内8、有一个人在自由市场买了两只鸡,在回家的路上遇到两个熟人要买他的鸡,他只好把鸡卖了,每只鸡6元钱。其中一只赚了20临另外一只赔了20%,请问这个人是赔了还是赚了,是多少钱?910、有一只蜗牛要从井底爬出来,井深20尺,蜗牛每天白天向上爬3尺,晚上下滑2篇二:必看的java编程面试题必看的java编程面试题概述mVc体系结构?答:mVc包括三类
4、对象,mode1是应用对象,VieW是视图,contro11er是控制器,它定义用户界面对用户输入的响应方式。在InVC体系中,模型通常被称为“业务逻辑”,是真正完成任务的代码,视图就是使用界面,反映数据的变化。控制器控制着模型和视图之间的交互过程,它决定着向用户返回怎样的视图、检查通过界面输入的信息以及选择处理输入信息的模型。在mVc中,表示层和逻辑层分离,各部分可相互独立进行开发,便于开发和维护,提高了开发效率。概述struts,以及struts如何实现mVc架构的?答:Strutsframework是一种基于JaVa编程的技术,web应用程序开发人员通过Strutsframework即可
5、充分利用面向对象设计、代码重用以及”编写一次、到处运行”的优点。struts提供了一种创建web应用程序的框架,其中对应用程序的显示、表示和数据的后端代码进行了抽象。StrUtS采用jsp作为mVc的视图,由actionserv1et具体指定的action动作类作为控制器即mVc中的c,负责视图与模型之间的交互。控制器的每个入口点都由名为struts-config.xm1的配置文件设置。该文件把来自视图的请求映射为特定的jaVa类以进行相应的处理,控制器还指定下一个视图的位置。struts中的模型主要指的就是javabean,它是模型的代表,主要封装数据和业务逻辑。struts的处理流程:1、
6、控制器进行初始化工作,读取配置文件,为不同的struts模块初始化相应的modu1config对象。2、控制器接收http请求,并从actionconfig中找出对应于该请求的action子类,如果没有对应的action,控制器直接将请求转发给jsp或者静态页面,否则控制器将请求分发至具体的action类进行处理。3、在控制器调用具体的action的execute方法之前,actionForm对象将利用http请求中的参数来填充自己。还可以在actionForm类中调用Va1idate方法来检查请求参数的合法性,并且可以返回一个包含所有错误信息的actionerrors对象。4、执行具体的的e
7、xecute的方法,它负责执行相应的业务逻辑。执行完后,返回一个actionForward对象,控制器通过该HctionForward对象来进行转发工作。也可以把action要处理的业务逻辑封装在javabean中,如果系统中还有ejb,那么通过javabean调用ejb以完成业务处理;如果没有ejb,那么就直接在javabean中连接数据库,进行数据库相关的操作。1 .int和integer的区别integer是一个类,对它的操作要通过类的方法,int是8种基本数据类型之一(八种数据类型:字符类型:char,布尔类型boo1ean以及数值类型byte、shortint1ongf1oatdou
8、b1e)ointeger是对int的封装。声明int的变量不需要实例化。声明integer变量需要实例化。int不需要实例化。2 .string和StringbUffer的区别String声明的数组长度是确定的,不能随意增加其容量。线程安全的可变字符序列。stringbuffer可随意增加容量,线程安全的字符序列3 .运行时异常和一般异常的区别运行时异常时程序运行时可能报出的异常。可以用trycatch获得,也可以不做处理。比如:indexoutofexception、c1asscasetexceptionnu1IpotionterexceptionC1assnotfoundexception
9、一般异常,这些异常时在定义方法是声明抛出的,这些异常必需用trycatch抛出,或throws处理,如果不处理,如果不处理,程序将编译失败。比如:ioexcption、fiIenotfoundexceptionSq1exption4 .例举5个常用的包、类、接口包名:java,uti1,java,io,java,awt,java,1ang,java,swing类名:string,stringbuffer,date,ca1endar,hashmap,hashset接口:co11ection,action,serzia1e,actionsupport,map5 .Vector和Iink1isVec
10、tor:由于使用了SynChrOniZed方法(线程安全),通常性能上较arrayIist差Iinked1ist:使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,插入速度较快。6 .连接池的工作机制连接池控制着和数据库的链接,它来控制开启几个链接,关闭几个链接,什么时候关闭,调用什么方法,在hibernate中的,connectionprovider相当于一个连接池,它来维持session和数据库的链接状态。7 .应用服务器有哪些tomcat,jboss,web1ogic8 .集合有哪些,集合的方法有哪些集合:co11ection,map方
11、法:add,c1ear,remove,contains,equa1s,hashcode,c1ear,c1one,size,isempty,put,get9 .Vc各部分有哪些技术实现,是如何实现View:产生http响应,请求模型更新,提供form表单用于用户请求mode1:封装应用状态响应状态查询,暴露应用接口contro11er:验证请求数据,将请求数据与模型更新相映射,返回响应的视图。10 .struts的配置文件有哪些,解释g1oba1ForwardsactionmappingmessageResourcestruts-config.xm1返回公共页面的配置,比如:返回到错误页面,登录
12、页面配置action的相关信息,包括Path,type,name,va1idate,scope,input描述该模块的一起配合使用的消息资源,messageresource对象11 .简述actionForm和action在struts中扮演的角色actionform封装请求的数据action处理用户请求产生响应12 .方法里有一个return语句,那么紧跟在这个try后的fina11y。里的COde会不会执行?会,而且先执行fina11y,在执行try13 .在Web应用中,你都使用那些技术或方法来改善系统的性能?ajax,action(线程安全,运行慢),jbpm,写一些公共的类,方法,进
13、行调用对服务器访问人数控制。编程用java实现将c盘的一个文本文件复制到d盘importjava.io.Fi1eReader;importjava.io.Fi1ewriter;importjava.io.ioexception;*需求:将C盘的一个文本文件复制到d盘。*思路:*1,需要读取源,*2,将读到的源数据写入到目的地。*3,既然是操作文本数据,使用字符流。*/Pub1icc1asscopytexttest/*ParanIargS*throwsioexception*/pub1icstaticvoidmain(stringargs)throwsioexception(1,读取一个已有的文
14、本文件,使用字符读取流和文件相关联。Fi1eReaderfr=newFiIeReader(io流2.txt);2,创建一个目的,用于存储读到数据。Fi1ewriterfw=newFi1ewriter(copytext,txt“);3,频繁的读写操作。intch=O;whi1e(ch=fr.read()!=-1)fw.write(ch);4,关闭流资源。fw.c1ose();fr.c1ose();)2.以下是借助了数组,即缓冲区,并进行了异常处理importjava.io.Fi1eReader;importjava.io.Fi1ewriter;importjava.io.ioexception;
15、pub1icc1asscopytexttest_2Privatestaticfina1intbuFFeR_size=1024;*ParanIargS*/Pub1icstaticvoidmain(Stringargs)Fi1eReaderfr=Hu11;Fi1ewriterfw=Hu11;tryfr=newFi1eReader(io流2.txt);fw=newFi1ewriter(copytest_2.txt);创建一个临时容器,用于缓存读取到的字符。charbuf=newcharbuFFeR_size;这就是缓冲区。定义一个变量记录读取到的字符数,(其实就是往数组里装的字符个数)intIen=O;whi1e(1en=fr.read(buf)!=T)fw.write(buf,0,1en);)catch(exceptione)SySteIn.out.print1n(“读写失败”);thrownewRuntimeexception(“读写失败”);fina11yif(fw!=nu11)