程序員剛寫完這段排序算法就被開除了!網友看了後:花裏胡哨

近日我在圈內聽聞,一個月薪 9K 的 Java 程序員,因老闆讓他寫一個排序算法,然後他就寫了一段屌炸天的休眠排序算法,接着他就被老闆開除了……

程序員剛寫完這段排序算法就被開除了!看了後,網友:這神操作啊

排序算法代碼大概是這樣的:

這個程序員更屌啊,數字排序,用一行簡單的 Arrays.sort 就搞定的東西,他竟用到了這麼多概念。

1、循環

2、線程休眠

3、多線程

這段代碼有什麼問題?

下面貼上完整的代碼:

public class ArraySort implements Runnable {
 private int number;
 public ArraySort(int number) {
 this.number = number;
 }
 public static void main(String[] args) {
 int[] numbers = new int[]{102, 338, 62, 9132, 580, 666};
 for (int number : numbers) {
 new Thread(new ArraySort(number)).start();
 }
 }
 @Override
 public void run() {
 try {
 Thread.sleep(this.number);
 System.out.println(this.number);
 } catch (InterruptedException e) {
 e.printStackTrace();
 }
 }
}

還好是數字小啊,還好休眠是毫秒啊,要是數字大,要是休眠時間是秒,那要等多少休眠時間才能排序完?

按道理,他的程序也沒問題啊,老闆爲什麼要開除他?應用程序中出 BUG 不是很正常的事嗎?但他這種排序思維,能寫出這樣的隱藏 BUG 也是絕了,創造性的發明了 "休眠排序" 算法,系統裏面還不知道有多少這樣的坑,不開除他開除誰啊?

或許他應該看一下排序這篇文章:《圖文帶你瞭解 8 大排序算法》。

程序員剛寫完這段排序算法就被開除了!看了後,網友:這神操作啊

還應該加羣712477306領取一些包含算法以內的架構視頻和麪試資料學習,以便不犯同樣的錯誤。

說到這個程序員,讓我想起了最近審查代碼時候的幾個坑,真是讓人哭笑不得。。。

示例1:

if(flag == false){
 return true;
} else {
 return false;
}

直接 return flag 不行?寫這麼繞,還把邏輯寫錯了。

示例2:

if(...)
 a
 b
 c

多段代碼,if 不加 {},後面格式化成了:

if(...)
 a
b
c

這樣導致業務邏輯有嚴重的 BUG,無語了吧?還有更多奇葩的,棧長審查代碼真心累。。。

程序員剛寫完這段排序算法就被開除了!看了後,網友:這神操作啊

你還見過哪些更奇葩的代碼?歡迎留言分享一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章