java框架可能问道的问题_Java工程师面试题及答案

Java工程师面试题及答案

现在就快到企业的招聘季了,你们准备好去面试了吗?今天小编收集了一些面试中常会问道的问题给大家,希望能给大家带来帮助哦!也祝各位同学都能找到让自己满意的工作!

f77c7f910c7e736833a2d8f7375c3f5b.png

1. 如何判断一个数是2的幂。

个人认为,数字转化为二进制,符号位为0,余下部分有且只有最左边一位是1,其余位都是0,才是2的幂。原理是 乘二则向左进一位。

2.陷阱面试题:

在Java中,Throwable是一个接口还是抽象类?

3.Javascript 题目

4. 二进制算法以及思维陷阱题

现有一千瓶药水,其中九百九十九瓶是完全一样的,只有一瓶里面是毒药,但是外观上分辨不出来。毒药如果给小白鼠喝一点,一星期后这只小白鼠会突然死亡,但之前一点症状也没有。现需要在一星期内找出哪瓶是毒药,问至少需要几只小白鼠?

5.Java数据范围

在Java中, 有一个数字,比如100亿,可以使用 int 来存储吗?

100亿 * 100亿呢,可以用什么类型来存储?

这样计算, int 类型是32位,4个字节,2的10次方是 1024,大约是1K,2^20 = 1M,约100万, 2^30= 1G,大约是10亿,所以整数只能存大约40亿个数字,正数22E个,所以 100亿可以使用long来存储,但不能使用 int来存储。

long是64位,因为 32位存放不下100亿,所以64位也存放不下 100亿 * 100亿,只能使用特殊的类型啦,比如K神所说的 BigInteger,或者 BigDecimal来存放。

一个测试程序:

6. Java面试题: 如何在一个interface 中执行一些操作

7.MySQL中UUID做主键如何变得有序呢?

返回的结果如下所示:

8.为什么JSON定义的.标准中,属性名需要用引号引起来呢,像下面的name一样?

应该考虑到各种系统,各种关键字以及标识符的组成不同,而且会有Map等情况

9.关于JVM

有个万(wu)能(lai) 的面试技巧,你可以问求职者,这个背后的思想是什么,你理解他的原理吗,为什么要这样实现,如果让你自己写,多长时间做一个基础版本出来?

GC 有哪几种, 每个JDK版本中有什么区别, 哪几种算法比较好, 适合什么情况, 其回收的思想是什么,怎么实现的,优缺点是什么,你要如何调优。。。

10.面试题: Java 中, 下面的这种用法有什么问题?

Date nextMonth = new Date(newDate().getTime() + 30*24*60*60*1000);

当然,这种用法是很不好的,加一个月应该使用的是Calendar 类,Calendar是Java的标准工具类,在 java.util 包下面.

Date today = new Date();

Calendar cal = Calendar.getInstance();

cal.setTime(today);

cal.add(Calendar.MONTH, 1); // 加一个月

cal.add(Calendar.DATE, -1); // 减一天

//

Date nextM = cal.getTime();

System.out.println(nextM);

更坑的在这里:

long n = 30*24*60*60*1000;

long nl = 30*24*60*60*1000L;

System.out.println("n="+n);

System.out.println("nl="+nl);

可以参考下面的输出结果:

n=-1702967296

nl=2592000000

提示: int 值可以放下多大的值?

【Java工程师面试题及答案】相关文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值