本文適用於計算機專業考研複試、軍隊文職助理工程師面試
涵蓋了操作系統、計算機網絡、數據庫等多門學科
參考網上的大部分答案自己整理得,完整性與正確性有保證
希望可以幫到大家~喜歡的話點一下贊呀~
全文較長,從我自己的word文檔粘貼過來格式有些奇怪,建議下載文件
https://download.csdn.net/download/qq_38106472/11344106
目錄
TCP\IP網絡協議的核心是什麼?如何引出“IP over everything”和“everything over IP”?
談談TCP的三次握手過程,爲什麼採用三次握手?若兩次可以麼?
通過域名無法訪問,通過IP地址可以訪問,是什麼原因?怎麼解決?
什麼是虛擬地址、線性地址、物理地址和邏輯地址?之間區別和聯繫是什麼?
網絡編程中設計併發服務器,使用多進程與多線程,請問有什麼區別?
ICMP是什麼協議?處於哪一層?
網際控制報文協議
功能:網絡探詢;主機\路由器差錯報告:網絡通不通;主機是否可達;路由是否可用
什麼是程序局部性?爲什麼會有程序的空間局部性?
局部性:程序在執行時呈現出局部性規律,即在一段時間內,整個程
序的執行僅限於程序中的某一部分;相應的,執行所訪問的存儲空間
也侷限於某個內存區域
時間局部性:被引用過一次的存儲器位置在未來會被多次引用
空間局部性:如果一個存儲器的位置被引用,那麼將來他附近的位置
也會被引用
空間局部性原因:由程序順序執行引起
TCP和UDP的區別?
二者都是傳輸層協議
- TCP提供面向連接服務,提供可靠交付
UDP提供無連接服務,提供不可靠交付,盡最大努力交付
- TCP面向字節流,傳輸慢
UDP面向報文方式傳輸,效率高
- TCP具有擁塞控制、流量控制
UDP無
- TCP用於可靠性高的場所
UDP用於實時性強的場合,如:視頻聊天、語音電話
網絡協議三個核心要素是什麼?各有什麼作用?
語法:數據與控制信息的結構或格式
語義:發出何種控制信息、完成何種動作、做出何種響應
同步(時序):時間順序、速度匹配
爲了實現重定位,需要哪些硬件?
重定位分爲靜態重定位和動態重定位
靜態重定位:在裝入一個作業的時候,把作業中的指令地址和數據地址全部一次性轉換成絕對地址
動態重定位:設置一個基址寄存器,裝入作業的時候將作業在主存區域的首地址放入到基址寄存器中。作業執行的時候由硬件的地址轉換機構動態的對地址進行轉換,執行指令的時候只要將邏輯地址+基址寄存器的值便得到了絕對地址
在交互式系統中,非剝奪是不是一個好策略?爲什麼?
非剝奪方式:分派程序一旦把處理劑分配給某進程後便讓它一直運行下去,直到進程完成或者發生進程調度某時間而阻塞時,才把處理劑分配給另一個進程
非剝奪並不是一個好策略,因爲在分時系統中,除了交互性之外,及時性是很重要的性能因素,當一個作業被阻塞之後,CPU就完全空閒,別的用戶及時性無法保證,而完全可以把這些時間分配給別的作業運行,提升整體吞吐量
何爲死鎖?何爲系統調用?
死鎖:指多個有關進程由於爭奪資源而造成的一種僵局,在無外力的情況下這些進程都將無法再向前推進的狀態
系統調用:OS與應用進程之間的接口,它是用戶程序取得OS服務的唯一途徑,與一般過程調用的區別:運行在不同系統狀態。調用程序運行在用戶態,被調用程序運行在系統態,通過軟中斷機制,先由用戶態轉爲系統態,才能轉向相應的系統調用子程序。一般過程調用返回後繼續執行,但對系統調用,當調用的進程仍具有最高優先權時,才返回到調用進程繼續處理,否則只能等被重新調度
CPU不執行程序的時候在幹什麼?
CPU空閒時在運行空閒任務(由重複執行HLT停機指令的循環組成),HLT指令目的是爲了儘可能減少電量消耗,並使CPU進入節能模式
舉例解釋一下同步與互斥?
生產者-消費者問題
一組生產者向一組消費者提供產品,他們共享一個有界緩衝區,生產者向其中放產品,消費者從中取產品。只要緩衝區未滿,生產者可以放產品;只要緩衝區有產品,消費者可以取產品
有界緩衝區是互斥的,生產者訪問有界緩衝區時消費者不允許訪問,同理反之亦然
同步時存在於消費者與生產這中間,只有生產者生產出產品並放在有界緩衝區消費者才允許去消費,否則消費者進程阻塞,同步實現了訪問者對資源的有序訪問
在可變分區管理中,需要哪些硬件機制?
採用可變分區方式管理中,一般採用動態重定位方式裝入作業
地址變換要靠硬件支持,主要是兩個寄存器:基址寄存器和限長寄存器。基址寄存器用於存放作業所佔分區的起始地址,限長寄存器用於存放作業所佔分區的長度。兩個值確定了一個分區的位置和大小。
轉換時根據邏輯地址與限長值比較,如果未超過則訪問地址合法,再加上基址寄存器,得到絕對地址,否則形成“地址越界”中斷
中斷和陷入的區別?
外中斷(中斷):來自處理機、內存外部的中斷,如I\O中斷、定時器中斷、外部信號中斷等,狹義上也叫中斷
內中斷(陷入):在處理機和內存內部產生的中斷,如校驗錯誤、頁面失效、溢出、除數爲0,也成陷入
區別:
- 引起的原因不同:陷入由處理機正在執行的現行指令引起,中斷由與現行指令無關的中斷源引起
- 提供服務對象不同:陷入處理程序提供的服務爲當前進程所用,中斷處理程序提供的服務不是爲了當前進程
- 響應中斷時間不同:CPU在執行指令間隙響應中斷,在指令執行時也可以響應陷入
數據庫系統和文件系統相比有什麼優點?
- 整體數據結構化,可靈活的存取DB中某一個或某一組數據項、一個記錄或一組數據記錄,而文件系統只可存取記錄
- 數據的共享性高、冗餘度低且易擴充
- 數據獨立性高:物理獨立性(用戶的應用程序和數據庫中數據的物理存儲相互獨立)+邏輯獨立性(用戶的應用程序與數據庫中數據的邏輯結構相互獨立)
- 數據安全性、完整性、併發控制和恢復能力均優於文件系統
計算機網絡和分佈式計算機系統的區別?
計算機網絡系統中各計算機獨立工作
分佈式計算機系統進行分佈式數據庫處理,各互聯的計算機可以互相協調工作,共同完成一項任務,在多臺計算機上並行運行,且具有透明性,用戶不知道數據、資源的具體位置,整個網絡中所有計算機就像是一臺計算機一樣
爲什麼要引入多道程序技術?
根本原因是由於CPU與I\O速度不匹配的矛盾非常突出。引入多道程序技術提高了COU利用率、內存與I\O設備利用率、增加系統吞吐量
何爲管態和目態?它們與進程運行狀態的關係是什麼?
CPU工作狀態分爲管態和目態:
管態(特權態、系統態、核心態):CPU在管態下可執行指令系統的全集,通常OS在管態下運行
目態(常態、用戶態):只能執行非特權指令集,用戶程序只能在目態進行,如果用戶程序在目態下執行特權指令,硬件發生中斷,OS獲得控制。可防止用戶有意或者無意破壞程序
何爲網絡延時?何爲完整性約束?
網絡延時:一個報文或分組從一個網絡(或一條鏈路)的一端傳送到另一端所需時間
完整性約束:爲保證數據庫中數據的正確性和相容性,對關係模型提出的某種約束條件或規則,包括實體完整性(有主鍵)、參照完整性(由外鍵)、用戶定義完整性(根據實際情況定義)
對5G技術的理解?
第五代移動通信網絡
出現原因:
- 新型移動業務層出不窮
- 移動數據流量和終端數量的爆炸式增長
- 用戶體驗要求的不斷提升
主要性能指標:
- 傳輸速率比4G提升10-100倍
- 端到端時延爲4G的1\50
- 連接設備密度與流量密度提升
關鍵技術:
- 大規模天線,有效提高頻譜效率
- 高頻段毫米波通信
- 全雙工技術
- 波束成形
應用:
- 高寬帶移動業務
- VR
- 無人駕駛
- 智慧城市
對雲計算技術的理解?
是分佈式計算中的一種,指通過“網絡雲”將巨大的數據處理計算程序分解成無數個小程序,然後通過多部服務器組成的系統處理和分析這些小程序得到結果並返回給用戶。使用互聯網接入存儲或運行在遠程服務器端的應用
雲計算技術有三種服務模式:IaaS(基礎設施即服務)、PaaS(平臺即服務)、SaaS(軟件即服務)
雲計算優點:計算能力、存儲能力、網絡能力、安全能力強大。
點對點和端對端分別工作在哪層?工作機制是什麼?
點對點工作在數據鏈路層,用在兩節點之間建立直接的連接,無需MAC尋址與介質訪問控制。它主要用在利用電話線來連接兩臺計算機,很多因特網服務提供商使用PPP協議給用戶提供接入服務 。既支持同步鏈路連接,也支持異步鏈路連接,還可以支持多種網絡層協議,被設計有循環冗餘校驗來防止鏈路噪聲,檢查每一個單獨的幀是否有錯誤
端到端協議工作在運輸層,主要指TCP傳輸協議,提供一個全雙工、面向連接服務、擁塞控制、超時重傳
DBMS支持哪幾種數據模型?SQL四個組成部分是什麼?
數據模型:
- 層次模型(根結點無雙親結點,其他結點有且只有一個雙親結點)
- 網狀模型(允許結點沒有或有多個雙親結點)
- 關係模型(二維表)
SQL組成部分:
- 數據定義語言
- 數據查詢語言
- 數據操縱語言
- 數據控制語言
網絡時延由哪幾個部分組成?各產生於何處?
- 結點處理時延:主機或路由器在收到分組時要花費一定時間進行處理,如分析分組首部、從分組中提取數據部分、差錯檢測、尋找時當路由等
- 排隊時延:分組在進入路由器後要先在輸入隊列中排隊等待處理
- 傳輸時延:主機或路由器發送數據幀所需時間
- 傳播時延:電磁波在信道中傳播一定的距離需要花費的時間
TCP\IP網絡協議的核心是什麼?如何引出“IP over everything”和“everything over IP”?
TCP\IP參考模型:網絡接口層、網絡層、傳輸層、應用層
該協議是一種網絡通信協議,規範了網絡上所有通信設備,尤其是一個主機和另一個主機之間的數據往來格式以及傳送方式
“IP over everything”:TCP\IP可以用在不同的異構網絡中,對上層應用屏蔽不同的通信子網
“everything over IP”:未來的通信網以數據信息業務爲重心,並普遍使用互聯網規約IP,不管哪種數據形式都可通過TCP\IP實現
ARP地址解析協議的工作原理?
ARP地址解析協議運行在數據鏈路層
鏈路層組幀時需要在數據報增加頭部,包括目的MAC地址信息,根據IP地址在ARP表查詢對應的MAC地址,若未找到IP地址,則發廣播幀詢問,對應的IP地址的主機發迴應答,ARP表學習一次。注:ARP表中存儲項目爲(IP地址,MAC地址,TTL)
DNS域名服務系統工作原理?
Internet上主機\路由器識別用域名或IP地址,DNS域名服務系統用於域名向IP地址的映射。DNS服務器分爲:根DNS服務器、頂級DNS服務器、權威DNS服務器。有兩種查詢方式:迭代查詢、遞歸查詢
何爲網橋?防火牆的端口防護是指什麼?
網橋工作在數據鏈路層,又叫橋接器,是連接兩個局域網的一種存儲\轉發設備,根據MAC地址決定轉發口
防火牆端口防護:指通過對防火牆的端口開關的設置,關閉一些非必需端口,達到一定安全防護目的的行爲
面向連接和非面向連接的特點是什麼?
面向連接服務:具有連接建立、數據傳輸和連接釋放三個階段,數據按序傳送,可靠交付,適用於一定期間內要向同一目的地發送許多報文,且對報文要求可靠性較高的情況
無連接服務:兩個實體之間的通信不需要先建立好一個連接,因此其下層的有關資源不需要事先進行預定保留。這些資源將在數據傳輸時動態進行分配,靈活方便且比較迅速,但不能防止保溫的丟失、重複或失序,是一種不可靠服務,盡最大努力交付
談談TCP的三次握手過程,爲什麼採用三次握手?若兩次可以麼?
TCP三次握手過程(建立連接的過程是利用客戶服務器模式,A爲客戶端,B爲服務器端):
- 主機A向B發送連接請求
- 主機B對收到的主機A的報文段進行確認
- 主機A再次對主機B的確認進行確認
採用兩次握手不可以,因爲爲了防止失效的連接請求突然又傳到主機B發生錯誤
失效的連接請求是指主機A發出的連接請求未收到主機B的確認,於是過了一段時間後,主機A又重新向主機B發送連接請求,且建立成功,順利完成數據傳輸。但如果主機A第一次發送的連接請求並沒有丟失,而是因爲網絡節點導致延遲到達主機B,主機B以爲是主機A又發起的新連接,於是主機B同意連接,並向A發回確認,但此時A並不會理會。若採用兩次握手,主機B就一直等待主機A發送數據,導致主機B的資源浪費
何爲差錯檢測?
指在發送的碼序列中加入適當的冗餘度以使得接收端能夠發現傳輸中是否發生差錯的技術
何爲虛擬局域網VLAN?VLAN有什麼優點?
VLAN是一組邏輯上的設備和用戶,不受物理位置的限制,可以根據功能、部門及應用等因素將它們組織起來。VLAN時局域網提供給用戶的一種服務,而非新的局域網絡。
VLAN限制了接收廣播消息的工作站數,使得網絡不會因傳播過多的廣播信息而引起性能惡化
交換機和路由器區別?
工作層次不同:交換機工作在數據鏈路層,路由器工作在網絡層
數據的轉發對象不同:交換機根據MAC地址轉發數據幀,路由器根據IP地址轉發數據報
轉發表構建方法不同:交換機利用自學習泛洪法構建,路由器利用路由算法構建
廣播域:交換機不分割廣播域,路由器分割廣播域
自適應網卡只有紅燈閃爍,綠燈不亮,這種情況正常麼?
正常。自適應網卡紅燈代表連通 / 工作,即連通時紅燈長亮,傳輸數據時閃爍,綠燈代表全雙工,即全雙工狀態是亮,半雙工狀態滅。如果一個半雙工的網絡設備(如 HUB )和自適應網絡相連,由於這張網卡是自適應網卡,它就會工作在半雙工狀態,所以綠燈不亮也屬於正常情況
補充:網卡紅綠燈是網卡工作的指示燈,紅燈亮表示正在發送或接收數據,綠燈亮則表示網絡連接正常。因此正常情況下應該是綠燈長亮,因爲綠燈長亮才代表網絡是通的。而有數據傳輸時,紅燈就會閃爍
兩臺筆記本連起來之後PING不通,可能存在哪些問題?
先檢查PING的IP地址和端口號是否正確
再檢查是否開了防火牆
都不是就是網卡和協議的問題
與IP協議配套的其他協議有哪些?
ARP:地址解析協議(IP——>MAC)
RARP:逆地址解析協議(MAC——>IP)
ICMP:網際控制報文協議(差錯控制、網絡探詢)
IGMP:因特網組管理協議(主機與路由器之間唯一信令協議,主機通過IGMP協議將組成員關係報告路由器,路由器通過IGMP協議瞭解直連主機加入組的情況)
IPV6與IPV4的區別?
更大的地址空間
更小的路由表
增強的組播支持以及對流的支持
加入了對自動配置的支持,無需手工或DHCP配置
通過域名無法訪問,通過IP地址可以訪問,是什麼原因?怎麼解決?
DNS服務器損壞,換一個DNS服務器
模擬信號到數字信號如何轉化?
採樣、量化、編碼
採樣:以適當的時間間隔觀測模擬信號波形不連續的樣本值替換原來的連續信號波形的操作,又稱爲取樣
量化:把各個時刻的採樣值用二進制表示,通過把隨時間連續變化的信號振幅變換成不連續的離散值的近似操作和四舍五人的計算方法,就可以將採樣所得的無限個模擬電壓值轉換成有限個電壓值
編碼:經過編碼將量化的採樣值表示爲數值,則稱爲編碼。二進制編碼是使用“0”,和“1”兩個數字表示某一數值
計算機由哪些組件組成?
運算器、存儲器、控制器、輸入設備、輸出設備
如何加強計算機網絡安全管理?
訪問控制,完善的權限管理
網絡接入設備控制
故障發現與故障通知
設備性能監控
影響計算機操作系統穩定性的因素?
- 環境因素,如溫度、溼度、灰塵等
- 硬件之間的兼容性
- 系統驅動與硬件之間兼容問題
- 系統盤的擁堵程度
- 病毒
C盤格式化需要注意什麼?
系統安裝在C盤時是不能格式化的,可以安裝格式化軟件來格式化
OSI七層模型?
物理層、數據鏈路層、網絡層、運輸層、會話層、表示層、應用層
數據通信三種方式?
單工(只允許一臺發,另外一臺收)
半雙工(同一時間只准一臺計算機發)
全雙工(不論何時都可以任意傳輸數據)
通信網絡的檢查方法有哪些?
- Ipconfig命令:可用於顯示當前的TCP\IP配置的設置值,一般用於檢驗人工培植堵塞TCP\IP設置是否正確
- Ping命令:用於確定本地主機是否能與另一臺主機交換
軟件形成的步驟?
市場調研、需求分析、概要設計(原型設計)、詳細設計(詳細設計說明書)、編碼、測試
什麼是重載和重寫?
函數或者方法有相同的名稱,但是參數列表不相同的情形,這樣的同名不同參數的函數或者方法之間,互相稱之爲重載函數或者方法
子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類並不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要採用方法的重寫。方法重寫又稱方法覆蓋
交換機的運行工作原理?
交換機內部有一個MAC地址表,記錄了網絡中所有MAC地址與該交換機各端口的對應信息,當某一信息需要轉發時,交換機根據該數據幀的目的MAC地址查找得到該MAC地址對應的端口,然後交換機把數據幀從該端口轉發出去
如果MAC地址不在表中,則向所有端口轉發,稱爲泛洪,並完成一次自學習
關係型數據庫的特點?
二維表
數據集中控制、數據獨立、數據共享、減少數據冗餘、數據結構化、統一的數據保護功能
各編程語言的特點?
C:運算符豐富、數據結構豐富、結構式語言、允許直接訪問物理地址、可移植性好
Java:支持分佈式
Python:快速開發應用程序,具有豐富的庫
什麼是多媒體?
多媒體:在計算機系統中,組合兩種或兩種以上媒體的一種人機交互式的信息交流和傳播媒體
如何網絡維護?
- 會排除網絡故障
- 瞭解病毒特徵,注意各種新病毒通告
- 及時升級殺毒軟件,卸載不必要的服務,關閉不必要的端口
- 在網絡使用高峯時段,利用網管軟件查看數據流量確定網絡瓶頸位置並設法增加其帶寬
存儲系統有哪三種?
塊存儲(主要操作對象是磁盤)、文件存儲(主要操作對象是文件及文件夾)、對象存儲(操作對象時對象)
如何清理內存垃圾?
磁盤清理、磁盤碎片整理
爲什麼備份的時候找不到ghost.txt 文件?
爲了有效的防止被人刪除或是被比較厲害的病毒感染備份文件
何爲TCP?何爲IP?
TCP:傳輸控制協議,面向連接的傳輸層協議
IP:互聯網協議,能使連接到網上的所有計算機網絡實現相互通信的一套規則,規定了計算機在因特網上進行通信時應當遵守的規則
對區塊鏈的理解與看法?
去中心化的分佈式賬本數據庫
利用密碼學保證已有數據不可能被篡改
採用共識算法對新增數據達成共識
是比特幣的底層技術
什麼是虛擬地址、線性地址、物理地址和邏輯地址?之間區別和聯繫是什麼?
物理地址:用於內存芯片級的單元尋址,與處理器和CPU連接的地址總線相對應
邏輯地址:指由程序產生的與段相關的偏移地址部分
線性地址(虛擬地址):與邏輯地址類似,它也是一個不真實的地址,如果邏輯地址是對應的硬件平臺段式管理轉換前地址的話,那麼線性地址則對應硬件頁式內存的轉換前地址(邏輯地址到物理地址變換之間的中間層,即段偏移地址+基地址)
聯繫:CPU利用段式內存管理單元,先將邏輯地址轉換爲一個線性地址,再利用頁式內存管理單元,轉換爲最終物理地址
對物聯網的理解?及其發展前景?
物聯網其實是互聯網的一個延伸,互聯網的終端是計算機(PC、服務器),我們運行的所有程序,無非都是計算機和網絡中的數據處理和數據傳輸,除了計算機外,沒有涉及任何其他的終端(硬件)
物聯網的本質還是互聯網,只不過終端不再是計算機(PC、服務器),而是嵌入式計算機系統及其配套的傳感器
物聯網的技術前景是廣闊的,近些年上市的一些空氣淨化器產品,穿戴設備,家庭環境監控設備,在過去是不曾有的,在目前的消費背景下,正服務着大衆。未來還會有更多的新式設備出現,這些正是物聯網技術發展的必然結果,所以投身於物聯網的技術研發,是很有前景的一件事
何爲數據庫技術?主流的數據庫管理軟件有哪些?
數據庫技術是信息系統的一個核心技術。是一種計算機輔助管理數據的方法,它研究如何組織和存儲數據,如何高效地獲取和處理數據。是通過研究數據庫的結構、存儲、設計、管理以及應用的基本理論和實現方法,並利用這些理論來實現對數據庫中的數據進行處理、分析和理解的技術。即:數據庫技術是研究、管理和應用數據庫的一門軟件科學
DB2、SQL Server、Oracle、MySQL
計算機病毒的特點是什麼?何爲木馬病毒?
寄生性、傳染性、潛伏性、隱蔽性、破壞性、可觸發性
通過特定的程序木馬程序來控制另一臺計算機。與一般的病毒不同,它不會自我繁殖,也並不刻意地去感染其他文件,它通過將自身僞裝吸引用戶下載執行,向施種木馬者提供打開被種主機的門戶,使施種者可以任意毀壞、竊取被種者的文件,甚至遠程操控被種主機。木馬病毒的產生嚴重危害着現代網絡的安全運行
計算機信息管理系統的認識?
數據處理功能。包括數據收集和輸入、數據傳輸、數據存儲、數據加工和輸出
預測功能。運用現代數學方法、統計方法和模擬方法,根據過去的數據預測未來的情況
計劃功能。根據企業提供的約束條件,合理地安排各職能部門的計劃,按照不同的管理層,提供不同的管理層,提供相應的計劃報告
控制功能。根據各職能部門提供的數據,對計劃的執行情況進行檢測、檢測、比較執行與計劃的差異,對差異情況分析其原因
輔助決策功能。採用各種數學模型和所存儲的大量數據,及時推倒出有關問題的最優解或滿意解,輔助各級管理人員進行決策,以期合理利用人財物和信息資源,取得較大的經濟效益
自主訪問控制(DAC)的基本思想?
自主訪問控制(Discretionary Access Control,DAC)是這樣的一種控制方式,由客體的屬主對自己的客體進行管理,由屬主自己決定是否將自己的客體訪問權或部分訪問權授予其他主體,這種控制方式是自主的。也就是說,在自主訪問控制下,用戶可以按自己的意願,有選擇地與其他用戶共享他的文件
軟件工程的基本原理?
用分階段的生命週期計劃嚴格管理
堅持進行階段評審
實行嚴格的產品控制
採用現代程序設計技術
結果應能清楚的審查
開發小組的人員應該少而精
承認不斷改進軟件工程實踐的必要性
軟件開發基本過程?(軟件生命週期)
軟件生命週期:問題定義——可行性研究——需求分析——概要設計(總體設計)——詳細設計——編碼和單元測試——綜合測試——軟件維護
結構化開發的優缺點?
結構化體現了抽象思維和複雜問題求解的基本
原則,計算機中數據結構和過程是密切相關的,結構化方
法將數據結構和過程分開考慮,結構化的着力點是功能,以功能切割爲各自模塊進行實現的方式,它是直接面對解決需求問題而來。它將功能分割成小塊,使各自的區域隔離解耦,也就是分模塊。然後根據設計流程再將這些模塊拼接起來,就可以形成一個比較完善功能的程序項目。結構化的話,優點是直接,圍繞着解決問題實現功能爲目的
網絡適配器是什麼?作用是什麼?
網絡適配器是使計算機聯網的設備,負責將用戶要傳遞的數據轉換爲網絡上其他設備能夠識別的格式,通過網絡介質傳輸。內核是鏈路層控制器,該控制器通常是實現了許多鏈路層服務的單個特定目的的芯片,這些服務包括成幀,鏈路接入,流量控制,差錯檢測等
遞歸算法你是怎麼理解的?
是一種直接或者間接調用自身函數或者方法的算法。遞歸算法的實質是把問題分解成規模縮小的同類問題的子問題---尋找盒子裏的盒子
需要有遞歸結束的條件
面嚮對象語言三大特徵?
封裝(把同一類事物的屬性和方法歸到同一類中,方便使用)
繼承(子類繼承父類的特徵和行爲,使得子類對象(實例)具有父類的實例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行爲。)
多態(多態是同一個行爲具有多個不同表現形式或形態的能力。
多態是同一個接口,使用不同的實例而執行不同操作。多態存在的三個必要條件:
繼承、重寫、父類引用指向子類對象)
確定軟件需求的步驟有哪些?
第一階段:
總體把握,瞭解概況 接手一個項目,不要着急去了解需求,這一階段是和具體用戶方的領導層、業務層人員的訪談式溝通,主要目的是從宏觀上把握用戶的具體需求方向和趨勢,瞭解現有的組織架構、業務流程、硬件環境、軟件環境、現有的運行系統等等具體情況、客觀的信息。建立起良好的溝通渠道和方式。針對具體的職能部門,最好能指定本次項目的接口人。
該階段的主要工作方法:客戶訪談
輸出成果:業務流程報告/調查報告(對客戶方的組織業務概況和企業現狀的一些總結)
第二階段:
詳細瞭解業務,梳理業務流程 通過第一階段的調研,瞭解客戶業務概況的前提下,經過充分的業務調研準備,開始進入正式的業務調研工作。這一階段要對所有業務流程、業務單據、報表等進行詳細的分析。整理出業務架構,儘可能多的與相關基層人員進行誘導式的訪談,與用戶一起探討業務流程設計的合理性、準確性、便易性、習慣性。對主要的業務流程要有原型DEMO讓客戶操作,發現問題,提出改進的意見和建議。
該階段的主要工作方法:訪談、業務分析、原型設計演示
輸出成果:調研分析報告、原型反饋報告、業務流程報告
第三階段:
需求細化和確認 這一階段是在上述兩個階段成果的基礎上,進行具體的流程細化、數據項的確認階段,這個階段承建方必須提供原型系統和明確的業務流程報告、數據項表,並能清晰地向用戶描述系統的業務流設計目標。用戶方可以通過審查業務流程報告、數據項表以及操作承建方提供的DEMO系統,來提出反饋意見,並對已經可接受的報告、文檔簽字確認
實現手段:拜訪(回顧、確認),提交業務流程報告、數據項表;原型演示系統
輸出成果:需求分析報告、數據項、業務流程報告、原型系統反饋意見(後三者可以統一歸入需求分析報告中,提交用戶方、監理方進行確認和存檔)
數據量超過10萬條,怎麼優化查詢語句?
避免全表掃描,建立索引
分頁
流行計算機操作系統?
UNIX、LINUX、MAC、WINDOWS
重裝系統前先做哪些操作?
保存系統重要文件——非系統盤保存重裝系統後需要用到的安全軟件——非系統盤保存驅動精靈軟件——下載製作U盤啓動盤的工具——製作U盤啓動盤
何爲子網掩碼?如何計算子網掩碼?
指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網絡地址和主機地址兩部分
網絡號、子網號全取1,主機號取0
怎樣用C編寫死循環?
解法1
while(1) { }
解法2
for(; ; ) { }
解法3 用goto
Loop:
….
goto Loop;
引用與指針的區別?
- 引用必須被初始化,指針不必
- 引用初始化以後不能被改變,指針可以改變所指的對象
- 不存在指向空值的引用,但是存在指向空值的指針
- 指針是一個實體,而引用僅是個別名
堆棧溢出一般是什麼原因導致的?
沒有回收垃圾資源
層次太深的遞歸調用
局部數組變量空間太大
網絡編程中設計併發服務器,使用多進程與多線程,請問有什麼區別?
答案一:
1,進程:子進程是父進程的複製品。子進程獲得父進程數據空間、堆和棧的複製品
2,線程:相對與進程而言,線程是一個更加接近與執行體的概念,它可以與同進程的其他線程共享數據,但擁有自己的棧空間,擁有獨立的執行序列
兩者都可以提高程序的併發度,提高程序運行效率和響應時間。
線程和進程在使用上各有優缺點:線程執行開銷小,但不利於資源管理和保護;而進程正相反。同時,線程適合於在SMP(Symmetric Multi-Processing,對稱多處理結構的簡稱,是指在一個計算機上彙集了一組處理器(多CPU),各CPU之間共享內存子系統以及總線結構。)機器上運行,而進程則可以跨機器遷移
答案二:
根本區別就一點:用多進程每個進程有自己的地址空間(address space),線程則共享地址空間。所有其它區別都是由此而來的:
1。速度:線程產生的速度快,線程間的通訊快、切換快等,因爲他們在同一個地址空間內
2。資源利用率:線程的資源利用率比較好也是因爲他們在同一個地址空間內
3。同步問題:線程使用公共變量/內存時需要使用同步機制還是因爲他們在同一個地址空間內