空中網4k/5k月薪挑選大四實習生的執行緒題
兩年前,我們乙個大四的學員去應聘空中網的實習生職位,空中網只給他出了三道執行緒題,拿回家做兩天後再去給經理講解,如果前兩題做好了給4k月薪,第三道題也做出來的話就給5k的月薪。這樣的實習薪水和招聘要求,不需要有工作經驗的限制,純粹是技術功底的比拼和考核,而不像許多其他公司非要招兩年工作經驗的人,逼得那些剛畢業和未畢業的大學生不得不去撒謊,不得不去做假簡歷,甚至假畢業證!所以,空中網的這份工作對未畢業的大學生來說,還是很有吸引力的。這個學生是否入職空中網,大家去猜吧,免得有人看不順眼而叫罵,呵呵!
第一題:現有的程式**模擬產生了16個日誌物件,並且需要執行16秒才能列印完這些日誌,請在程式中增加4個執行緒去呼叫parselog()方法來分頭列印這16個日誌物件,程式只需要執行4秒即可列印完這些日誌物件。原始**如下:
package read;
public class test
} }//parselog方法內部的**不能改動
public static void parselog(string log) catch (interruptedexception e) }
}
第二題:現成程式中的test類中的**在不斷地產生資料,然後交給testdo.dosome()方法去處理,就好像生產者在不斷地產生資料,消費者在不斷消費資料。請將程式改造成有10個執行緒來消費生成者產生的資料,這些消費者都呼叫testdo.dosome()方法去進行處理,故每個消費者都需要一秒才能處理完,程式應保證這些消費者執行緒依次有序地消費資料,只有上乙個消費者消費完後,下乙個消費者才能消費資料,下乙個消費者是誰都可以,但要保證這些消費者執行緒拿到的資料是有順序的。原始**如下:
package queue;
public class test }}
//不能改動此testdo類
class testdo catch (interruptedexception e)
string output = input + ":"+ (system.currenttimemillis() / 1000);
return output;
}}
第三題:現有程式同時啟動了4個執行緒去呼叫testdo.dosome(key, value)方法,由於testdo.dosome(key, value)方法內的**是先暫停1秒,然後再輸出以秒為單位的當前時間值,所以,會列印出4個相同的時間值,如下所示:
4:4:1258199615
1:1:1258199615
3:3:1258199615
1:2:1258199615
請修改**,如果有幾個執行緒呼叫testdo.dosome(key, value)方法時,傳遞進去的key相等(equals比較為true),則這幾個執行緒應互斥排隊輸出結果,即當有兩個執行緒的key都是"1"時,它們中的乙個要比另外其他執行緒晚1秒輸出結果,如下所示:
4:4:1258199615
1:1:1258199615
3:3:1258199615
1:2:1258199616
總之,當每個執行緒中指定的key相等時,這些相等key的執行緒應每隔一秒依次輸出時間值(要用互斥),如果key不同,則並行執行(相互之間不互斥)。原始**如下:
package syn;
//不能改動此test類
public class test extends thread
public static void main(string args) throws interruptedexception
public void run()
}class testdo
private static testdo _instance = new testdo();
public static testdo getinstance()
public void dosome(object key, string value) catch (interruptedexception e)
} }}
月薪5K和月薪2W的程式設計師究竟差在哪?
都是在同乙個培訓班學習,同一年畢業,有的還在同一家公司,為什麼有的程式設計師工作兩年後輕鬆月薪2萬,而有的卻還在溫飽線徘徊,一直拿著5k的工資,除了年齡大了點,其他好像都沒什麼變化。月薪5k和月薪2w的程式設計師究竟差在哪了呢?學習能力 對乙個搞技術的人來說,年齡的增長其實不是那麼可怕,可怕的是你沒...
資料標註師 站在了人工智慧風口,卻為5K月薪掙扎?
ai正在一步步趨於成熟,但標註師群體卻在一步步遠離舞台 據 報道,截至今年3月,山西人工智慧資料產業基地中,就擁有超過3000位標註師,主要涉及自動駕駛 人臉識別等內容標註,其中86 的員工為90後 位元組跳動在北京 天津 濟南 武漢各地,也招募了4萬名資料標註師 騰訊更是直接把平台放到了線上,讓標...
5k顯示器和4k顯示器有什麼區別
4k顯示器是指具備4k解析度的顯示器裝置,5k是指具備5k解析度的顯示器裝置。選5k顯示器還是4k顯示器 這些點很重要看過你就懂了 4k的名稱 於其橫向解析度約為4000畫素,解析度有3840x2160和4096 2160畫素2種超高解析度規格。相比主流的1080p全高畫質解析度,4k顯示器增加數百...