前一天接到邀請面試的電話,邀請我的原因就是因為我參加過ACM程序設(shè)計競賽。
早上10點坐車到杭州,到那邊1:30了,午飯沒吃去面試了。公司:杭州天卓網(wǎng)絡(luò)有限公司 面試職位:JAVA工程師。面試官是一個很年輕的人,問了我一些數(shù)據(jù)結(jié)構(gòu)的東西,二叉樹和二叉平衡樹有什么關(guān)系?我答:不知道。jsp和severlet什么聯(lián)系?答:不知道。mysql和JAVA用的是兩塊不同的內(nèi)存那么JAVA程序是怎么得到數(shù)據(jù)庫的數(shù)據(jù)的?答:JAVA不是有個鏈接庫連接數(shù)據(jù)庫的嘛。問:就是這個鏈接庫是怎么實現(xiàn)的?答:不清楚。。又問了:hashMap什么什么的。答:沒接觸過。當(dāng)然也有一些能說上幾句的。
做過網(wǎng)絡(luò)編程嗎?
做過一個聊天系統(tǒng)。
是用socket作的?
嗯。客戶端和服務(wù)端。
做過多線程的程序嗎?
用C語言寫過多線程搜索文件。
你是怎么管理C語言程序的內(nèi)存的?
自己分配的內(nèi)存不用了就釋放,數(shù)組之類的就無所謂。。
還有一個最丟臉的問題,我無地自容啊。。
假如有一個定時器,在固定的時間會觸發(fā)一件事,定時任務(wù)非常多,假如還有一些新的定時任務(wù)要加入,你怎么解決?
我當(dāng)時在他的很長的解釋下有點迷糊了,反反復(fù)復(fù)說了好多話,反正我最好的方法就是遍歷一次找到插入點,或者能個數(shù)組標(biāo)記時間,直接將新任務(wù)插入合適位置。很明顯這兩種方法都很戳。。遍歷耗時,標(biāo)記耗內(nèi)存。
他還補充了用什么樣的數(shù)據(jù)結(jié)構(gòu)解決這個問題,再我實在想不出的時候他說了用堆。說實話堆我聽說的很多,但一直不知道具體是什么概念。
剛剛走出公司我就想啊,二分查找不就可以很快速的找到新任務(wù)的插入點了嘛。。。我暈死了,虧我還自稱是搞過ACM的,對算法是最熟悉的。這張老臉往哪擱啊。。
posted on 2012-01-07 17:29
mr_chen 閱讀(187)
評論(0) 編輯 收藏 引用