java技术分享_Java小白技术面试专题分享(一)

面试题一:

Q:源文件的class文件和自定义类哪个优先加载?

A:VM通过双亲委派模型进行类的加载,优先加载自定义类,所以可以达到覆盖源class文件的效果。(可以用自定义类覆盖第三方的jar包中的jar文件)

22924b5fe432408c0935a0115bfa7ad8.png

面试题二:

Q:java编码格式简单转换?

A:java字符串编码格式转换:

new String(JSON.toJSONString(requestData).getBytes(), "UTF-8")

面试题三:

Q:mavenjar包如何解决冲突?

A:maven jar 包冲突命令:

mvn dependency:tree

968f23a0266114a0fb9fec71251ecdd5.png

面试题四:

Q:秒杀系统如何做

A:前端页面要hold住,运用cdn解析。

后端的话,可以上分布式锁。

放入消息队列。

11955b49e29d9b95cea4733456a4ea67.png

面试题五:

Q:二分查找如何实现?

A:public static int test(int[] arr, int key) {

int low = 0; //索引开始的位置

int high = arr.length - 1; //数组的长度

int middle = 0; //查找指定元素的索引位置

while (low <= high) {

//获得初始数组的中间值

middle = (low + high) / 2;

//从中间值开始比较传入的key值 大于则 -1

if (arr[middle] > key) {

high = middle - 1;

//从中间值开始比较传入的key值 小于则 +1

}else if (arr[middle] < key) {

low = middle + 1;

}else {

//当没进if条件时则代表值相等,直接返回即可

return middle;

}

}

//当查找的值不存在时返回 -1

return -1;

}

面试题六:

Q:分库分表规则:

A:先垂直分,再水平分

垂直是根据业务规则区分,水平是根据数据量大小

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值