BIOS:
BIOS是英文"Basic Input Output System"的縮略詞,直譯過來后中文名稱就是"基本輸入輸出系統"。其實,它是一組固化到計算機內主板上一個ROM芯片上的程序,它保存着計算機最重要的基本輸入輸出的程序、開機后自檢程序和系統自啟動程序,它可從CMOS中讀寫系統設置的具體信息。
哈夫曼編碼:
哈夫曼編碼(Huffman Coding),又稱霍夫曼編碼,是一種編碼方式,可變字長編碼(VLC)的一種。Huffman於1952年提出一種編碼方法,該方法完全依據字符出現概率來構造異字頭的平均長度最短的碼字,有時稱之為最佳編碼,一般就叫做Huffman編碼(有時也稱為霍夫曼編碼)。
哈夫曼編碼,主要目的是根據使用頻率來最大化節省字符(編碼)的存儲空間。
簡易的理解就是,假如我有A,B,C,D,E五個字符,出現的頻率(即權值)分別為5,4,3,2,1,那么我們第一步先取兩個最小權值作為左右子樹構造一個新樹,即取1,2構成新樹,其結點為1+2=3,如圖:
虛線為新生成的結點,第二步再把新生成的權值為3的結點放到剩下的集合中,所以集合變成{5,4,3,3},再根據第二步,取最小的兩個權值構成新樹,如圖:
再依次建立哈夫曼樹,如下圖:
其中各個權值替換對應的字符即為下圖:
所以各字符對應的編碼為:A->11,B->10,C->00,D->011,E->010
霍夫曼編碼是一種無前綴編碼。解碼時不會混淆。其主要應用在數據壓縮,加密解密等場合。
CPU:
中央處理器(CPU),是電子計算機的主要設備之一,電腦中的核心配件。其功能主要是解釋計算機指令以及處理計算機軟件中的數據。CPU是計算機中負責讀取指令,對指令譯碼並執行指令的核心部件。中央處理器主要包括兩個部分,即控制器、運算器,其中還包括高速緩沖存儲器及實現它們之間聯系的數據、控制的總線。電子計算機三大核心部件就是CPU、內部存儲器、輸入/輸出設備。中央處理器的功效主要為處理指令、執行操作、控制時間、處理數據。
計算機內存單位:
計算機內存:
內存是計算機中重要的部件之一,它是與CPU進行溝通的橋梁。計算機中所有程序的運行都是在內存中進行的,因此內存的性能對計算機的影響非常大。內存(Memory)也被稱為內存儲器和主存儲器,其作用是用於暫時存放CPU中的運算數據,以及與硬盤等外部存儲器交換的數據。只要計算機在運行中,CPU就會把需要運算的數據調到內存中進行運算,當運算完成后CPU再將結果傳送出來,內存的運行也決定了計算機的穩定運行。
內存一般采用半導體存儲單元,包括隨機存儲器(RAM),只讀存儲器(ROM),以及高速緩存(CACHE)。
多任務操作系統:
所謂多道程序設計是指允許多個程序同時進入一個計算機系統的主存儲器並運行這些程序的方法。這種多道程序系統也稱為多任務操作系統。
分時系統:
分時操作系統是指在一台主機上連接多個帶有顯示器和鍵盤的終端,同時允許多個用戶通過主機的終端,以交互方式使用計算機,共享主機中的資源。
HTML:
HTML稱為超文本標記語言,是一種標識性的語言。它包括一系列標簽.通過這些標簽可以將網絡上的文檔格式統一,使分散的Internet資源連接為一個邏輯整體。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字,圖形、動畫、聲音、表格、鏈接等。
IPv6:
常見排序算法的穩定性:
堆排序、快速排序、希爾排序、直接選擇排序是不穩定的排序算法,而基數排序、冒泡排序、直接插入排序、折半插入排序、歸並排序是穩定的排序算法。
計算機語言的分類:
1. 高級語言和低級語言
常見的低級語言有:機器碼、匯編語言
高級語言常見如:c,c++,java,python,PHP,c#,Ruby,go,kotlin,swift。
機器碼:計算機能夠直接識別的二級制編碼,無論語言多高級都要轉成二級制文件來讓計算機識別運行。
匯編:用助記符(Mnemonics)代替機器指令的操作碼,用地址符號(Symbol)或標號(Label)代替指令或操作數的地址,在不同的設備中有着不同的指令集
高級語言:為省去編程時候的不必要的操作細節,節省代碼量,可讀性強,維護性強,更貼近人性化
高級語言與低級語言的區別:高級語言大部分不能直接更硬件打交道,這使得相對來的程序運行速度降低,總之一句話來說那種語言更接近人性化的語言就更高級。
2. 動態類型和靜態類型
3. 強制類型和弱類型
4. 編譯型,解釋型,半編譯半解釋
對於源程序,編譯型語言在執行程序中會將源文件一次性的轉化為機器碼,而解釋型語言是邊編譯邊解釋;
編譯型語言是離不開解釋程序的,這也導致了解釋性語言對於運行時候的速度比價慢,解釋型語言只要有解釋器,移植起來比較方便,而編譯型語言則要對於不同的系統進行編譯,是的工作繁瑣,且在調試程序的時候比較慢
編譯型語言可見於c,c++,Pascal等
解釋型語言可見於python,JavaScript,Perl,shell等 而java是半編譯半解釋型的語言,java會將源文件在jVM中轉化為字節碼,即.class文件,在程序運行的時候轉化為二進制文件。
5. 面向對象型和面向過程型
面向過程是決定該怎么鋪成一條路到達終點,而面向對象是要用那些具有特定功能的像來做,兩者是不同的思想。
c++是部部分面對對象的,java具有封裝性是完全面對對象的,c語言是面對過程的語言
HTML中url,src,href 的區別:
url:Uniform Resource Locators(統一資源定位器)的簡寫,Web瀏覽器通過URL從Web服務器請求頁面。
url不是屬性,src和href是屬性,src用於替換當前元素,href用於在當前文檔和引用資源之間確立聯系,也就是說src引用的路徑是img等要加載的路徑,href引用的路徑是要跳轉到的地方。
src:source的簡寫,表示的是引入文件,目的是要把文件加載到html頁面中去,當瀏覽器解析的時候會暫停其他的內容而會先加載src內容,必須要等到src的內容加載完成之后才會執行后面。這就是為什么js文件往往放在了html文件的最下面的原因。如果是在頁面head上放了js文件用:window.onload事件處理。瀏覽器會識別該文檔為css文檔,並行下載該文檔,並且不會停止對當前文檔的處理。這也是建議使用link的原因。
src的內容是頁面必不可少的一部分,是引入src指向的內容會嵌入到文檔中當前標簽所在的位置。常用的有:img、script、iframe。
href:Hypertext Reference的簡寫,表示的時超文本引用,指向網絡資源所在位置,建立和當前元素(錨點)或當前文檔(鏈接)之間的鏈接,它與頁面直接的關系為鏈接的關系,在加載它的時候頁面本身也不會停止其他內容的加載。用來建立當前元素和文檔之間的鏈接。常用的有:link、a。
HTTP協議:
HTTP是一個簡單的請求-響應協議,它通常運行在TCP之上。它指定了客戶端可能發送給服務器什么樣的消息以及得到什么樣的響應。請求和響應消息的頭以ASCII碼形式給出;而消息內容則具有一個類似MIME的格式。這個簡單模型是早期Web成功的有功之臣,因為它使得開發和部署是那么的直截了當。
TCP/IP協議:
TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協議/網際協議)是指能夠在多個不同網絡間實現信息傳輸的協議簇。TCP/IP協議不僅僅指的是TCP 和IP兩個協議,而是指一個由FTP、SMTP、TCP、UDP、IP等協議構成的協議簇, 只是因為在TCP/IP協議中TCP協議和IP協議最具代表性,所以被稱為TCP/IP協議。
階碼:
在機器中表示一個浮點數時需要給出指數,這個指數用整數形式表示,這個整數叫做階碼,階碼指明了小數點在數據中的位置。
視頻文件格式:
mp3、wma、avi、rm、rmvb、flv、mpg、mov、mkv等。
圖片文件格式:
JPEG、TIFF、RAW、BMP、GIF、PNG等。
GPRS:
GPRS(General Packet Radio Service)是通用分組無線服務技術的簡稱,它是GSM移動電話用戶可用的一種移動數據業務,屬於第二代移動通信中的數據傳輸技術。GPRS可說是GSM的延續。GPRS和以往連續在頻道傳輸的方式不同,是以封包(Packet)式來傳輸,因此使用者所負擔的費用是以其傳輸資料單位計算,並非使用其整個頻道,理論上較為便宜。GPRS的傳輸速率可提升至56甚至114Kbps。
光驅:
光驅,電腦用來讀寫光碟內容的機器,也是在台式機和筆記本便攜式電腦里比較常見的一個部件。隨着多媒體的應用越來越廣泛,使得光驅在計算機諸多配件中已經成為標准配置。光驅可分為CD-ROM驅動器、DVD光驅(DVD-ROM)、康寶(COMBO)、藍光光驅(BD-ROM)和刻錄機等。