zz面试题小结
?如果搞過ACM的人,找工作的確很好找,基本微軟、百度之類都可以很容易拿到offer,我不是算法牛人,沒搞過ACM,沒拿過什么獎,沒進過什么實驗室,水平一般,所以更能代表大眾吧。
?
總結一些常出現的面試題:
1、網絡編程問題 ,Socket通信的連接過程,具體到使用什么函數。建立連接的三次握手和斷開連接的四次揮手是怎么進行的。服務器端的多線程、多進程問題,服務器端處理大規模連接如何處理。還有就是進程同步、鎖、和進程通信應該怎么實現。這些在《Unix網絡編程》都可以找到答案。
2、算法的題,就是經常會出些動態規劃和查找相關的,dp基本都是最基本的經典題目,比如最長公共子序列、最大子段和、最長不降子序列、背包什么的,稍微了解算法的人,都應該會的。查找,考的最多的應該就是從一個很大的集合中,找出前K個最大的數,用快排中的Partition思想或是用堆結構應該都能解決。二分查找有可能面試的時候,讓你在紙上寫出來,注意考慮一些邊界情況,可以用Assert處理。
3、數據結構的題 。鏈表(單向、雙向、循環)的增刪改查,利用隊列和棧的特性的一些題目。樹貌似考的最頻繁,二叉樹的遍歷(遞歸和非遞歸),最大或最小堆,赫夫曼樹,紅黑樹(阿巴巴里的面試就悲劇在紅黑樹上了),B樹和B+樹的特點,使用場景。還有就是Hash,這個也是常考的。
4、各種排序,穩定和不穩定要做好區分。
5、語言方面的問題,c++主要就是考指針,虛函數、繼承、sizeof啥的。
6、大規模文件數據的題目和分布式計算的題目。
?
面試前要做的準備:
?
復習:一定要復習,必須要復習,有些問題不是你不會,而是記不起來了。
?
我覺得比較好的復習順序是《c++Primer》+《操作系統》+《Unix網絡編程》->《數據結構》+《算法導論》->《程序員面試寶典》+《編程之美》+“何海濤的163博客”+網上的各種面試題、筆試題。
?
準備:一份簡潔、重點突出的中英文簡歷,一份中文自我介紹、一份英文自我介紹、一份自己簡歷上的重點項目的介紹(一定要具有技術難度或是有創新點的項目)。
?
PS:如果是電話面試,一定要找一個安靜的地方,然后帶著筆和紙,跟面試官慢慢聊。自信很關鍵。
?
轉載于:https://www.cnblogs.com/Akagi201/archive/2012/03/19/interview_summary.html
總結
- 上一篇: Soulver 3 for Mac(Ma
- 下一篇: Java常用类(四):IOUtils类