853計(jì)算機(jī)基礎(chǔ)都有哪些 你要看懂計(jì)算機(jī)基礎(chǔ)知識(shí)
853計(jì)算機(jī)基礎(chǔ)都包括哪些科目,計(jì)算機(jī)基礎(chǔ)知識(shí)包括什么?853計(jì)算機(jī)專業(yè)基綜合里面三門科目都考嗎?計(jì)算機(jī)的基本知識(shí)都有哪些,計(jì)算機(jī)基礎(chǔ)知識(shí)都包括哪些,計(jì)算機(jī)基礎(chǔ)分為哪些。
本文導(dǎo)航
- 計(jì)算機(jī)學(xué)課程有哪些科目
- 計(jì)算機(jī)理論基礎(chǔ)知識(shí)總結(jié)
- 計(jì)算機(jī)專業(yè)要考的科目
- 你要看懂計(jì)算機(jī)基礎(chǔ)知識(shí)
- 計(jì)算機(jī)基礎(chǔ)理論知識(shí)點(diǎn)
- 計(jì)算機(jī)三大基礎(chǔ)知識(shí)
計(jì)算機(jī)學(xué)課程有哪些科目
硬件基礎(chǔ)知識(shí)合軟件基礎(chǔ)知識(shí)兩大類,還包含其它幾個(gè)小分類
計(jì)算機(jī)理論基礎(chǔ)知識(shí)總結(jié)
操作系統(tǒng)、文字處理軟件Word、電子表格軟件Excel、演示文稿PowerPoint、計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)、網(wǎng)頁制作軟件Frontpage、常用軟件的使用、Access數(shù)據(jù)庫
計(jì)算機(jī)的基礎(chǔ)知識(shí)包括10章:
信息技術(shù)與計(jì)算機(jī)文化
Windows 2000操作系統(tǒng)
字處理軟件Word2000
電子表格系統(tǒng)Excel2000
演示文稿軟件PowerPoint2000
數(shù)據(jù)庫管理系統(tǒng)Access2000
計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)
Internet基礎(chǔ)
網(wǎng)頁制作
網(wǎng)絡(luò)信息安全
計(jì)算機(jī)專業(yè)要考的科目
1、853計(jì)算機(jī)專業(yè)基綜合里面三門科目都考。
2、如果是選考則每一科都有科目代碼,而且還有【或】字。
3、如果只有一個(gè)科目代碼則是都考,具體查看招生單位公布的考試大綱或者參考書目。
你要看懂計(jì)算機(jī)基礎(chǔ)知識(shí)
計(jì)算機(jī)的發(fā)展與分類、計(jì)算機(jī)的主要用途、信息的基本概念;硬件系統(tǒng)的組成及各個(gè)部件的主要功能、指令、程序,軟件的概念以及軟件的分類;數(shù)值在計(jì)算機(jī)中的表示形式,數(shù)值轉(zhuǎn)換,字符編碼;CPU、內(nèi)存、接口和總線的概念;多媒體計(jì)算機(jī)技術(shù)的概念及其在網(wǎng)絡(luò)教育中的作用,多媒體計(jì)算機(jī)系統(tǒng)的基本構(gòu)成。
計(jì)算機(jī)基礎(chǔ)理論知識(shí)點(diǎn)
基礎(chǔ)知識(shí)重要,但是具體來說,哪些點(diǎn)重要呢?
今天我就試圖總結(jié)一下,也歡迎大家補(bǔ)充。
信息的表示和處理
計(jì)算機(jī)如何表示整數(shù):有符號(hào)數(shù)和無符號(hào)數(shù),尤其是如何用補(bǔ)碼表示負(fù)數(shù),數(shù)字的取值范圍。
計(jì)算機(jī)如何表示浮點(diǎn)數(shù),為什么小數(shù)的二進(jìn)制表示法只能近似表示十進(jìn)制小數(shù)。
數(shù)值的轉(zhuǎn)換、移位
這幾點(diǎn)非常重要,因?yàn)閹缀跛械木幊陶Z言都有數(shù)據(jù)類型,而最基本數(shù)據(jù)類型必然包括整數(shù)和浮點(diǎn)數(shù)。
搞不清這些表示和運(yùn)算,在編程中就會(huì)遇到一些稀奇古怪的問題。
從匯編層面理解程序的執(zhí)行
順序、分支、循環(huán)、函數(shù)調(diào)用、數(shù)組、結(jié)構(gòu)體等在匯編層面是怎么實(shí)現(xiàn)的,寄存器和內(nèi)存是怎么使用的。
理解了這些其實(shí)也就理解了馮諾依曼計(jì)算機(jī)體系結(jié)構(gòu),這是計(jì)算機(jī)學(xué)科一個(gè)基礎(chǔ)性的東西。
知道程序在底層是怎么運(yùn)轉(zhuǎn)的, 對(duì)于學(xué)習(xí)各種虛擬機(jī)有很大的幫助,比如JVM,它要解析執(zhí)行的是字節(jié)碼,字節(jié)碼本質(zhì)上要表達(dá)的就是這些東西,只不過有所擴(kuò)展。
理解了棧幀,就能理解函數(shù)調(diào)用的本質(zhì),遞歸,以及尾遞歸的實(shí)現(xiàn)。還有安全相關(guān)的概念,如緩沖區(qū)溢出這個(gè)臭名卓著的漏洞及其防范辦法。
進(jìn)程和線程
程序員必備的知識(shí),不了解這個(gè),簡(jiǎn)直是無法編程。
需要掌握進(jìn)程的地址空間,代碼在哪里,堆在哪里,棧在哪里。
要準(zhǔn)確理解進(jìn)程和線程之間的關(guān)系,為什么說進(jìn)程是擁有資源的基本單位, 線程是CPU調(diào)度的基本單位?
進(jìn)程切換和線程切換之間的區(qū)別和聯(lián)系。
他們是如何創(chuàng)建,執(zhí)行,有哪些狀態(tài),狀態(tài)之間的轉(zhuǎn)換。 由此會(huì)涉及到并發(fā)和并行,線程之間的競(jìng)爭(zhēng)和合作。
鎖的本質(zhì)(硬件層面),樂觀鎖,悲觀鎖,死鎖等問題。
線程的實(shí)現(xiàn)方式,用戶級(jí)線程和內(nèi)核級(jí)線程的對(duì)應(yīng)方式。
在編程的過程中,有些知識(shí)點(diǎn)會(huì)直接使用,如多線程編程,鎖。 還有一些概念能用到很多地方,例如CAS,不僅僅是編程語言的概念,還能在更新數(shù)據(jù)庫時(shí)使用。再比如你理解了線程的實(shí)現(xiàn)方式,迅速就能掌握go語言中并發(fā)的手段:goroutine。
存儲(chǔ)器的層次結(jié)構(gòu)
Tomcat用了多線程執(zhí)行請(qǐng)求,Redis用了單線程來處理請(qǐng)求,Node.js也用了單線程來,這是為什么? 秘密都在存儲(chǔ)器的層次結(jié)構(gòu)。
人類制造的計(jì)算機(jī)設(shè)備之間有著巨大的速度差異:
總之,CPU超級(jí)快,內(nèi)存比較快,硬盤非常慢,網(wǎng)絡(luò)更慢, 這個(gè)速度差異是IT行業(yè)的一個(gè)核心問題,人類想了很多辦法試圖去彌補(bǔ)這個(gè)差異:多線程,緩存,異步,多路復(fù)用,硬件層面的DMA。
記著下面這張圖,每當(dāng)你遇到某個(gè)軟件的特性的時(shí)候,想一想和它有什么關(guān)系:
數(shù)據(jù)結(jié)構(gòu)和算法
它的重要性我羅嗦過很多次了,不用再重復(fù)了, 我就舉個(gè)最簡(jiǎn)單的例子: 理解了B+ Tree才能理解MySQL的InnoDB的索引,理解了索引才能更好地優(yōu)化查詢,對(duì)吧?
計(jì)算機(jī)網(wǎng)絡(luò)
現(xiàn)在的程序基本上都是網(wǎng)絡(luò)程序, 所以這也是一個(gè)必備的基礎(chǔ)知識(shí),學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò)的一大好處就是和工作直接相關(guān),能直接使用,比較有動(dòng)力。
HTTP協(xié)議肯定跑不掉,TCP,UDP也得會(huì),尤其是TCP可靠傳輸?shù)脑恚喝绾卧谝粋€(gè)不可靠的網(wǎng)絡(luò)中進(jìn)行可靠的傳輸, 這是無數(shù)前輩總結(jié)的經(jīng)驗(yàn),一定得掌握。
要理解什么是通信協(xié)議,也許某一天你自己就需要定制一個(gè)協(xié)議來傳輸數(shù)據(jù)。
分組交換是什么意思? 協(xié)議分層的本質(zhì)是什么? 什么叫無狀態(tài)的協(xié)議?
Socket相關(guān)的編程更是重點(diǎn),尤其是涉及到服務(wù)器端高并發(fā)的時(shí)候,如何維持和處理這些海量的socket, epoll等技術(shù)就得上場(chǎng)了。
還有非常重要的HTTPs的基本原理,也是網(wǎng)絡(luò)安全的精華所在:對(duì)稱加密,非對(duì)稱加密,消息摘要,數(shù)字證書,中間人攻擊。
數(shù)據(jù)庫
不多說,關(guān)系模型、范式、SQL、索引、事務(wù)等知識(shí)都得掌握,尤其是要了解他們的實(shí)現(xiàn)方式。
分布式的基礎(chǔ)知識(shí)
這些已經(jīng)偏向應(yīng)用層面了,但是現(xiàn)在很多系統(tǒng)都是分布式的了,分布式就變成了一種基礎(chǔ)知識(shí)。
系統(tǒng)通信:RPC, 消息隊(duì)列等
負(fù)載均衡的原理
CAP原理,BASE原理,冪等性,一致性模型(強(qiáng)一致性,最終一致性.....)和相關(guān)協(xié)議(兩階段提交,Raft,Paxos......)
數(shù)據(jù)分片:取模算法,一致性Hash,虛擬桶
基本的設(shè)計(jì)思想
下面這幾種設(shè)計(jì)思想對(duì)我影響很大,需要大家特別注意。但是掌握起來卻很不容易,需要在實(shí)踐中不斷地體會(huì):
正交:各個(gè)概念之間可以獨(dú)立變化
抽象:拋棄細(xì)節(jié),找到本質(zhì)和共性
《深入理解計(jì)算機(jī)系統(tǒng)》一書中提到:“指令集是對(duì)CPU的抽象, 文件是對(duì)輸入/輸出設(shè)備的抽象, 虛擬存儲(chǔ)器是對(duì)程序存儲(chǔ)的抽象, 進(jìn)程是對(duì)一個(gè)正在運(yùn)行的程序的抽象, 而虛擬機(jī)是對(duì)整個(gè)計(jì)算機(jī)(包括操作系統(tǒng)、處理器和程序)的抽象。 如果你對(duì)這句話透徹理解了,說明對(duì)計(jì)算機(jī)系統(tǒng)的認(rèn)識(shí)已經(jīng)很深刻了。
分層:我只想和我的鄰居打交道, 如網(wǎng)絡(luò)協(xié)議,Web應(yīng)用開發(fā)。
分而治之:大事化小,小事化了,架構(gòu)設(shè)計(jì)必備。
關(guān)鍵點(diǎn)來了,怎么學(xué)習(xí)呢?
我原來的方式是先看書,看了很多書,數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng),匯編,網(wǎng)絡(luò)...... 這種辦法的最大問題就是枯燥(嗯,那時(shí)候還沒有碼農(nóng)翻身這樣用故事講解技術(shù)的文章)。
理論多,實(shí)踐少,很多知識(shí)點(diǎn)體會(huì)不深, 等到參與的項(xiàng)目多了,Coding多了,這些知識(shí)點(diǎn)才慢慢地鮮活起來。
一種更加有效的辦法是從工作中用到的知識(shí)點(diǎn)出發(fā),從這個(gè)知識(shí)點(diǎn)向外擴(kuò)展,由點(diǎn)到線,由線到面,然后讓各個(gè)層次都連接起來,形成一個(gè)立體的網(wǎng)絡(luò)。
切記,學(xué)習(xí)是一個(gè)螺旋上升的過程,想要上升就得深度思考,多問幾個(gè)為什么。
比如工作中用到了Redis,你在學(xué)習(xí)過程中發(fā)現(xiàn)這個(gè)Redis用了單線程來處理讀寫請(qǐng)求,為什么要這么做? 對(duì)于成千上萬的請(qǐng)求它是如何處理的? 然后再聯(lián)想一下別的軟件:Tomcat為什么不這么干? 想回答這些問題,需要發(fā)掘很多基礎(chǔ)知識(shí)。
這樣做的次數(shù)多了,積累到一定程度,量變就會(huì)引起質(zhì)變,整個(gè)系統(tǒng)就被你看透了,你的知識(shí)又?jǐn)U大了一圈,更多的疑問出現(xiàn)了......
計(jì)算機(jī)三大基礎(chǔ)知識(shí)
計(jì)算機(jī)專業(yè)基礎(chǔ)課程有:
1、計(jì)算機(jī)文化基礎(chǔ) ;
2、計(jì)算機(jī)組成原理;
3、計(jì)算機(jī)應(yīng)用技術(shù);
4、數(shù)據(jù)結(jié)構(gòu)導(dǎo)論;
5、數(shù)據(jù)庫及其應(yīng)用;
6、微型計(jì)算機(jī)及接口技術(shù);
7、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù);
8、高級(jí)語言程序設(shè)計(jì);
9、程序設(shè)計(jì);
10、匯編語言程序設(shè)計(jì)。
掃描二維碼推送至手機(jī)訪問。
版權(quán)聲明:本文由尚恩教育網(wǎng)發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。