樓主是某985的一名本科生,剛剛參加了華為優招的java開發面試,hr說五天內出結果。這里是新鮮出爐的筆試面試心得~
華為筆試
筆試分為兩部分,一個兩小時的機試,還有一個就是綜合素質測評了,大概類似於性格測試什么的,貌似一次通不過還要補測。這里着重說一下機試。樓主選的語言是java,可以用eclipse進行開發,不限制集合框架的使用,有函數提示不知道有多爽(雖然華為的機試也用不上什么高深的數據結構和函數)。機試一共三道題,每道題最多提交五次,100+200+300一共600分,100分就可以過機試啦,樓主最后拿了300+,鑒於題目的簡單程度,樓主有些慚愧。樓主是因為沒有正確的看到自己題目的正確率才提前交卷,結果導致了悲劇的產生。。。所以大家一定多刷一下狀態。不要吃這種粗心大意的虧。
樓主的三道題都對空間時間沒有限制。
第一道題是把所有單詞的首字母轉為大寫。
第二題和一個壓縮編碼有關,題目是樓主回憶的,對於一個只有01的二進制序列,1很稀疏,0占據大量空間,故設計了一種壓縮方案進行編碼,對於一個多個0后有1個1的序列如0000000001,記連續出現的0的個數為i(這里i=9),i用二進制表示是j位(這里j=4),所以壓縮后的編碼就是j-1個1后有一個0,0后面的j位是i的二進制表示(這里是11101001),1的編碼是00。中間有1的序列只需以1為分界線將前面部分的編碼(末尾為1)和后面部分的編碼組合起來即可。問題是給你一個壓縮后的編碼,你來還原原來的編碼。
思路也很簡單,就是首先遍歷壓縮碼,點出現在0之前的1的數量,每次出現0就是一個終結,將0之后相應位數的二進制轉化為十進制m,將m添加到數組中。繼續循環。最后把根據數組中的數輸出相應個數的0即可。
第三題是一個內存管理系統,大概就是你要設計內存管理,外界可以初始化,申請空間,釋放空間,查詢某一程序被分配的空間塊的數目。大概思路就是你用一個boolean型數組,表示該塊空間是否已經分配,用一個form類來表示一個申請單。題目思路並不難,就是寫起來比較費時間。
華為面試
首先說要記得帶簡歷。樓主提前半小時去的,就坐在那里傻等,當時大屏幕還在循環華為的宣傳片,看得我都犯尷尬癌了╮(╯▽╰)╭。面試有兩輪,一輪業務面,一輪綜合面,兩輪分別半個多小時。
業務面
坐在那里面試官開始看我的簡歷,然后我們就相對無言......,我當時很奇怪面試官為啥不讓我自我介紹,他邊看邊說項目還挺豐富的啊,同時手敲着鍵盤在電腦里錄入信息。樓主開始介紹項目,趁機還向面試官展示了俺們做的app。略去項目細節,樓主主要負責客戶端,面試官問我那你對服務器端了解嗎,樓主說看過一點,就和他開始侃服務器端的MVC架構和nodejs的好處,面試官一副行了你說了就行的樣子,表示想知道我會不會關心項目整體除了自己工作以外的東西。另外樓主還寫了一個小型編譯器,面試官問了我一些正則表達式有關的東西,以及語法樹應該怎么遍歷。除此以外問樓主志向,樓主說java后台開發,於是我被問到一些java語言方面的知識,現在列舉一下~
- java的正則表達式怎么表示字符“/”,怎么表示空白符,怎么表示字符“+”?
樓主着實不清楚這塊,瞎說的,面試官表示這都是語言細節沒關系的。 - 花出java的集合框架的實現圖(Collection set什么的)
樓主隨便畫了一下因為記得不是很清楚了,太尷尬了,不知道為啥面試官還是一副差不多就行了的態度。 - 你知道多線程嗎?多線程怎么加鎖?
樓主心里想這個我知道,得意了一下,就和面試官講,然后面試官問了很奇怪的問題,加鎖鎖的是什么?樓主說對象,面試官說是什么變量?我說啥?后來面試官看樓主get不到,就直接問是不是臨時變量,樓主自然答不是啦,臨時變量在棧里面分配的,每個線程都有自己的棧,對象是在堆中分配空間的。 - JDK1.5以前Hashmap中如果出現了hash沖突會有什么現象?
其實問的就是集合框架的hashtable的添加元素的代碼,只要看過源碼就知道啦,先比較hashcode再用equals進行比較。 - 排序的話用linkedList快還是ArrayList快?
樓主一副猶豫不決的樣子,面試官直接提示說linkedList增刪查找會快一點,所以是LinkedList快,這一點樓主存疑? - 集合框架排序需要實現什么接口?
comparable或者compator嘍,區別自己百度,(__) 嘻嘻……
大概就想到這些了,面試官一直鼓勵樓主問有沒有什么想補充的,可惜樓主沒有了···
綜合面
我的綜合面就是一個略有年紀的經理?(or其他)和我聊人生聊理想,基本就是問你是哪里人高考情況,自我介紹一下,你的獎學金情況,學習情況,項目經歷,社團活動,職業規划,你遇到的最大的挫折,還問我你們系你最欽佩的代碼高手是誰,等等等
大家自信的誠實的勇敢的去面對就好啦!(__) 嘻嘻……
等面試結果出來我會再更新的......