太極計算機股份有限公司面試經歷

一面:一個帶眼睛的胖小哥,很友好,問了一些技術問題,基本上都回答上來了(Spring、Redis、Mysql、JVM等),有一些具體的知識點有點模糊,整體上來說還算可以,於是有了二面。

二面:面試官也很好,,自己沒有發揮好。哎。

題目:有1億條數據在csv文件中,如何導入Mysql數據庫。面試官:我先說兩個,一個是用navicat工具導入,一個是寫一個程序一條一條讀取並插入。

聽到問題的我一臉懵逼,這不都讓你給說了嗎?第一時間想到了Mysql的Csv引擎,我迫不及待的說了出來。面試官問還有其他的麼?我想面試官這麼問一定還有其他的我沒有想出來。然後。。然後就沒有然後了,我完全想不出來其他方案了。還能有啥?我腦子一篇空白,慌得一批。咋整?我還故作鎮定的思索,其實我連個屁都想不出來。面試友善的提醒說運用多線程可以嗎?我說這也算一種方式?好吧,我完全沒有GET到面試官的意思。原來面試官考察的不是怎麼把數據導入,是如何優化導入。懵逼的我說這也算的話那批量插入操作是不是也算?面試官說也算,那還有其他方式嗎?我又進入了懵逼狀態。文件分割批量讀取,批量插入?面試官問怎麼分割?由於我是懵逼狀態了,我腦子一抽風竟然回答說用RandomAccessFile去讀,然後我把自己給埋進了自己的坑。我竟然沒有想到回答,按行號劃分去讀取。

 

題目:有1億條身份證號數據在Mysql數據庫裏面,有一個8G,2核CPU的機器上。怎麼找到重複的身份證號。

這個我是真知答案的,用布隆、布隆、布隆過濾器。雖然我沒有真正用過但是看這個東西都不下10遍了原理啥的都知道,但是我沒有回答上來。我來說說我的懵逼思路。

我把整體思路放到了Msql上,我根本就沒有往程序方面想。建索引?沒啥用啊;分區、分表?也不太合適啊。我整個腦子都在想Mysql算hash用Crc32函數,但是怎麼使用呢?陷入了更佳懵逼的狀態。我根本沒有GET到面試官的考察點。

 

題目:小王做的數據導入功能出現了內存溢出,怎麼分析問題?

Review Code、本地調試、用jmap dump出內存快照。然後用IBMHeapAnalyzer或其他工具對文件進行分析查看對象分佈情況。

我竟然傻叉的說用jstack dump導出線程快照。查看線程狀態。。。

好吧,面試到這裏也就完蛋了。欲哭無淚~~~

涼了~~~

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