百度軟體開發實習生c++方向面經(一面)

來源:互聯網
上載者:User

標籤:應該   地址   tcp/ip   平衡二叉樹   四次揮手   特性   omd   為什麼   許可權   

百度2017實習生軟體開發(cpp方向)

       首先說一下崗位。分為軟體開發,開發測試,前端,機器學習資料採礦,移動開發,據我觀察,報的人數來看,軟體開發最多,移動開發和開發測試較少。百度前台還準備了吃的喝的,真的是白吃白喝,但是哪裡有心情,第一次還是有些緊張。面試地點應該是百度的一餐廳吧,進去後我就驚呆了,沒見過大場面啊,人真多。裡邊全是一對一的,每個面試官都標配mac,真心羨慕。

       上來先自我介紹,面試官大概先看了一眼簡曆,瞭解了我是非電腦專業的後就問我擅長哪個方面,然後就開幹C++,很奇怪為甚麼沒問我STL的內容和資料庫,之後C++完了就問了一些資料結構和演算法的問題,問我了不瞭解作業系統,我就很實在的講只瞭解一點點,然後就是電腦網路,再然後就是對linux C熟不熟悉,常用的一些命令。最後又看我簡曆,指出來簡曆的問題,真心挺好,問我寫的那幾個破比賽的情況,接著就完了。搞了一個多小時,問的我都懵逼了,可能面試官覺得我欠缺的知識挺多的吧,雖然讓寫的幾個程式也絆絆磕磕的寫出來了,也沒有拿得出手的項目做支撐,所以直接就讓我走了。

       具體問題:

  1. 物件導向的幾個特性?

封裝、繼承、多態

  1. 寫一個繼承的例子?

比如:類B繼承類A,(我就簡單寫了寫,還把繼承的符號寫錯了,當時有點緊張)

  1. Public和private的區別以及衍生類別的存取權限問題
  2. 多態是怎麼實現的?(我說通過虛函數)
  3. 接著在上邊的例子裡寫一個虛函數
  4. 基類和衍生類別中的虛函數的重寫(覆蓋問題)
  5. 重載和重寫的區別?
  6. 實現Swap(a,b)對不同類型資料都能處理的話,除了重載,還有哪種方式?(我說函數模板)
  7. 函數模板寫出來實現一下上邊的問題
  8. 實現Swap(a,b),如果不用第三個變數temp的話怎麼實現?(記得看過,當時懵逼想不起來了,也沒想著分析分析就說不會了,感覺不應該這樣)
  9. 純虛函數怎麼定義的
  10. 包含純虛函數的類是什麼情況?(抽象類別)
  11. 抽象類別的用法
  12. 命名空間是怎麼回事?有什麼作用
  13. 函數指標和指標函數是什嗎?
  14. 指標常量和常量指標的區別(我當時弄混了,一時懵逼,面試官給我講清楚了)
  15. 棧區和堆區的問題  以及記憶體流失問題
  16. 數組和鏈表的區別,訪問和刪除、插入的複雜度及為什麼(這個我挺明白,但是沒表述清楚,他又給我講了一遍)
  17. 二叉樹的幾種遍曆方式?
  18. 層序遍曆是怎麼實現的,是dfs還是bfs?
  19. 寫一下二叉樹中序遍曆的代碼,提示我說要自己定義節點(我問了可以寫遞迴麼,他說可以),問複雜度,我說不知道啊。
  20. 知道平衡二叉樹嗎,怎麼定義的。
  21. 二分尋找寫代碼(我當時忘了寫查不到的情況,真尷尬)我寫的版本有一個移位,然後他就問為啥移位(編程一定注意細節,說寫的這編譯肯定出問題啊)
  22. 瞭解哪些排序演算法,寫一個吧,我說幾個,然後說能寫冒泡麼,後來他又想了想說就說思路吧,我就講了冒泡的思路,又問複雜度是多少,怎麼算的。
  23. 快排寫代碼,我說要寫嗎?,然後他就說講講思路吧,我就大致講了講,問平均複雜度,最好的複雜度,最壞的複雜度
  24. 插入排序的思路
  25. 問我這些基本的演算法自己有沒有實現過
  26. 聊簡曆上寫的本科時的項目和比賽,怎麼實現的,技術痛點,什麼平台,數學建模裡邊主要負責啥(這些都和軟體開發沒啥關係)
  27. 說獎學金挺多,看來學習一定很好(我說很渣)
  28. 看我研究生課程有資料採礦和神經網路,問我為啥沒去報機器學習崗
  29. 問我的優勢是啥,對於軟體研發這個崗位來說,我說就C++吧,他說這掌握的還不夠呐。
  30. 自學能力怎麼樣?數學怎麼樣?
  31. 問我瞭解作業系統麼,我說就一點點。問並發和並行是啥?(我直接按自己理解說了其實不懂,然後他就跟我講了一通)
  32. 進程和線程的區別
  33. 處理序間通訊的幾種方式?(我沒答全),然後問我管道是全雙工系統的嗎?,線程間記憶體是共用的嗎?再問其他的了,我就直接表示不會了。(作業系統確實是軟肋)
  34. Osi七層模型(差一個忘了),然後五層的那個。
  35. 應用程式層的有哪些協議:我說http,ftp,telnet,smtp(沒說DNS)
  36. 然後問我DNS是啥(現在想想都是套路啊,當時沒反應過來)
  37. http和https的區別,ssl底層實現瞭解麼,密碼編譯演算法瞭解麼
  38. TCP協議和UDP協議
  39. 畫出tcp/ip建立串連和中斷連線的,(我就畫了個建立串連的,四次揮手忘了),還問我伺服器端最開始要怎麼做?(好像是保持監聽轉態)
  40. IP地址中子網路遮罩的作用,IP地址分為哪幾部分
  41. IP地址分為幾類
  42. 熟悉linux C麼,(不熟悉)
  43. 熟悉的Linux 命令,mkdir, ls, rm, chomd,是啥意思,awk, grep(剛看了就忘了)
  44. 宿主目錄(直接懵逼),根目錄下,怎麼尋找一個檔案
  45. 瞭解設計模式麼,我說就知道一個模式(觀察者模式),沒敢說單例模式,怕他讓寫單例模式的代碼,這個單例模式還不是很熟悉。讓我畫出觀察者模式的,我說了個依賴關係,其實也是自己沒理解到位,他就揪著 依賴 不放了,跟我使勁講清楚了,還畫圖,我只能連連點頭。
  46. 應該還有沒想起來的。待更新、、、、

教訓總結:

  1. 基礎知識掌握的不夠細緻,關鍵細節搞不清楚。
  2. 作業系統和linux,設計模式不會是硬傷
  3. 簡曆寫的有問題
  4. 沒令人信服的項目支撐
  5. 編程細節問題。
  6. 面試太套路,多總結,面經很有用,問的知識都是很基礎的。
  7. 期間有時候太著急完成回答,沒有認真想清楚,一定想清楚再回答。

百度軟體開發實習生c++方向面經(一面)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.