一面:基本上就是跟面試官閒聊,說了一會我的rtb大賽,然後考了一道演算法題。題目是,對乙個0和1組成的字串加密,加密方法是encode[i] = code[i-1]+code[i]+code[i+1]。比如0110111加密後的結果是1222232。寫乙個演算法,輸入為加密後的串,輸出是解密的01串。
自己想了一會,並沒有太好的思路,最後在面試官提示下寫出了**,但還是有錯。回來寫了份**,很輕鬆,面試的時候一直在糾結怎麼判斷解碼是否正確,其實很簡單,既然原始碼是0和1,如果解密的結果為0/1,那就是對的,如果不為0/1,那就是錯了。
然後問了問tcp三次握手,linux建立的子程序與父程序的關係,程序、執行緒如何同步,pv原子操作,如何把linux命令列結果寫入檔案。基本上都能說上來,有些答得不完整。
public static byte decode(byte encode)
if(encode[0]<2)}}
for(int i:code)
system.out.print(i+" ");
system.out.println();
code[0] = 1;
code[1] = (byte) (encode[0]-1);
for(int i=2;i
}for(int i:code)
system.out.print(i+" ");
return code;
}二面:面試官一上來也是問我的rtb大賽。然後就面演算法,第一道題是把字串中連續的數字串加上1,比如"hih#32wih459"的結果是"
hih#33wih460
"。自己先是會錯意了,以為是把連續的數字字串的尾子符的值加1,寫了乙份**,面試官看了後說題意理解錯了,然後又寫了份**,把連續數字串parse成int,加上1後再tostring()替換掉原來的數字串。面試官指出int可能會溢位,自己又說出了一種改進方法。回來寫了一下**,還真不簡單。
public static string stringnumincrease(string s)
}if(s.charat(i)<'0'||s.charat(i)>'9'||i==s.length()-1)
else
} num.delete(0, num.length()); }
if(s.charat(i)<'0'||s.charat(i)>'9')
} }
return str.tostring(); }
接著問了第二道演算法題,題目是:乙個字串,可能由n(n>=2)個重複的子串組成。寫乙個演算法,判斷乙個字串能否被分割成n個相同的子串(最好找出最小的子串)。當時並沒有考慮到子串的長度必須是n的因子,回來後在同學的提示下,得出了下面這個演算法,還不確定是否是最優的。
public static string stringsplit(string s)
if (j>=s.length())}}
return "";
}
雅虎2015校招筆試
雅虎筆試的難度和強度還是挺大的,英文試題,允許中英文作答。選擇題裡面難度最大的是一道是考察貝葉斯公式的題。題目說的是一種疾病,在100000人會中有1個人患這種病,而這種病的診斷正確率為99 乙個人診斷結束後被告知患了該種病,求他真正患該種病的概率多大。b0 患病,b 1 沒有患病,a 診斷出患病 ...
2023年校招總結
自從2015年9月找完工作,我已經半年沒有寫部落格了。現在畢業 已經寫完,我正好總結一下找工作的經歷。我從2015年7月開始找工作,陸續拿到了bat 華為 搜狗 蘑菇街的offer。十一之後我就不找工作了,回實驗室幫導師幹活。看完 演算法導論 以後,我把以前看過的 劍指offer 程式設計之美 程式...
決戰2015校招
主要原因可能 沒寫好,下回一定要形成思路再動筆。然後就是字要寫好一點,不要潦草。9月18日晚 同學接到zx的面試通知,希望也會通知我吧。接到lc通知,明天迎來第一面!9月19日 lc一面 感覺沒答好 資料鏈路層的協議有哪些,b樹的定義,mapreduce的優點在哪?得認真看書了。xw一面 基本沒問我...