回覆列表
  • 1 # 鄉村教師小龍

    我們首先要區分兩個概念,找到工作和能工作是兩回事,社招的崗位一般要求應聘者進來就能工作,而校招的崗位一般要求應聘者有良好的基礎,經過初期的培訓之後能勝任簡單的工作,之後再一步步達到能勝任崗位的目標。樓主應該屬於後者,我就職於BAT,僅就BAT並且是我身邊的崗位對於校招的要求發表看法,拋開所有學歷、學位和學校等級,就程式語言而言,語言關一定要過,不是說要把C++ Prime通讀消化掉,但至少要能在理解業務邏輯的基礎上讀懂程式碼,有少量不懂的地方也可以透過搜尋或查閱工具書快速的掌握。

    那是不是隻要掌握好語言就夠了?答案是NO。

    縱向來看,語言是外功,資料結構和演算法是內功,內外兼修才是正道,演算法導論的前幾章最好要掌握,包括基礎的演算法複雜度的概念、排序演算法、遞迴式、棧、佇列、連結串列、二叉樹、散列表等等,後續的高階資料結構和圖演算法可以按照興趣和工作需要去掌握,另外,演算法導論要求有機率論、線性代數的基礎知識,如果有微積分的基礎知識就更讚了。

    橫向來看,程式語言依賴於作業系統,如果使用C/C++語言,做PC端的Windows研發可能需要掌握MFC、Windows API等,做服務端的Linux開發可能需要掌握Linux API、Shell等。程式語言處理的資料需要儲存,就需要掌握資料庫技術(SqlServer、Mysql、Oracle、甚至是Hadoop和Spark等),如果是網路產品,不可避免的會涉及到網路程式設計(socket、網路協議等),網路程式設計往往還伴隨著多執行緒甚至是多程序和分散式的要求,這就需要我們掌握多執行緒、多程序和分散式程式設計的技術,上述這些在工作中可能會部分或者全部涉及到,但一定不會是在工作中涉及到的全部,慶幸的是對於初學者而言,不需要全部掌握才能開始工作,我建議最好都懂一些基礎,知道這些概念是怎麼回事、在什麼情況下適合用什麼技術,用到的時候再去深入掌握即可。

  • 中秋節和大豐收的關聯?
  • 微纖維毛巾是幹嘛用的?