職位類型:技術類
面試時間:2013校招(2012年10月)
招聘公司:網(wǎng)易
樓主是在廣州大學參加的筆試,一共兩個小時。觀察了一下周邊的考場,人數(shù)不多,很安靜。跟騰訊那混亂的場面,網(wǎng)易做得好多了。我想是因為網(wǎng)易在網(wǎng)上審核階段就已經(jīng)很認真地篩選了一部分人,我身邊的好幾個技術不錯的同學都被刷了,所以,提醒以后網(wǎng)申網(wǎng)易的同學,一定要認真對待網(wǎng)申??戳丝纯紙鐾獾拿麊?,同我一個方向的只有十個人,其他可能是分配到了其他考場吧。我筆試時,左右兩邊是HR管培生方向的,大家都沒有辦法作弊??偟母杏X網(wǎng)易的筆試很正規(guī),公平公正,有高考的感覺。
筆試題目是純技術的,主要是計算機基礎和程序設計,沒有網(wǎng)上分享的一些題目有什么文學題、推理題。下面我就把記得的題目跟大家分享一下。
第一部分:計算機基礎(選擇題都是多選題)
1.選擇題:按照e1、e2、e3、e3、的順序進棧,出棧的順序可能是下面的哪種?
選項記不清了,但是很容易,只要從A到D去驗證答案的順序是否正確就行。我全選。這樣的題目其他公司也考過很多次。
2.中綴表達X=A B*(C-D)/E式轉(zhuǎn)后綴表達式。
選項四個,但是貌似只有一個正確的。有些選項是把中序進行變形,應該是移項之后再求后綴的。
3.問以下排序算法哪些是不穩(wěn)定的。
A 快速排序???? B堆排序?? C哈希排序? D冒泡排序 E? 合并排序
答案是:ABC(我選漏了B,悲劇呀)
4.(填空題)一個四叉樹、有n個結(jié)點,每個結(jié)點都有四個指向它的四個孩子的指針,那么在這4n個指針中,空指針有多少個______。
5.(寫程序)實現(xiàn)斐波納契數(shù)列,寫一個算法求數(shù)列的第n項的值。給出算法復雜度,盡量高效。
??????
我是這樣實現(xiàn)的,不知道是不是最優(yōu)。
第二部分:程序設計
這些題目有些是讀程序的,我記不住那么多??剂撕芏嗖僮飨到y(tǒng)方面的,java的多線程、IO操作、集合框架是重點呀。
1.網(wǎng)易的郵箱有@126.com、@136@.com、@yeah.net 。用戶名長度6~18,以字母開頭,不區(qū)分大小寫,其他可以是任意字母或數(shù)字。以下正則表達式哪個能正確檢查賬號的正確性。
選項記不清。但是不難,大家應該也可以寫出來。
2.以下程序輸出什么?
運行一下,結(jié)果是0。記住,>>運算符的優(yōu)先級比 低,也就是c = 5>> (2 10) >> 2;?
3.說說HashMap和TreeMap的區(qū)別? 還有不是很記得是哪兩個類的區(qū)別了,反正也是集合框架里面的。
4.關于I/O流操作的。給出了四種情況,然后使用I/O流體系內(nèi)提供的類寫出正確的實現(xiàn)組合。題目提供了很多操作流的類,我不一一寫出了,附上一張網(wǎng)上找的圖片。
⑴文件的路徑:D:\file\test.txt ,讀取改文件,并從該文件中按行獲取內(nèi)容(好像是這樣表述的);
⑵文件的路徑:D:\file\test.data? ,是字節(jié)數(shù)據(jù),讀取該文件并按行輸出內(nèi)容;
⑶str是很長的字符串……忘記了……
⑷…………
倒數(shù)第二題:實現(xiàn)序列化接口Serialize的時候,如果不指定serialVersionUID 的值,編譯時就會出現(xiàn)警告,為什么?什么情況下需要修改serialVersionUID 的值?
參考:序列化運行時使用一個稱為 serialVersionUID 的版本號與每個可序列化類相關聯(lián),該序列號在反序列化過程中用于驗證序列化對象的發(fā)送者和接收者是否為該對象加載了與序列化兼容的類。如果接收者加載的該對象的類的 serialVersionUID 與對應的發(fā)送者的類的版本號不同,則反序列化將會導致 InvalidClassException??尚蛄谢惪梢酝ㄟ^聲明名為 "serialVersionUID" 的字段(該字段必須是靜態(tài) (static)、最終 (final) 的 long 型字段)顯式聲明其自己的 serialVersionUID:ANY-ACCESS-MODIFIER static final long serialVersionUID = 42L;
如果可序列化類未顯式聲明 serialVersionUID,則序列化運行時將基于該類的各個方面計算該類的默認 serialVersionUID 值,如“Java(TM) 對象序列化規(guī)范”中所述。不過,強烈建議 所有可序列化類都顯式聲明 serialVersionUID 值,原因計算默認的 serialVersionUID 對類的詳細信息具有較高的敏感性,根據(jù)編譯器實現(xiàn)的不同可能千差萬別,這樣在反序列化過程中可能會導致意外的 InvalidClassException。因此,為保證 serialVersionUID 值跨不同 java 編譯器實現(xiàn)的一致性,序列化類必須聲明一個明確的 serialVersionUID 值。還強烈建議使用 private 修改器顯示聲明 serialVersionUID(如果可能),原因是這種聲明僅應用于立即聲明類 -- serialVersionUID 字段作為繼承成員沒有用處。
6.最后一題(題目好長):一個系統(tǒng)有多個定時任務,設計一種數(shù)據(jù)結(jié)構用來存儲這些任務。考慮定時任務的添加、刪除和觸發(fā)。有10000個任務的時候,分析這種數(shù)據(jù)結(jié)構的性能。(大概是這樣的意思)
我寫了一個散列表。類似于HashMap的結(jié)構。我的理解是,在添加、刪除和觸發(fā)的操作中,觸發(fā)更重要一些。因為定時要準確,觸發(fā)的延時就決定了定時的準確性。而觸發(fā)操作我理解成是查找操作,找需要喚醒的那個定時。而哈希查找性能是最理想的。不知道我這樣的理解是否正確,求指導。
其他的題目我都不記得了,大家可以來補充一下,答案也是,大家互相交流一下。