java中测试计算能力_这 10 道 Java 测试题,据说阿里 P7 的正确率只有 50%

据说这是一套阿里Java工程师答题正确率只有50%的题目,由泰山版《Java开发手册》作者孤尽亲自出题,来测测凭借你的Java基础写下答案,看看你能对几题?

题目一: float a = 0.125f; double b = 0.125d; System.out.println((a - b) == 0.0); 代码的输出结果是什么?

A. true

B. false

题目二: double c = 0.8; double d = 0.7; double e = 0.6; 那么c-d与d-e是否相等?

A. true

B. false

题目三: System.out.println(1.0 / 0); 的结果是什么?

A. 抛出异常

B. Infinity

C. NaN

题目四: System.out.println(0.0 / 0.0); 的结果是什么?

A. 抛出异常

B. Infinity

C. NaN

D. 1.0

题目五: >>和>>>的区别是?

A. 任何整数没有区别

B. 负整数一定没有区别

C. 浮点数可以>>运算,但是不可以>>>运算

D. 正整数一定没有区别

题目六: 某个类有两个重载方法:void f(String s) 和 void f(Integer i),那么f(null)的会调用哪个方法?

A. 前者

B. 后者

C. 随机调用

D. 编译出错

题目七: 某个类有两个重载方法:void g(double d) 和 void g(Integer i),那么g(1)的会调用哪个方法?

A. 前者

B. 后者

C. 随机调用

D. 编译出错

题目八: String a = null; switch(a)匹配case中的哪一项?

A. null

B. "null"

C. 不与任何东西匹配,但不抛出异常

D. 直接抛出异常

题目九: String get(String string, T t) { return string; }此方法:

A. 编译错误,从左往右第一个String处

B. 编译错误,T处

C. 编译错误,Alibaba处

D. 编译正确

题目十: HashMap 初始容量 10000 即 new HashMap(10000),当往里 put 10000 个元素时,需要 resize 几次(初始化的那次不算)?

A. 1次

B. 2次

C. 3次

D. 0次

答案见下面哦,附带解析~

题目一: float a = 0.125f; double b = 0.125d; System.out.println((a - b) == 0.0); 代码的输出结果是什么?

A. true

B. false

解释:首先浮点数是由符号位、指数位、有效数字三个部分组成,而0.125f、0.125d均可以精确的表示出来,不存在精度丢失,因而a-b==0.0。

题目二: double c = 0.8; double d = 0.7; double e = 0.6; 那么c-d与d-e是否相等?

A. true

B. false

解释:类似十进制里面的分数1/3,就是无限循环数,无法精确表示出来,同理浮点数里有些数值也没法精确表示出来。

System.out.println(0.8-0.7);//输出0.10000000000000009

System.out.println(0.7-0.6);//输出0.09999999999999998

题目三: System.out.println(1.0 / 0); 的结果是什么?

A. 抛出异常

B. Infinity

C. NaN

解释:在整型运算中,除数是不能为0的,否则直接运行异常。但是在浮点数运算中,引入了无限这个概念。可以看一下源码Double的定义, public static final double POSITIVE_INFINITY = 1.0 / 0.0;

题目四: System.out.println(0.0 / 0.0); 的结果是什么?

A. 抛出异常

B. Infinity

C. NaN

D. 1.0

解释:java源码,Double包装类下,public static final double NaN = 0.0d / 0.0;NAN表示非数字,它与任何值都不相等,甚至不等于它自己。

题目五: >>和>>>的区别是?

A. 任何整数没有区别

B. 负整数一定没有区别

C. 浮点数可以>>运算,但是不可以>>>运算

D. 正整数一定没有区别

解释:>>>表示不带符号向右移动二进制数,移动后前面统统补0;两个箭头表示带符号移动,正整数的符号位是0,因而两者没有区别

题目六: 某个类有两个重载方法:void f(String s) 和 void f(Integer i),那么f(null)的会调用哪个方法?

A. 前者

B. 后者

C. 随机调用

D. 编译出错

解释:1)精确匹配->2)基本数据类型(自动转换成更大范围)->3)封装类(自动拆箱与装箱)->4)子类向上转型依次匹配->5)可变参数匹配。子类向上转型,两者的父类都是object类(null默认类型是object),因而会同时匹配上两者,编译器会报Ambiguous method call. Both错误

题目七: 某个类有两个重载方法:void g(double d) 和 void g(Integer i),那么g(1)的会调用哪个方法?

A. 前者

B. 后者

C. 随机调用

D. 编译出错

解释:1)精确匹配->2)基本数据类型(自动转换成更大范围)->3)封装类(自动拆箱与装箱)->4)子类向上转型依次匹配->5)可变参数匹配,本题是进行到第二步匹配上了。

题目八: String a = null; switch(a)匹配case中的哪一项?

A. null

B. "null"

C. 不与任何东西匹配,但不抛出异常

D. 直接抛出异常

解释:在Java编程语言的设计者的判断中,这比静默跳过整个开关语句要合理,因为使用null作为开关标签的话,编写的代码将永远不会执行。

题目九: String get(String string, T t) { return string; }此方法:

A. 编译错误,从左往右第一个String处

B. 编译错误,T处

C. 编译错误,Alibaba处

D. 编译正确

解释:尖括号里的每个元素都指代一种未知类型,在定义处只具备执行Object方法的能力,在编译期间,所有的泛型信息都会被擦除,编译后,get()的两个参数是Object,返回值也是Object。

题目十: HashMap初始容量10000即new HashMap(10000),当往里put 10000个元素时,需要resize几次(初始化的那次不算)?

A. 1次

B. 2次

C. 3次

D. 0次

解释:比10000大,且最接近的2的n次方数是16384,默认负载因子是0.75,16384*0.75 = 12288>10000,因而不需要扩容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566977.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wireshark-win64-3.4.0安装_轴承安装规范

Sulli小苏:今天详细介绍下如何正确的安装轴承,正确的安装操作是轴承长寿命的关键,轮毂轴承的主要作用是承重和为轮毂的转动提供精确引导,它既承受轴向载荷又承受径向载荷,是一个非常重要的零部件。轴承的安装正确方式滚…

代码实现tan graph model for classification_几行代码搞定ML模型,低代码机器学习Python库正式开源...

PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型,提升机器学习实验的效率。想提高机器学习实验的效率,把更多精力放在解决业务问题而不是写代码上?低代码平台或许是个不错的选择。最近,机器之心发现了…

java坐标移动题目case_用java怎样编写一个二维坐标平移程序

展开全部java编写二维坐标平移程序,主要是e69da5e887aa62616964757a686964616f31333337626231通过类继承Point2D,使用里面的方法来平移,如下代码:class Point2D{int x, y;Point2D(){ }Point2D(int i,int j){xi;yj;}void offset(int a, int …

dataframe 如何选中某列的一行_带你领略pandas中多表之间如何处理

但我们在处理Pandas多表数据时,我们需要将多个表之间进行表格的连接与合并,当连接完多表之后我们可能还需要对数据进行多重的索引,方便我们更快的找到数据,以及对数据进行做透视表,更加直观的去观察我们的数据,今天我们就围绕着数据合并以及数据重塑及透视表进行展开讲解,让我们…

java的数列极差_[hoj]数列极差问题 | 学步园

贪心。关键是证明子问题最优即是总问题最优。可以考虑三个数的情况&#xff0c;易证选取最小的数擦除将得到最大数&#xff0c;vice versa 。故总体也是如此。用优先队列实现。STL自带仿函数greater<>用于调整小顶堆。#include #include using namespace std;int main(){…

python计算定积分_python编程通过蒙特卡洛法计算定积分详解

这篇文章主要介绍了python编程通过蒙特卡洛法计算定积分详解&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。 想当初&#xff0c;考研的时候要是知道有这么个好东西&#xff0c;计算定积分。。。开玩笑&#xff0c;那时候计算定积分根本没有这么简单的。但这确…

java容易掉发吗_容易被忽略的面试题—Java高并发

常见实现如CAS等。部分乐观锁削弱了一致性&#xff0c;但中低并发程度下的效率大大提高。并发编程Java中如何创建一个线程&#xff1f;从面相接口的角度上讲&#xff0c;实际上只有一种方法实现Runable接口&#xff1b;但Thread类为线程操作提供了更多的支持&#xff0c;所以通…

java spring mvc api_SpringMVC实现REST API

JSON使用Jackson jar包、RequestBody、ResponseBody注解&#xff0c;达到&#xff1a;1. 请求JSON消息体映射为JAVA对象2. 返回JAVA对象映射为JSON消息体Step 1. 导入Jackson jar包&#xff1a;Step 2. 在Spring MVC配置中加入annotation-driven&#xff0c;该配置可以确保Requ…

java 定义构造器_java的构造器定义以及使用

构造器&#xff0c;是面向对象所特有的概念&#xff0c;是一种特殊的方法&#xff0c;与对象创建有关1、构造器没有返回值类型2、构造器方法名与类名相同&#xff0c;而且可以重载构造器3、构造器不能手动调用&#xff0c;只能在创建对象时自动调用一次4、如果没有在类中定义构…

gateway动态路由_无语!SpringCloud Gateway动态路由之Nacos,我已经讲得很清楚了

前言当我们的网关Gateway程序开发完成之后&#xff0c;需要部署到生产环境&#xff0c;这个时候你的程序不能是单点运行的&#xff0c;肯定是多节点启动(独立部署或者docker等容器部署)&#xff0c;防止单节点故障导致整个服务不能访问&#xff0c;网关是对客户端的入口与出口&…

json里面的list数据取不出来_sql盲注的困局:利用DNSlog快速导出数据

对于一个sql注入点来说最幸运的就是支持堆叠注入&#xff0c;最蛋疼的就是盲注&#xff0c;盲注里面难搞的就是基于时间的盲注。我们在本地利用这段代码进行演示<?php error_reporting(0); $link mysqli_connect(localhost,root,root); mysqli_set_charset($link,utf8); m…

python判断文件是否打开_python如何判断一个文件是否处于打开状态?

请问你的是linux吗&#xff1f;如果是linux可以借助/proc来获取。 import os class File(object): def __init__(self, file_path): if not os.path.exists(file_path): raise OSError({file_path} not exist.format(file_path file_path)) self.file_path os.path.abspath(f…

python怎么测试程序_python如何测试程序

测试函数是用于自动化测试&#xff0c;使用python模块中的unittest中的工具来测试 附上书中摘抄来的代码&#xff1a;#codingutf-8 import unittest from name_function import get_formatted_name class NamesTestCase(unittest.TestCase): def test_first_last_name(self): f…

判定覆盖白盒测试java_白盒测试系列(四)条件判定覆盖

条件判定覆盖一、定义&#xff1a;程序中每个判定至少有一次为真值&#xff0c;有一次为假值,使得程序中每个分支至少执行一次&#xff0c;且使得各判定中的每个条件获得各种可能的取值至少满足一次。二、特点&#xff1a;1、综合了条件覆盖和判定覆盖的特点2、满足条件判定覆盖…

discard python_Netty入门教程(一) 实现DISCARD服务

官方那个给出的介绍是&#xff1a;Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具&#xff0c;用以快速开发高性能、高可靠性的网络服务器和客户端程序。然后我们简单理解一下&#xff0c;这玩意就是个程序&#xff0c;干什么的&am…

python 每天执行一次_python 定时器每天就执行一次的实现代码

1.实现功能编写python脚本一直运行&#xff0c;判断当下是否是新的一天&#xff0c;如果是就执行一次任务代码2.具体实现代码#-*-coding:utf-8 -*-__author__ Administratorimport os,threading,timecurTimetime.strftime("%Y-%M-%D",time.localtime())#记录当前时间…

python 类的内置方法_【转】[python] 类常用的内置方法

原文&#xff1a;http://xukaizijian.blog.163.com/blog/static/170433119201111894228877/ 内置方法 说明 __init__(self,...) 初始化对象&#xff0c;在创建新对象时调用 __del__(self) 释放对象&#xff0c;在对象被删除之前调用 __new__(cls,*args,**kwd) 实例的生成操作 _…

java 文件与base64_java之文件与base64字符之间的相互转换

package cn.xuanyuan.util;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;public class FileUitl {/*** 将文件转成base64 字符串* param path文件路径* return ** thro…

python向量化编程技巧_神经网络基础之Python与向量化

Vectorization 深度学习算法中&#xff0c;数据量很大&#xff0c;在程序中尽量减少使用loop循环语句&#xff0c;而可以使用向量运算来提高程序运行速度。 向量化(Vectorization)就是利用矩阵运算的思想&#xff0c;大大提高运算速度。例如下面所示在Python中使用向量化要比使…

java 父子线程 调用链_ZipKin原理学习--Zipkin多线程及线程池中追踪一致性问题解决...

在学习Zipkin分布式追踪系统中我们了解到Trace在整个调用链是一致的&#xff0c;在web服务中可以通过在header设置Trace值在不同的服务中进行传递&#xff0c;那样在一个服务内部不同的线程&#xff0c;甚至是线程池中Zipkin是如何处理的&#xff0c;接下来我们来了解学习一下。…