对于应届生来说,C++后台开发除了考察算法外,一般还会考察什么?比如linux方面,网络方面?
会考察shell的语法吗?请详细说说,谢谢
巴扎黑2017-04-17 12:07:35
C/C++ 基礎:記憶體對齊、大小端、指標、作用域、STL中常用容器的用法和坑。 。 。
資料結構演算法:各種鍊錶、樹、雜湊表、查增刪改排、反轉、各種序。 。 。
設計模式:熟悉常用的就行,但要清楚相近模式的區別、適用場景等
網路程式設計:TCP、UDP、HTTP(S)、三次握手、四次分手、狀態轉換圖、協定設計。 。 。
多執行緒程式設計:執行緒與進程之間的比較、通訊、同步、各種鎖定的比較。 。 。
公共基礎服務:各種開源、閉源基礎服務、工具的使用、比較,如
Redis、MongoDB、Kafka、Thrift、Hadoop、MySQL、Oracle、Postgres、ICE、Protobuf、Nginx 、Apache、LVS、Keepalived、HAProxy。 。 。
各種Linux工具:常用的網路工具、各種問題排查、debug 工具、各種安全工具。 。 。
各種腳本:Shell、Python、Perl。 。 。
架構設計:各種高可用、分散式、叢集化方案、工具、原則、各種最佳化方案、各種追蹤方案、自動部署升級、各種安全方案。 。 。
PHPz2017-04-17 12:07:35
我們會要求上機寫一個HTML Parser,輸入一個HTML文件,要求輸出標籤樹。
然後有的候選人寫的東西無法編譯,有的候選人寫的東西只能處理標準XML,有的候選人寫的東西自帶內存洩漏,還有的候選人問我們樹是什麼意思@_@
黄舟2017-04-17 12:07:35
首先是基礎方面的考察:
作業系統層面的,關於死鎖、進程執行緒相關的知識
關於檔案系統、體系結構、儲存與快取等的知識。
總之,基礎越紮實越受歡迎
可以看下《程式設計師的自我修養》,動態連結和靜態連結方面對C++程式設計師來說及其重要
這是內功啊