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