阿里
一面:
1. 入場就是紅黑樹,B數
2. apache和nginx源碼看過多少,平時看過什麼技術論壇,還有沒有看過更多的開源代碼
3. pthread 到自旋鎖
4. hadoop源碼看過沒
5. 爲何選擇TCP而不是直接用服務器
6. 大家的大數據怎麼處理的,還怎麼優化,說了個公司業務決定分佈式是不可能了,最好hash分表
7. 還有一個殭屍進程
二面:
對面好像在吃飯,沒理我,我本身從頭講到尾
介紹項目:開始說咱們這個網站,後來我想換個項目就開始說c++爬蟲項目
圍繞這個問的問題:
1. 爬回來的網頁是怎麼存儲的
2. 異步io,能不能分配不少socket,系統影響創建socket數目的因素
3. 問了線程併發同步的問題,結合我說的項目過程問怎麼改進
4. 若是不是小項目,是大量的網頁須要拉下來,怎麼改進成分佈式的
5. 問了簡歷提到的trie樹結構用法,怎麼改進
6. c++ 模板和多態的關係
一道寫代碼的題:
一個數組A:裏面的元素是一個範圍,指定開始、結束數值,好比{[1, 5), [5, 10),[10, 16), .... [1000, 1002]}
一個範圍B:[100, 110]
寫一個算法找到上面數組中跟B相交的全部A中的元素的列表;
好比
A = {[1 10), [10, 20), [20, 30), [30, 50)}
B = [15, 31)
那麼返回
{1, 2, 3} 由於跟一、二、3三個範圍都有交集
一、問我想作啥?
二、問項目,講了netty,而後問了異步IO,nio,oio,channel,buffer(這個時候不當心提了tcp滑動窗口對比),selector。balabala.....(跪了,怎麼能挖那麼深呢...)
三、而後就開始TCP了。滑動窗口乾嗎的,而後慢啓動,而後路由啥的。balabala。。而後開始四次揮手,以及狀態機變化,爲何time_wait要有兩個超時間隔。
四、而後開始項目了,雙重鎖和synchronized區別,而後SIP是幹嗎的,跑去問了一會http消息格式。問SIP怎麼處理的。
五、有啥問題。
好幾我的的不一樣版本,具體的仍是跟你簡歷裏寫的有關係