2013年9月第1次面試&演算法講座(主講人:July & 曹鵬博士)

masikkk發表於2013-09-18
    前幾天在微博上看到July要舉行面試和演算法講座,就順便一頂,後來仔細想了想,自己最近學習科研太沒有動力了,需要激勵一下,就報名參加了,給July捐了10元,錢不多,但是個意思,人家好心組織,又定場地又送書,也不好意思白去。中午到北理工的7號樓,已經有好幾個人在報告廳外面等著了,1點左右開門進去,July還沒到,進去找個前排位置坐下,工作人員在佈置會場。本來以為會設個門禁,結果是想進就進,只是坐好後簽了個到。
    2點正式開始,座無虛席,還有站著聽的,July(微博部落格)和曹鵬博士(微博部落格)兩個人講,July剛開始有點小緊張,不過馬上進入狀態。寒暄之後進入正題,因為主要是針對畢業生的面試問題,所以上來就問了我們幾個基礎性的問題:
    1、TCP建立連線的三次握手?
    2、死鎖的條件是什麼?
    3、執行緒與程式的區別是什麼?
    4、指標與引用的區別?
    5、C++記憶體分配
        堆、棧、自由儲存區、全域性/靜態儲存區,常量儲存區
    6、位元組sizeof/指標/排序/虛擬函式等等
    找了幾個人回答,回答的都有贈書。之後講面試前的準備工作,我總結了一下,基本上是看July的部落格和《程式設計之美》《劍指offer》《程式設計師程式設計藝術》這幾本書。然後July給十分鐘時間讓手寫演算法——二分查詢,寫完交上去評優送書。July給出的答案中有幾點很有意思:
    1)計算mid = (left + right) / 2 的時候把除以2用右移一位代替,這樣更高效也可防止溢位(不是很懂);
    2)if判斷的時候先判斷是否大於和小於,最後判斷等於,因為陣列中元素和目標值不相等的情況居多;
    可以看出來July很是心細,能注意到很多細節。之後講了幾個演算法題,氣氛還是比較輕鬆的,完全沒有上課那種嚴肅的感覺,很不錯,講的內容在July最近的部落格中也都有,像完美洗牌演算法智慧搜尋提示字串轉換整數等。
    然後是曹鵬博士講,曹鵬博士的幾個觀點感覺還是很有幫助的:
    1) 面試時最好先快速給出一個不很完美的解決方案,然後在與面試官交流的過程中提出改進。
    2) 演算法的基礎是排序和查詢。
    3) 不要過分追求時間複雜度,實際中一個1000000000 * n的演算法可能比n^2的還差。
    然後講了三個字串處理的題目:迴圈右移字串,最長迴文子串,前中後出現三次的最長子串。曹鵬博士講的比較官方,語速很快,能看出來博士期間經常給人講解,但這樣很容易把人講睡,我聽著聽著就睡著了,講完也醒了。囧!!!
    總之感覺這次活動很有意思,有收穫,期待下次。
    曹鵬博士的演講PPT下載:http://vdisk.weibo.com/s/BODzWsDIp8H2d
    

相關文章