欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

转载:程序员刚写完代码 , 就被开除了

程序员文章站 2022-04-22 20:14:16
...

原文链接 点这里

最近在网上看到的两段“写完代码就被公司开除”的代码,说是网上写完这段代码,就被老板开除了。

1.第一段代码

转载:程序员刚写完代码 , 就被开除了

这位程序员写完这段代码,觉得自己被开除是因为没有写注释,看到这里不禁笑出了声。。。

兄嘚(dei),肯定不是这个原因,获取下一天的时间,你使用了Thread.sleep()睡眠了1天以后,然后再去获取当前的时间,通过这种方式,如果上线以后,那么但凡涉及到获取下一天的时间的操作,用户一点击,你让用户等一天再去看显示结果吗???哈哈~,老板不开除你才是奇怪呢!

那么正确的获取下一天的姿势应该是什么样的呢?我这里给一个示例。

 1import java.util.Date;
 2public class Main {
 3    private static Date getNextDay(Date date) {
 4        long addTime = 1;//这个代表几天
 5        addTime *= 1;    //1天
 6        addTime *= 24;   //一天24小时
 7        addTime *= 60;   //1小时60分钟
 8        addTime *= 60;   //1分钟60秒
 9        addTime *= 1000; //1秒1000毫秒
10        Date nextDate = new Date(date.getTime() + addTime);
11        return nextDate;
12    }
13    public static void main(String[] args) {
14        Date now = new Date();
15        System.out.println("Now: " + now);
16        System.out.println("NextDay: " + getNextDay(now));
17    }
18}

这个代码利用Date来获取下一天,只是一个库函数的简单使用,我们来看看运行结果,一点击运行,不到0.000xxx1s的时间,就出来了下一天的日期,根本不用等待一天,效率是不是提高了?

1Now: Fri Nov 02 22:19:43 CST 2018
2NextDay: Sat Nov 03 22:19:43 CST 2018

2.第二段代码

转载:程序员刚写完代码 , 就被开除了

这位兄弟是老板让写一个排序,他是怎么实现的呢?

通过看代码,可以看出来这位兄弟的思路是数组中每有一个数,就去用new Thread()去开一个线程,线程里面呢,就是用Thread.sleep()去睡眠这个数的的大小时间。举例比如说11,他就开一个线程去睡眠11s,然后去输入11;对于998,他就开一个线程去睡眠998秒,然后去输出998。

由于线程互相之间没有影响,所以数小的线程由于睡眠时间短,肯定会最先输出,数大的线程由于睡眠时间长,肯定会最后输出,最后就把这些数字排好序了。

额,看到这里。。。

转载:程序员刚写完代码 , 就被开除了

如果数组中的数据非常大,那么排序所用的时间也会非常大;而且如果数组中的数有很多,会开很多线程,消耗的资源也很多,总之这种做法是万万不可取的。

排序那么多算法,哪一个不比这个强~

END

推荐阅读

福利|帮你养成的好习惯

为了BAT,我是如何努力的?

美团超详细面经(附答案)

转载:程序员刚写完代码 , 就被开除了

等等,先别走![程序员乔戈里]公众号又有活动了!参与活动,不仅可以培养自己良好的习惯,还能拿到现金红包与书籍奖励,动作要快,姿势要帅!

戳我看详情

转载:程序员刚写完代码 , 就被开除了
转载:程序员刚写完代码 , 就被开除了

今日问题:

你写过哪些可能会被老板开除的代码?

留言格式:

打卡xx天,答:xxx