蕪湖達內IT培訓
美國上市IT培訓機構

18130056197

熱門課程

蕪湖軟件開發Java編程筆試面試題


蕪湖軟件開發Java編程筆試面試題

Java開發由來已經被企業廣泛應用,隨著互聯網科技的迅速發展,Java軟件開發人員需求加大,企業在面試過程中大部分都會增加筆試題來測試你的專業能力。今天的文章中蕪湖Java培訓就簡單列舉兩個,幫助大家提前適應一下!

1.在2.5億個整數中找出不重復的整數,內存不足以容納這2.5億個整數。

方案1:采用2-Bitmap(每個數分配2bit,00表示不存在,01表示出現一次,10表示多次,11無意義)進行,共需內存內存,還可以接受。然后掃描這2.5億個整數,查看Bitmap中相對應位,如果是00變01,01變10,10保持不變。所描完事后,查看bitmap,把對應位是01的整數輸出即可。

方案2:也可采用上題類似的方法,進行劃分小文件的方法。然后在小文件中找出不重復的整數,并排序。然后再進行歸并,注意去除重復的元素。

2.海量數據分布在100臺電腦中,想個辦法高校統計出這批數據的TOP10。

在每臺電腦上求出TOP10,可以采用包含10個元素的堆完成(TOP10小,用最大堆,TOP10大,用最小堆)。比如求TOP10大,我們首先取前10個元素調整成最小堆,如果發現,然后掃描后面的數據,并與堆頂元素比較,如果比堆頂元素大,那么用該元素替換堆頂,然后再調整為最小堆。最后堆中的元素就是TOP10大。

求出每臺電腦上的TOP10后,然后把這100臺電腦上的TOP10組合起來,共1000個數據,再利用上面類似的方法求出TOP10就可以了。

3.怎么在海量數據中找出重復次數最多的一個?

先做hash,然后求模映射為小文件,求出每個小文件中重復次數最多的一個,并記錄重復次數。然后找出上一步求出的數據中重復次數最多的一個就是所求(具體參考上期IP那題)。

4.上千萬或上億數據(有重復),統計其中出現次數最多的錢N個數據。

上千萬或上億的數據,現在的機器的內存應該能存下。所以考慮采用hash_map/搜索二叉樹/紅黑樹等來進行統計次數。然后就是取出前N個出現次數最多的數據了,可以用第2題提到的堆機制完成。

5. 1000萬字符串,其中有些是重復的,需要把重復的全部去掉,保留沒有重復的字符串。請怎么設計和實現?

這題用trie樹比較合適,hash_map也應該能行。

6.一個文本文件,大約有一萬行,每行一個詞,要求統計出其中最頻繁出現的前10個詞,請給出思想,給出時間復雜度分析。

這題是考慮時間效率。用trie樹統計每個詞出現的次數,時間復雜度是O(n*le)(le表示單詞的平準長度)。然后是找出出現最頻繁的前10個詞,可以用堆來實現,前面的題中已經講到了,時間復雜度是O(n*lg10)。所以總的時間復雜度,是O(n*le)與O(n*lg10)中較大的哪一個。

以上就是今天蕪湖達內java培訓所講的全部內容。要在Java一行站穩腳跟后,想要想更廣更高的地位走去,需要你不斷學習。學習從來無捷徑,循序漸進登高峰,你知道的越多,你就越有力量。想要在互聯網大展拳腳的小伙伴們,趕緊來了解達內教育蕪湖達內Java培訓班吧。

*版權聲明:轉載文章和圖片均來自公開網絡,版權歸作者本人所有,推送文章除非無法確認,我們都會注明作者和來源。如果出處有誤或侵犯到原作者權益,請與我們聯系刪除或授權事宜。

免費預約達內試聽課

上一篇:編程小白新入行學Java難不難?
下一篇:學習Python應該掌握哪些知識點?

學習Python應該掌握哪些知識點?

蕪湖軟件開發Java編程筆試面試題

編程小白新入行學Java難不難?

UI設計如何學習才能有更好效果

選擇城市和中心
江西省

貴州省

廣西省

海南省

尿孔 调教 扩张