java中级岗位面试试题答案解析.docx

上传人:太** 文档编号:35038538 上传时间:2022-08-20 格式:DOCX 页数:23 大小:65.15KB
返回 下载 相关 举报
java中级岗位面试试题答案解析.docx_第1页
第1页 / 共23页
java中级岗位面试试题答案解析.docx_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《java中级岗位面试试题答案解析.docx》由会员分享,可在线阅读,更多相关《java中级岗位面试试题答案解析.docx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、单选题以下关于反射的说法中,哪一项是错误的? 回答错误A. class.forName()和classLoader都可用来对类进行加载B. classloader是将.class文件加载到JVM中,不会执行static中的内容C. class.forName得到的class是已经初始化完成的,classloder得到的class是还没有 链接的D. class.forName的所有重载方法无论任何情况下都会加载static块 正确选项D考点Java基础-面向对象编程 解析Class.forName(name, initialize, loader)带参函数也可控制是否加载 static 块,

2、initialize为false的时候是不加载static块,所以选项D是错误的,答案为D。单选题以下关于Map的说法中,哪一项是正确的?回答错误HashMap遍历时,取得数据的顺序和插入顺序一致,不允许key为null,允许value为 nullLinkedHashMap默认的遍历顺序是按照元素的插入顺序,也可以通过accessOrder来 改变遍历顺序为访问顺序Hashtable是HashMap的线程安全版,它支持线程的同步,即任一时刻只有一个线程 能写Hashtable,它允许记录的键或者值为nullTreeMap实现SortMap接口,能够把它保存的记录根据键排序,默认是按键值的降序排

3、 序 正确选项B考点Java基础-工具类解析D.select name, hp_max from heros order by hp_max limit _;正确选项B考卢-J 八、数据库-SQL解析选项A用于查询数据表中第一条数据的英雄名字;选项C用于查询数据表中第一条数据 的英雄名字和最大生命值;选项D用于查询数据表中最大生命值最低的英雄名称和最大生 命值,所以答案为Bo单选题下面是一段考查类初始化和反射的代码,关于这段代码,以下哪一项输出结果是正确的?public class ChildClass extends Parentclass public int age;private St

4、ring name;/静态代码块 static System.out.printin(ChildClass static);)/构造代码块(System.out.printin(nChildClass block);)/构造函数public ChildClass() System, out .print In (ChildClass constructor11);)/main方法public static void main(String f args) System. out .printin ( nChildClass start main*1);try Class classType =

5、Class . forName(Hcom.example.demo.mianshi.ChildClass”, false, ClassLoader.getSystemClassLoader();classType.newlnstance ();Field fields = classType.getFields();for (Field field : fields) System.out.print(field.getName()+”,);) catch (ClassNotFoundException | IllegalAccessException | InstantiationExcep

6、tion ) e.printStackTrace ();)class Parentclass static System.out.printin(nParentClass static); ) (System.out.printin(ParntClass block); )public Parentclass () System.out.printIn(Parentclass constructorH; ) ) 回答错误Parentclass static ChildClass static ChildClass start main Parentclass block Parentclass

7、 constructor ChildClass block ChildClass constructor ag,ChildClass start mainChildClass static Parentclass static ChildClass block ChildClass constructorParentclass blockParentclass constructorage,ChildClass start mainChildClass static Parentclass static ChildClass block ChildClass constructor Paren

8、tclass block ParntClass constructor age,nameA. Parentclass staticChildClass staticChildClass start mainParentclass blockParentclass constructorChildClass blockChildClass constructorage,name 正确选项 A 考点Java基础-编程基础解析首先运行程序得找到入口,而main就是程序的入口,但运行程序前需要加载类,类的加 载分为加载、链接、初始化三个过程,这里重点在初始化。main主方法会在构造器之前、 stati

9、c变量初始化之后调用,这是由于Java的惰性初始化,即Java编译器会保证每个 变量在使用之前会被初始化,而在main方法被调用之前无法知道是否存在主类的实例, 所以main主方法会在构造器之前,static变量初始化之后调用,所以BC是不对的。 然后,开始加载ChildClass类,因为ChildClass类继承于Parentclass类,加载 Parentclass类的时候,发现有static块,便执行了 static块(如果有些代码必须在项 目启动的时候就执行的话,需要使用静态代码块,这种代码是主动执行的,静态代码块在虚 拟机加载类的时候就会加载执行,而且只执行一次)。以上,当在Pare

10、ntclass类加载完成之后,会继续加载ChildClass类,然后发现 ChildClass类中也有static块,就会执行static块。在加载完所需的类之后,便开始执 行main方法。在main方法中执行new ChildClass()的时候会先调用父类的代码块, 然后调用父类的构造函数,构造代码块和构造函数都是给对象进行初始化的,但是构造代码 块在对象一建立就运行,优先于构造函数执行,构造代码块是给此类所有对象进行的初始化, 构造函数只是给它对应的对象初始化,所以先调用代码块再调用构造函数,然后是调用自身 的代码块,然后是调用自身构造函数。最后,getFields会获得某个类的所有的公

11、共(public)字段,包括父类中的字段。所以 只有age,这样就排除了 D选项,所以选择A。单选题为了让网卡ethO支持多队列,将其绑定到CPU0和CPU2上,假设该网卡的irq为 150,那么使用如下哪个指令能实现中断的正确绑定? 回答错误A. echo 5 /proc/irq/149/smp_affinityB. echo 4 /proc/irq/149/smp_affinityC. echo 3 /proc/irq/149/smp_affinityD. cho 2 /proc/irq/149/smp_affinity正确选项A考占p八、基础工具-Linux解析CPU位掩码计算是采用二进

12、制计算的,每一位表示一个CPU核,最右侧是最低位,表示 CPU0,例如0001表示绑定到CPU0上,0001绑定到CPU1上,而同时绑定到 CPU0和CPU2上,是0101,转换为十六进制为0x5,因此答案为Ao单选题关于MySQL的几种日志类型:redo log、binlog、undo log,以下哪个选项的说法是错 误的?回答错误A.redo log是InnoDB存储引擎层的日志,又称重做日志文件,用于记录事务操作的变化 B.binlog是属于MySQL Server层面的,又称为归档日志,属于逻辑日志,是以二进制的 形式记录这个语句的原始逻辑undo log保存了事务发生之前数据的一个版

13、本,可以用于回滚,同时可以提供多版本并发 控制下的读(MVCC),即非锁定读MySQL的binlog的statement模式不需要记录每一行数据的变化,减少了 binlog 日志量,节省了 I/O以及存储资源,所以在任何条件下都可以放心使用 正确选项D考点数据库-MySQL解析在MySQL的binlog的statement模式中,发现不少情况会造成MySQL的复制出 现问题,主要在修改数据的时候使用了某些特定的函数或者功能的时候会出现。比如: sleep()函数在有些版本中就不能被正确复制,在存储过程中使用了 lastjnsert_id()函 数,可能会使slave和master上得到不一致的

14、id等等。row模式是基于每一行来记 录的变化,不会出现类似的问题,所以D的说法是错误的,其他说法都是正确的。单选题若你想要查询笛卡尔积,以下儿个SQL命令中,哪一项是正确的? 回答正确A. SELECT * FROM player, teamB. SELECT playr_id, player . team_id, playr_nam,height,七am_nam FROM player, team WHERE player.team_id = team.team_idC. SELECT p.player_name, p.height, h.height_levelFROM playr AS

15、 p, height_grades AS hWHERE p.height BETWEEN h.height_lowest AND h.height_highestD. SELECT * FROM player LEFT JOIN team on player.team_id = tamtam_id 正确选项A考点数据库-SQL解析B选项用于两张表的等值连接就是用两张表中都存在的列进行连接。也可以对多张表进行 等值连接;C选项用于进行多表查询的时候,如果连接多个表的条件是等号时,就是等值 连接,其他的运算符连接就是非等值查询;D选项用于除了查询满足条件的记录以外,外 连接还可以查询某一方不满足条

16、件的记录。两张表的外连接,会有一张是主表,另一张是从 表。如果是多张表的外连接,那么第一张表是主表,即显示全部的行,而第剩下的表则显示 对应连接的信息,综上所述,答案为Ao单选题这是一段考查位运算的测试代码,以下执行结果中哪一项是正确的?public class MarkTest public static void main(String L args) int x = 1;int y = x;System.out.printin(y);)回答正确1-20_ 1正确选项B考占Q八、基础工具-Linux解析假设int占2个字节,那么1的二进制表示是0000 0001 , 表示按位取反,则 00

17、00 0001变为1111 1110,在计算机中整数用补码形式表示,正数的补码是它本身, 负数的补码是原数值除符号位按位取反再加1,由补码求原数值也是按位取反再加1,那 么1111 1110除符号位按位取反再加1变成1000 0010,即-2。故答案B正确。单选题小刘准备执行如下代码:public class StackOvrflowErrorDmo public static void main(String args) javaKeeper();)private static void j avaKeeper() j avaKeeper();)执行后他发现代码抛出异常,以下异常中,哪一项是

18、该代码抛出的? 回答正确A.java.lang.OutOfMemoryError: Java heap spaceB.java.lang.OutOfMemoryError: unable to create new native threadC.java.lang.OutOfMemoryError: Out of swap spaceD.j ava ,lang.StackOverflowError正确选项D考占-J 八、Java 高级-JVM解析JVM虚拟机栈是有深度的,在执行方法的时候会伴随着入栈和出栈,上边的方法可以看到, main方法执行后不停的递归,迟早把栈撑爆了,所以会抛出java.

19、lang.StackOverflowError, 答案为 D。单选题关于下面这段代码,以下哪一项的执行结果是正确的?public class IntegerTest public static void main(String args) Integer a = 10;Integer b = 10;Integer c = 129;Integer d = 129;System.out.printIn(a = b);System.out.printin(c = d);)回答正确A.true trueB.false falseC.true falseD.false true正确选项c考占V八、Jav

20、a基础-编程基础解析int是基本数据类型,interger是int的封装类,int默认值为0 ,而interger默认值 为null, Interger使用需要判空处理,Integer的缓存机制是:为了节省内存和提高性 能,Integer类在内部通过使用相同的对象引用实现缓存和重用,Integer类默认在-128 z 127之间,可以通过-XX:AutoBoxCacheMax进行修改,且这种机制仅在自动装箱 的时候有用,在使用构造器创建Integer对象时无用。所以通过分析可知。当d和b小 于128时,他们的引用相同,所以第一个是true。第二个大于128以后内存地址引用 不同,所以是fals

21、e,那么答案应该是Co单选题下面关于Java单元测试的说法,哪一项是错误的?回答正确JUnit的Test依附在public void方法,可以作为一个测试案例JUnit的Before依附的方法全局只会执行一次,而且是第一个运行JUnit的After依附的方法在测试方法运行之后运行采用Mockito框架虚拟出一个单元测试的外部依赖,通过只注重测试代码的流程与结果, 真正地实现测试目的正确选项B考占J八、Java基础-编程基础解析Before:方法之前运行一次,不是只能全局执行一次,所以B错误。BeforeClass:测试类所有方法之前运行一次,所以答案B应该是用BeforeClass才 对。单选

22、题关于Spring事务,以下哪个说法是错误的?回答正确private方法是不会被Spring代理的,因此是不会有事务产生的当前类调用的内部调用。在内部被调用方法上加Transactional(rollbackFor = Exception.class),这个是不生效的事务方法异常被catch住,事务不生效在调用方法上添加Transactional,但是方法抛出了 lOException,事务会回滚正确选项D考占J八、框架-Spring基础解析Transactional没有指定回滚异常,这个时候默认的回滚异常是RuntimeException , 如果出现其他异常那么就不会回滚事物,lOExce

23、ption没有继承RuntimeException。 综上所述,答案选择Do单选题在异常处理中,如释放资源,关闭数据库、关闭文件,应由以下哪一项语句完成? 回答正确A. try子句B. catch子句C. finally 子句D. throw子句正确选项C考占P八、Java基础-异常处理解析选项A中,try用来执行正常的程序,该程序可能发生异常。选项B中,catch捕捉try 代码块中的异常,并进行处理操作。选项C中,finally无论如果最终都将执行的代码, 一般用来关闭资源的消耗。选项D中,throw在方法体中抛出异常对象。综上所述,本 题选Co单选题在Linux系统下,我们在查看内存使用

24、情况时,经常会使用到free命令,其中我们经常 观察buffer/cache的值,关于其代表的含义,以下哪一项是正确的?回答错误buff/cache = Buffers + Cachedbuff/cache = Buffers + Cached + SReclaimablec.buff/cache = total - used - freeD.buff/cache = total - used - available正确选项B考占J 八、基础工具-Linux解析使用free命令时,可以观察到该命令的视角,内存分为total、used、free、buff/cache、 available,五个组

25、成部分,这里的buff/cache除了包含常规意义上的Buffers + Cached部分外还包含了一个我们极容易忽略的部分SReclaimable。buff/cache的功 能主要强调那些能被回收的,而其中SReclaimable是指可以被回收的内核内存,由于被 内核管理,所以在设计应用程序占用内存、以及计算当前系统还有哪些内存可以使用时,由 于内存是动态变化的,极容易错误估计是否内存大小,产生00M问题。单选题以下函数中,哪一项不是聚集函数?回答正确countmaxsumhaving正确选项D考占J 八、数据库-SQL解析A选项是用于统计总行数,属于聚集函数;B选项是用于求列中的最大值,也

26、属于聚集函 数;C选项是用于求列中数字的和,也属于聚集函数;D选项不属于聚集函数,having主 要用于数据分组,综上所述,答案为Do单选题如下是一段SELECT语句:SELECT aa,bb FROM cc WHERE dd GROUP BY ee;以下该语句执行顺序中,哪一项是正确的?以下为 HashMap、Hashtable、LinkedHashMap 和 TreeMap 的相关概念:l.HashMap是最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获 取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。因为键对象不可 以重复,所以HashMap最多只

27、允许一条记录的键为Null,允许多条记录的值为Null, 是非同步的。2 .Hashtable与HashMap类似,是HashMap的线程安全版,它支持线程的同步,即 任一时刻只有一个线程能写Hashtable,因此也导致了 Hashtale在写入时会比较慢,它 继承自Dictionary类,不同的是它不允许记录的键或者值为null,同时效率较低。3 .LinkedHashMap保存了记录的插入顺序,在用Iteraor遍历LinkedHashMap时, 先得到的记录肯定是先插入的,在遍历的时候会比HashMap慢,有HashMap的全部 特性。4 .TreeMap实现SortMap接口,能够把

28、它保存的记录根据键排序,默认是按键值的升序 排序(自然顺序),也可以指定排序的比较器,当用Iterator遍历TreeMap时,得至U 的记录是排过序的,不允许key值为空,非同步的。由此可知,B的表述有误,故答案为Bo单选题关于SQL语句的优化,以下哪一项说法是错误的? 回答正确类似分页功能的SQL,建议先用主键关联,然后返回结果集,效率会高很多通常情况下,join的性能比较差,建议改造成子查询写法多表联接查询时,关联字段类型尽量一致,并且都要有索引尽可能不使用TEXT/BLOB类型,确实需要的话,建议拆分到子表中,不要和主表放在一 起,避免SELECT*的时候读取数据性能太差 正确选项B考

29、点数据库-SQL 解析通常情况下,子查询的性能比较差,建议改造成join写法,所以选择Bo单选题在海量用户的应用开发和运维工作中,发现某个服务器经常出现内存不足的报警,经分析服 务器为频繁10操作并有大量内存是缓存,于是某系统管理员采取了两项措施缓解内存不 足:措施一:建立一个新的swap分区,并开启swap措施二:每隔 5 分钟,定时运行 echo 3 /proc/sys/vm/drop_caches回答正确FROM WHERE GROUP BY SELECTWHERE FROM GROUP BY SELECTc.SELECT FROM WHERE GROUP BYD.FROM WHERE

30、SELECT GROUP BY正确选项A考点数据库-SQL解析SELECT语句的标准执行顺序为:FROM WHERE GROUP BY SELECT,故A选项正 确。单选题如下是一段线程的运行代码,以下输出的结果中,哪一项是正确的?public class Counter public volatile static int volatileCount = C;static Atomic工ntgar atomicCount=new Atomiclnteger();public static void inc () try (Thread.sleep(5); catch (Interrupted

31、Exception e) )volatileCount+;atomicCount.incrementAndGet();)public static void main (String args) throws InterruptedException (final CountDownLatch latch = new CountDownLatch(1000);/同时启动1000个线程,去进行i + +计算,看看实际结果 for (int i = 0; i 680K(54784K)2908K-688K(180736K)r 0.0314018 secs Times: user=0.00 sys=0

32、.00z real=0.07 secsFi 1 1 GC (System . gc () ) PSYoungGen : 6fiOK-9K (547S4K) ParOl dGen : 8K-530K(125952K) 688K-530K(180736K), Metaspace:2656K-2656K(1056768K)r 0.0115257 secs Times: user=0.03 sys=0.00, real=0.01 secs以下关于这段日志的说法中,哪一项是错误的?回答正确GC日志开头的GC和Full GC说明了这次垃圾收集的类型PSYoungGen和ParOldGen是指GC发生的区域,分别代表使用Paral

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁