09初级Java工程师面试题(42~81企业真题).docx
初级Java工程师面试题(4281企业真题)42、设有一个二维数组,假设A存放的位置在644( 10 )从存放的文职在676( 10 )每个元素占一个空间,问A网(10 )存放在什么位置?脚注(10 )表示用10进制表示(C)A.688B.678C.692D.699 43、以下代码执行结果是(B )main($tring argsJ)(run() x>ngO_System.out .print (pong");A.pingpongB.pongpingC.pingpong 和 pongping 都有可能D.都有可能44、下面程序能正常运行吗(可以)hahaOrintln ( hahn );main (String、 arg。(NULL)45、解释一下什么是Servlet,说一说Servlet的生命周期Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面.它担当客户请求(Web浏 览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web服务器内部的服 务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包 含支持Servlet的Java虚拟机.Servlet生命周期可以分成四个阶段:加载和实例化、初始化、服务、销毁.当客户第一次请求时,首先判断是否存在Servlet对象, 假设不存在,那么由Web容器创立对象,而后调用initO方法对其初始化,此初始化方法在整个Servlet生命周期中只调用一次.完成 Servlet对象的创立和实例化之后,Web容器会调用Servlet对象的service。方法来处理请求。当Web容器关闭或者Servlet对象 要沉着器中被删除时,会自动调用destory()方法.46、过渔器有哪些作用和用法?对于一个web应用程序来说,过龙器是处于web容器内的一个组件,它会过渔特定请求资源请求信息用响应信息.一个请求来到时, web容器会判断是否有过油器与该信息资源相关联,如果有那么交给过港8g处理,然后再交给目标资源,响应的时候那么以相反的顺序交给 过渡器处理,最后再返回给用户浏览器.常见的过滤器用途主要包括:对用户请求进行统一认证、对用户的访问请求进行记录和审核、对用户发送的数据进行过速或替换、转换 图象格式、对响应内容进行压缩以减少传输量、对请求或响应进行加解密处理、触发资源访问事件等.47、写出一个冒泡排序48、写出一个单例的实现(懒加载方式)l.azySingleton (LazySingletonOSingletonllolder LazySingleton instance - LazySingleton()LazySinglcion gel Instance。49、2006年某人连续打工24天,共赚了 190元(日工资10元,星期日工资5元,星期日休息无工资)。他打工是从1月 下旬的某一天开始的,这个月的1日恰好是星期日,这人打工结束的那一天是2月(C )日A.2月6日B.2月14日C.2月18日D.2月21日50.由甲地到乙地有一天线路的巴士,全程行驶时间42分钟,到达总站后,司机至少休息10分钟,巴士就掉头行驶,如果这条线路 甲,乙两边总站每隔8分钟都发一辆(不必是同一时间),那么这条线路至少需要是多少俩巴士(C)A.15B.14C13D.1251、编号为1至10的10个果翅中,每盘都盛布水果,共盛放100个.其中第一盘里有16个,并且编号相邻的三个果盘中水果 是的和都相等,求第8盘中水果最多可能有几个(A )A.11B.12C.13D.1452、假设一个池塘,里面有无穷多的水,现在有2个空水壶,容积分别是5升和6升,间如何用这两只水壶取得3升水.5L桶打满水,全部倒入6L桶;5L桶再次打满,往6L桶倒水至其满.此时5L桶备下4L水;6L桶清空,将5L桶中的4L水倒入6L桶;5L桶打满水,往6L桶倒水至其满,那么5L桶中得3L水。53、在房里有三盏灯,房外有三个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分那个开关控制哪一盏灯.先翻开第一个开关,开一会再关上,然后翻开第二个开关进入房间再摸一下每个灯,发热的那盏是第一个开关的,亮的那盏是第二个开 关的,没变化的那盏是第三个开关的.54、两个盲人,他们各自买个两双黑袜和白袜,8双袜子的布质,大小完全相同,每双袜子都有1张商标纸连着,两位盲人不,J'心把8 双袜子混在的一起,问他们怎样才能取回黑林和白秣各两双.把每双袜子分成两只.每人各拿一只.这样,每人手中就有四只黑袜,四只白袜.每人也就有两双黑袜,两双白袜了.55、一楼到十楼的每层电梯门口都方和一颗钻石,钻石大小不一,你乘坐电梯从一楼到十楼,每层楼电梯门都会翻开一次,手里只能拿 一颗钻石,问怎样才能拿到最大的钻石.电梯每层都会开一下的,所以,在第一层就拿.到第二层,看到更大就换一下,更小就不换,一直这样上去,到最上层后,拿到的就是 最大的.56、ArrayList list = new ArrayList(20);语句中的 list 集合大4年充了几次(A)A.OB.lC.2D357、如果去掉了 main方法的static修饰符会怎样(B )A.程序无法翻译.B.程序能正常编译,运行时或抛出NoSuchMethodError异常.C.程序能正常编译,正常运行.口彳明:能正常编译,正常运彳5-会会立刻退出.58、启动java程序进程时,输入一下哪个参数可以实现年轻代的堆大小为50M(C )A.-Xms50MB.-Xmx50MC-Xmn50MD.-Xss50M59、下面程序瑜出的结果是(A ):b jQc) System.out.print(c);main(Stringi args) (fOQ(foo('D');A.ABDCBDCBB.ABDCDBCBCABDBCDCBD.ABDBCDCB60、下面哪些是Thread类的方法(A, B, D)A.start()B.run()C.exitQD.getPriorityO61、以下语句输出的结果是什么(C)System.out.print(Integer.MAX_VALUE*2);System.out.print(Integer.MIN_VALUE*2);A.-2 -1B.-l -2C-2 0D.-l -162、Iog4j的优先级从高到低的排序为(A)A.error>warn>info>debugB.warn>info>debug>errorC.warn >debug>error>infoD.error>warn > debug >info63.以下哪些方法可以使线程从运行状态进入到阻塞状态(BCD )A.notifyB.waitC.sleepD.yield64、以下关于Thread类提供的线程控制的方法中,错误的一项为哪一项(A)A.在线程A中执行线程B的join。方法,那么线程A等待直到B执行完成.B.线程A通过调用interrupt。方法来中断其阻塞状态.CcurrentThreadO方法返回当前线程的引用。D.假设线程A调用方法isAlive()返回为true ,那么说明A正在执行中.65、设 String si =" Topwalk" ;String s2 - Company”;以下方法可以得到字符串 NTopwalkCompany<,有:(ABD )A.s2+sl;B.sl.concat(s2)C.sl.append(s2);D.StringBuffer buf = new StringBuffer(sl); buf.a叩end(s2);66、String a = new String( Ml" +" 2")最终创立了几个对象(D )A.1B.2C3D.467、int类型占用(B)个字节?A.2B.4C.8D.1668.以下那一条语句可以实现快速的复制一张数据库衰(C)A.select * into b from a where 1<>1;B.creat table b as select * from a where 0=1;C.insert into b as select * from a where lol;D.insert into b select * from a where 1<>1;69、属于单例模式的特点的是(ACD)A.提供了对唯一实现的受控访问B.允许可变数目的实例C.单例模式的抽象层会导致单例类扩展有和那的困难D.单例模式很容易导致数据库的连接池溢出70、选择Oracle的分页语句的关键字(A )A. rownumC.TOPD.pagenum71、选出可以查询出所有的表和视图的方法:(B )A.preparedStatement.getMetaData().getTables(*);B.connection.getMetaData().getTables(*);Cresult.getMetaData().getTables(*);D.DiverManager.getMetaOgetTables(*);72、可以监控到数据库变化的机制有哪些(ABC)A存储过程B.数据库日志C触发器D.物化视图73、清空表所有数据的性能最优的语句是哪一个(B)A.delete from tsuer;B.truncate table tuser;C.drop table tuser;.delete tuser;74、文件对外共享的仞议有哪几个(AB )A.FTPB.Windows 共享C.TCPD.SSH75、关于Java中特殊符号的用法正确的选项是(AD )A.判断一个字符串str中是否含有丁,可以根据str.indexOf( *.")是否等于-1判断。B.判断一个字符串str是否含有.可以根据str.indexOf( ")是否等于-1判断.C根据分隔字符串str的写法可以是str.split( *,V )D.根据分隔字符串str的写法可以是str.split( )76、根据以下代码回答以下问题,放鬻什么方法在第6行,会引起编译错误的选项是(B ) class Super (2 i)uhl - s gelNumO 3> i« 泊 s Sub p、 Super 6A.public float getNumreturn 4.0f;B.public void getNumOOC.public void getNum(double d()D.public double getNum (float d ) return 4.0d;77、根据以下代码回答问场:输出结果是什么? (B)!.miiin(SlringA.print out nothing;B.print out "Finally"C.编译嘤D.以上都不对78、根据以下代码回答以下问题,请问输出i和j的值是多少(D )=10;(AJ=6j=5B.i=5 j=5Ci=6j=4D.i=5j=679、请问以下是java关键字的有?(CD)A.runB.lowC.import0.implements79、以下哪些不属于约束( CD )A.主键B.外键C.索引6唯一索引E.not null80、以下关于数据库连接池的说法中哪个是错误的(D )A.服务器启动时会初始建立一定数量的池连接,并一直维持不少于此数目的池连接.B.客户端程序需要连接时,池驱动程序会返回一个使用的池连接并将其使用计数加1.C.如果当前没有空闲连接,驱动程序就会再新建一定数员的连接,新建连接的数量可以由配置参数决定.D.当使用池连接调用完成后,池驱动程序将此连接标记为空间,其他调用就可以使用这个连接.