日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

洋哥!我要进大厂!

發布時間:2023/12/4 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洋哥!我要进大厂! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

閱讀本文大概需要4分鐘。

最近不少讀者咨詢洋哥如何進大廠,回答的多了就想著要不整理出一個系列文章出來。說干就干,第一期先寫寫應屆畢業和剛工作不久的計算機專業的童鞋如何進大廠。

先說說必須要做到的幾件事:

第一,學校內的課程,計算機基礎知識,如C語言,數據結構,計算機組成原理,計算機網絡,計算機操作系統等這些基礎專業知識一定要理解掌握,在校招中,這些內容必考。

第二,提升自己寫代碼的能力。不會配置環境,不會框架,就去找資料自學,B站,慕課很多免費視頻課程。

第三,做項目。這里不是指學校做的項目,而是真正可以部署上線的項目。你可以去GitHub上找,也可以從學長學姐或者老師看是否有合適的項目,或者找一些大廠實習崗位。

第四,瘋狂刷算法題。leetcode上的題目很多都可能在校招中被拿來當面試題,《劍指Offer》也挺不錯,leetcode最起碼刷個200,300道,然后把《劍指Offer》背一遍,基本沒大問題了。

以上基礎,如果讀書期間沒有打牢固,工作后也必須想辦法拼命學習。

再說說我應屆畢業加入騰訊的學習路線吧:

首先攻克C語言,這個沒什么,譚浩強的《C語言程序設計》反復看,然后一行行在電腦上敲出來。

當時對計算機缺乏系統認識,最難理解的就是指針,書上說它是個變量地址,那么問題來了,什么是地址?一不小心,指針就讓程序Crash了。直到讀研的時候,看了大學教材:《計算機組成原理》這本書,我才明白指針背后的含義。

攻克完C語言之后,聽師兄師姐說數據結構也是自學編程需要攻克的重難點。從數組到鏈表再到堆棧、二叉樹、平衡二叉樹、紅黑樹、B+/B-樹,簡直就像看天書。還記得二叉樹的先序,中序,后序遍歷就把我弄暈乎了。更別提后面的AVL樹的刪除以及B-樹。

我應付看不懂的方式也很粗暴:做筆記,勾選出沒看懂的部分,反復看。一遍不行看兩遍三遍四遍,直到所有內容看懂為止,看懂后就上機,上到天昏地暗上到頭暈腦脹。數據結構這本書,記得來來回回看了10多遍,上機100小時以上。

這之后開始系統的學習網絡、C++、VC,還記得有一本非常厚的書:《C++ Primer》,可以說上面的每一個例子,都上機造過輪子。

隨后開始啃《Effective C++》、《More Effective C++》、《C++程序設計原理》、《深度探索C++對象模型》、《STL源碼剖析》、《計算機網絡系統方法》、《TCP/IP詳解》。

除了瘋狂自學,畢業的壓力也很重,但掌握的東西越多,你對未來就越篤定。

因為我的目標是畢業后做游戲開發,所以,主攻的三大方向很明確:Window C++開發、算法、網絡編程,這些都是游戲編程所需要掌握的硬核技能。除了這些,大學期間我還開始瘋狂刷題,當時我是在PKU ACM網站上刷的:

刷題和瘋狂學習的過程是枯燥且伴隨痛苦的,編譯報各種不通過的時候讓人無比抓狂,知識點學不會的時候會讓你懷疑自己的智商。曾經看過的一部分書籍:

成長的過程,潤物細無聲,極難察覺。但那段枯燥痛苦的學習和刷題歲月讓我未來的道路受益匪淺。畢業后,我也如愿拿到騰訊游戲的Offer,開啟了職場生涯。

在我那個時代,線上資源并不豐富甚至是匱乏!今天各種論壇、公開課、學習資料非常豐富。最近指導師弟師妹應對秋招,我找了一些資料,這里也順便讀者們推薦下:

核心就是通過刻意練習的方法學習計算機基礎課,主要要攻克三個方向(攻克了會讓你如虎添翼):

一、操作系統

操作系統真的可以說是一個奇跡,它為我們做了非常厲害的事情,以至于我們根本感覺不到,只有通過學習它,我們才能深刻體會到它的美妙絕倫,甚至會被計算機大佬們的設計思想所震撼,有些設計思想實際上也是可以應用于我們工作開發中。

操作系統有四大模塊,分別是內存管理進程管理、文件系統管理輸入輸出設備管理。推薦大家按照這個順序去學習操作系統。

尤其要首先學習內存管理,因為它不僅是最重要最難的模塊,同時他和其他模塊的關聯性也最多。搞定內存管理,就是把操作系統攻克了一大半。

另外美國有很多優秀的操作系統公開課,比如mit6.828、哈弗OS/161,這些都可以系統學習下。

這類課程都會給你提供一個mini os殼程序,相當于一個核心組件,剩下的你可以自由發揮。比如你可以設計線程管理、文件系統等等。

相比只是看操作系統的書籍,這種學習方法的效率簡直高100倍!


下面是課程官網:

https://pdos.csail.mit.edu/6.828/2018/schedule.html

國內也有一些頂尖高校也是采取類似的方式,比如清華ucore基于 Linux 0.11魔改版本:

https://github.com/hoverwinter/HIT-OSLab


二、數據庫

國內說數據庫就是mysql,這點要相信我!

首先概覽下mysql的知識體系:

基礎:

  • sql語句

  • 表結構設計

調優:

  • 索引、慢查詢優化

  • 配置參數調優

核心原理:

  • InnoDb存儲引擎 (包括隔離級別、事務、鎖、緩存池、回滾日志等等)

  • Mysqld (包括連接管理、進程管理、查詢緩存、查詢優化、日志等等)

架構與運維:

  • 用戶與權限、安全

  • 備份與恢復

  • 日志

  • 分布式與高可用

對于零基礎的同學:

首先,學習基本的SQL語法。完成這個后,你就可以編寫SQL語句了。這一步推薦:W3Schools的?SQL 教程。

其次,學習數據庫的主要功能和使用方法,比如用戶相關或者權限相關等等。


推薦兩本書:


1.《MySQL必知必會》這本書講的非常全,從基本概念,到查詢到插入新建表,用戶的管理,都有具體的例子,非常適合沒有任何基礎的同學來學習Mysql。

這本書學習的方法是:1、十分鐘了解下數據庫的基本概念 2、找到練手的數據庫 3、對照著上面的內容去敲。本書里也有大量的內容是講sql的,可以結合w3c的sql教程一起,有取舍地看。


2.《數據庫系統概念》這本書是很多數據庫運維必看的,非常贊,看完這些并且實踐+思考之后,可以算入門了。

接下來對于希望成長為數據庫大拿的童鞋:


推薦四本書:《高性能MySQL(第3版)》、 《MySQL技術內幕(第4版)》,《MySQL技術內幕 InnoDB存儲引擎》,《深入理解MySQL》。

三、計算機網絡

網絡知識在工作中非常非常重要

我分三個階段來介紹:


1. 入門

第一本書 建議看謝希仁的《計算機網絡基礎》


2.進階

然后第二本要看 《TCP/IP詳解1:協議》,這個階段需要多思考和動手網絡在LINUX系統上發揮的最淋漓盡致,所以在學習的時候最好學習LINUX配合使用,學習LINUX,推薦《鳥哥的LINUX私房菜:基礎篇》。

學習網絡過程中,要不斷抓包分析等,自己能寫些簡單的應用來發包更是完美。抓包工具推薦:LINUX環境下用TCPDUMP,windows環境下用 wireshark。這個階段寫習完后,已經是個小高手了。

主要技能應該是 :對TCP,IP,DNS,icmp等協議應該都蠻熟了得了,dhcp/tftp/ftp等協議也應該都懂些,重點是要學會如何分析一個協議及LINUX系統的基本操作也差不多了。

3.高手階段

這個階段需要有一點的編程能力,指C/C++編程。主要學習的方向是協議的實現和協議的架構原理。


協議的實現方面, 主要學習底層協議(指傳輸層及以下)的實現, 這些協議都是在操作系統層面實現的,最好的教材是《TCP/IP詳解:實現》。至于網絡架構這塊,可以學習《計算機網絡》這本書。

另外,計算機專業多刷算法題好處多多,算法厲害的人進大廠非常容易,這里推薦一本BAT大佬的算法筆記:尼瑪!BAT大佬的刷題筆記太經典!(文末送書)。

今天就寫這么多,下一篇談談社招如何進大廠,敬請期待~

·················END·················

你好,我是findyi,畢業于華科、清華,

一位大廠的業務負責人,

做過大廠技術總監,

也做過小廠CTO的產品技術人,

同時,也是一位信奉終身成長的職場人。

總結

以上是生活随笔為你收集整理的洋哥!我要进大厂!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。