喵叔哟
一个关注AI和Java的.NET程序员
展开
-
我的日期不是我要的日期
零、故事小白经过多次面试终于被一家互联网公司录用,但是在上班的第一天便遇到了一个棘手的问题。部门测试:小白啊,你这个程序显示的不对啊,你看部分订单应该显示的时 2020年12月21日,但是程序显示的时间时 2021年0月5日。小白:不会吧,我看看。小白运行起来程序发现确实有部分订单显示不正确,而且还都是12月的订单有问题。小白很是不解,预释在网上查了起来。查着查着无意中发现上家公司的技术总监在某S某N上发布了一篇关于 Java 时间的文章,看完之后小白豁然开朗,迅速的改好了代码,提交到测试手里进行测原创 2021-04-19 00:25:59 · 153 阅读 · 1 评论 -
Java成语接龙
零、故事金三银四招聘季,Java 程序员小白从公司裸辞开始面试找工作。经过多轮面试小白终于来到了最终的技术总监面试阶段。技术总监:现在有一个成语接龙的程序,要求把每次符合条件的成语存储到字符串中,请你把这个程序在 IDE 中写出来。下面是小白写的程序的:import java.util.Scanner;public class HelloWorld { static String idioms=""; public static void main(String []args) {原创 2021-04-09 01:46:31 · 426 阅读 · 0 评论 -
+、StringBuffer、StringBuilder区别
零、故事小王是一个一年经验的新 Java 程序员,最近他负责的模块出现了性能问题,每次执行的时间总是在十多秒。小王经过排查终于找出来原因了,是因为在字符串连接的时候使用了传统的字符串连接方式造成的,但是具体的解决方法小王还是不清楚。于是小王找到了项目组的资深程序员刘哥,刘哥看完代码告诉小王说:你可以使用 StringBuffer 或者 SrtingBuilder 进行字符串连接。小王将连接方法改完后再次运行代码发现性能果然有所提升。这也激发了小王探索的兴趣,于是小王便在网上翻阅资料查询。。。一、讲解J原创 2021-01-24 13:01:12 · 461 阅读 · 0 评论 -
新的未必比旧的好
老张是一位具有十年开发经验的资深程序员,最近在代码评审会上他的代码收到了实习生小李的质疑。事情是这样的,老张的代码中存在一个循环,这个循环每次都会向数组中写入一个值,然后循环遍历这个数组每次循环就累加 1 最后输出累加结果。简化后的代码如下:private static final int size=999999999;private static List<String> nums=new ArrayList<>();public static void init(){原创 2020-12-31 01:03:54 · 286 阅读 · 1 评论 -
YYYY-MM-DD 一个意外的日期
今天是元旦假期了,小黄在去往火车站的路上,他要奔向另一座城市去看女朋友。就在这时,项目经理大林子发来微信说客户的进销存系统显示的日期错了,需要紧急处理。无奈小黄只能奔向了公司。到了公司小黄打开电脑调试代码,但是代码调试了一遍又一遍还是没发现是什么原因造成的,于是小黄只能将有问题的代码段发给了开发组长,让开发组长帮忙。以下代码是有问题的代码段:public void getNowData(string date){ //more code SimpleDateFormat format =new Sim原创 2020-12-06 23:43:15 · 318 阅读 · 0 评论 -
Java 类型小变大
类型转换在项目开发中可以说是无处不在,我们都知道在转换的时候类型从大专小会出现精度丢失的情况,但是从小转大一般不会出现精度丢失的情况。注意这里我说的是一般不会出现精度丢失,那么什么时候会出现精度丢失呢?我们先来看一个常见的面试题:题目:以下代码段最终输出结果是什么?public static void main(String[] args){ System.out.println((int)(char)(byte)-1);}我斗胆猜测对于上述代码的输出值大部分面试人员会给出 -1 的答原创 2020-11-08 14:59:58 · 443 阅读 · 3 评论 -
自定义随机数方法的坑
Random 经常被我们用来生成随机数,但是我们要想用好 Random 可不是一个简单的问题,我们先来看一下一道经典的面试题。private static final Random RANDOM =new Random();static int random1(int n){ return n>=0?RANDOM.nextInt(n):RANDOM.nextInt(Math.abs(n));}static int random2(int n){ return Math.abs(原创 2020-11-07 19:13:42 · 532 阅读 · 0 评论 -
java 虐“狗”日常
双十一马上来了作为单身程序员的你,你是打算过购物节呢,还是过光棍节呢?扎心了吧老铁,然而我再告诉你一个更加悲催的事情:你所用的 Java 中存在一对青梅竹马的对象 equals 先生 和 hashCode 女士。下面我就给你们讲讲它俩之间的故事。一、讲故事equals 先生equals 先生工作在一家名叫 EqualsCompany 的公司,他每天的工作就识别进来的员工是否打卡了两次。public class EqualsCompany{ private String para;原创 2020-11-05 01:35:19 · 191 阅读 · 0 评论 -
char+char=number
在面试中面试官往往会考察 char 类型的知识和随机数的知识,部分开发人员很容易就掉入了坑中,下面我们通过两个例子来讲解一下 char 和随机数中的坑。零、char我们先来看一下面试题:请写出下面代码段的输出值,System.out.println('a'+'b');针对上面的这段代码,部分程序员一定会给出答案是:ab,答案真的是这样吗?我们不妨把这段代码运行起来看一下。程序输出的结果很出乎意料,竟然是 195。那么为什么是这个结果呢?这是因为编译器在计算表达式的时候进行了拓宽原始类型转换,原创 2020-10-25 16:58:00 · 811 阅读 · 0 评论 -
你看看人家,数组和List
数组和 List 两家是邻居,同时它俩也是同班同学。两人最近很苦恼,因为父母最近经常说:“你看看对门邻居XXX,你就不能好好学学人家?”。它们的父母之所以这个说是因为加瓦老师最近举行的两次考试,一次考试 List 考出了好成绩,另一次考试数组考出了好成绩。具体是什么样的考试呢,我们下面来看一下。零、考试题目首先,第一次考试的题目是这样的:请在最短的时间内将 Integer 类型的数字 0 到 100000000 放入自己的口袋内。考试一分一秒的过去了数组用了 171 毫秒完成了考题,而 List 却用原创 2020-10-20 00:52:49 · 224 阅读 · 0 评论 -
运算溢出,负负得正
运算溢出这个问题在 Java 面试中时长被问到,但是面试官不会直接问你运算溢出,而是通过编程题的形式进行考察,我们先来看一下面这道面试题:请写出下面这段代码的输出结果public static void main(String[] args){ int x = -2000000000; int y = 2000000000; System.out.println(x - y);}这段代码很多开发人员会简单的认为这段代码最后输出的结果是 -4000000000,但是这段代码原创 2020-10-17 21:12:11 · 610 阅读 · 2 评论 -
令人迷惑的equals 和 ==
equals 和 == 在面试中经常被问到也是很容易出错的地方,一般会以阅读代码写输出结果的形式考察,下面我们来看一下这个题目:请写出下面代码段中输出的结果//第一组对比Integer num1=10;Integer num2=10;System.out.println(num1==num2);System.out.println(num1.equals(num2));//第二组对比Integer num3=35888;Integer num4=35888;System.out.pri原创 2020-10-18 15:21:25 · 249 阅读 · 0 评论