網易有道面經(2013校園招聘杭州站)

2021-06-09 20:46:59 字數 2918 閱讀 2786

網易有道的篩選模式是先上機考試,然後根據上機考試選擇大概1/3參加面試。上機的平台和acm有點類似,提交**然後有手動閱卷。

上機考試時隔比較久遠,不過還能想起兩個題目:

1. 給定乙個點分ip位址表示,寫個程式把它轉換成相應的32位的無符號整數並輸出,如果輸入不是合法資料,就返回0.

這個題目如何利用好標準輸入輸出,其實可以很容易判斷出不合法的輸入用例,不過當時沒有想好,導致這個題目沒有ac。

後來回去寫的**如下:

#include #include bool checkpoint(char *str)

return npoint == 3;

}bool checkinrange(int addr[4])

} return true;

}bool convertip(char s, int addr[4])

//sprintf_s()

} return false;

}int main()

; int addr[4];

while(scanf("%s", s) != eof)

else

} return 0;

}

2. 給出大小為n的陣列,用最快的辦法找出前m個大的數字

這個題目可以用乙個大小是m的最小堆來實現,初始建堆用陣列前m個建好後,如果後面的元素a[i] 大於堆頂元素,那麼就刪除堆頂,插入新的元素。

#include #include using namespace std;

int main()

for( ; i < n; i++)

}}

面試官是乙個看起來比較技術的mm,mm上來什麼也沒有問,直接來演算法。

題目1.乙個人在網上做專案,加入每天都有很多專案可以選,每個專案都有乙個開始時間和截止時間,假設每個專案的錢是一樣的,那麼在n天內,如何安排自己的接活才能保證賺錢最多。

問題簡化後就是貪心的活動安排問題, 傳送門:

然後證明(想半天,沒有想出來)

問題2.假如這個時候,每個活的錢數是不同的,可以獲得最大的錢數是多少?

(我給的答案是列舉任務,然後做dp)

寫**....

#define max_tast 100

struct task;

bool taskinrange(const task &t, int s, int e)

int dp[max_tast][max_tast];

int ntask;

task atask[max_tast];

int getmaxvalue(int s, int e)

if( s == e)

int maxvalue = 0;

for(int i = 0; i < ntask; i++)

} }return dp[s][e] = maxvalue;

}

然後她問我如何優化,我說可以先把任務排序,然後搜尋到合適的任務豈止點,將列舉從o(n)降低到o(logn).

二面先聊自我介紹,簡要介紹之前做的專案

問題1. 寫**:判斷乙個數字序列是bst後序遍歷的結果,下面是我現場寫的**,沒有測試過

bool ispostorderofbst(int array, int low, int high)

int split = -1, i;

for( i = low; i < high; i++)

if(split == -1 && array[i] > array[high])

} if(split == -1)

return ispostorderofbst(array, low, split-1) && ispostorderofbst(array, split, high-1);

}

問題2. 寫乙個單件模式,然後順便被我引導到扯扯 執行緒安全 異常安全等話題,我不斷完善最初**使得滿足執行緒安全和異常安全。

下面的**大概是最初版本: 

#include class singleton

singleton(const singleton &);

singleton& operator=(const singleton&);

public:

static singleton *instantialize();

static singleton *pinstance;

};singleton* singleton::pinstance = 0;

singleton* singleton::instantialize()

return pinstance;

}

然後大概擴充套件到如下形式:

class lock

~lock() };

class singleton;

singleton* singleton::pinstance = 0;

singleton* singleton::instantialize()

} return pinstance;

}

問題3 對c++ virtual的理解 . 我從實現角度給他說了  虛函式和虛繼承

問題4 如果有乙個websever,例如12306,使用者量特別大,**面臨效能問題,如何解決。

我先胡扯了執行緒池,然後又扯到多個機器搞這個問題等等

最後問一下我對什麼感興趣,他給我介紹了有道雲筆記。

和很多人分享了一些面試題目,感覺我面試的題目難度是比較水的,感覺其他同學面的都很難。有道說十一以後還會安排三面,是技術總監面試,估計也是終面了吧~

網易unity面經 有道

我面試的unity開發實習生,網易有道,今年第一次招人。1.你覺得unity單場景好還是多場景好?優質回答 2 xlua熱更新流程 4 動畫 我用的是dotween外掛程式 5 記憶體優化 6 unity的ar外掛程式有哪些?你都了解什麼?本人只會vuforia。更多請參考 以上回答都不是本人回答,...

網易2013校園招聘筆試題

第一部分 必做 計算機基礎類 25分 所有選擇題都是多項選擇 1.2分 假設進棧次序是e1,e2,e3,e4,那可能的出棧次序是 a e2,e4,e3,e1b e2,e3,e4,e1c e3,e2,e4,e1 d e1,e2,e4,e3 2.2分 表示式x a b c d e的字尾表示形式可以是 a...

關於網易有道 iOS二面涼經

執行過程 不同點2.block本質是objective c物件,是nsobject的子類,可以接收訊息。3.函式裡面只能訪問全域性變數,而block 塊不光能訪問全域性變數,還擁有當前棧記憶體和堆記憶體變數的可讀性 當然通過 block訪問指示符修飾的區域性變數還可以在block 塊裡面進行修改 4...