筆試面試收獲(持續更新中)

1. Internet 是有ARPANET發展而來
2. NFS(Network File System)即網絡文件系統
3. OSI參考模型七層:物理層,數據鏈路層,網絡層(IP,路由器,三層交換機),傳輸層(TCP/UDP),會話層,表示層,應用層
4. 軟件測試:黑盒/白盒測試:
黑盒測試:主要就是測試代碼的功能與輸入有效性在問題, 以便于了解或使用系統的內部結構及知識。

輸入類型輸入數據預期輸出實際輸出測試狀態
正確的數值5+5=1010正確
帶非法字符的數值&+&….=出現異常出現異常正確
加減乘除5*5=2525正確
非法運算符5@2=提示只能輸入+-*/提示只能輸入+-*/正確
分母為03/0=提示分母不能為0提示分母不能為0正確

白盒測試:在設計測試的過程中,我們通過測試程序的內部結構,了解代碼的完善程度,發現錯誤,減少代碼。

測試用例用例說明覆蓋代碼測試結果
5-5數值的輸入interceResult(4-9)運行成功
2.9非法運算符interResult(7-9)運行成功,提示輸入錯誤重新輸入
1-1是否運行減法interceptOperation(4-64)運行成功
2+2是否運行加法interceptOperation(4-64)運行成功
3*3是否運行乘法interceptOperation(4-64)運行成功
4/4是否運行除法InterceptOperation(4-64)運行成功
5/0分母不能為0ispassString(16-18)運行成功,提示分母不能為0,重新輸入
6e。非法字符interceResult(7-9)運行成功,提示算式錯誤重新輸入

5. 程序錯誤的主要三種情況:

a) 編譯鏈接錯誤(語法錯誤):
編譯鏈接錯誤又分為編譯錯和鏈接錯。
編譯錯就是普通意義上的語法錯誤,編譯器進行語法檢查不通過,也就是程序違背了計算機語言的語法,例如:括號不匹配、變量名拼寫錯誤、用保留字定義變量名等;
初學者有時寫了函數的聲明,但是缺少函數的定義,此時就會出現鏈接錯。b)運行錯誤: 
運行錯是程序可以執行,但是在執行過程中發生異常,提前退出程序。
最常見的是指針越界,打開文件失敗繼續讀取文件,總而言之是讓計算機執行一些不能執行的語句。 
c)邏輯錯誤:
邏輯錯是程序也能運行,就是結果不對,主要原因有:程序算法本身錯誤,程序和算法不同義等。
例如:新手經常將判斷相等的 == 寫成 =    賦值,往往就會導致邏輯錯。

6. C++函數的三種傳遞方式(具體講解):

  • 值傳遞 :形參是實參的拷貝,改變形參的值并不會影響外部實參的值。從被調用函數的角度來說,值傳遞是單向的(實參->形參),參數的值只能傳入,不能傳出。當函數內部需要修改參數,并且不希望這個改變影響調用者時,采用值傳遞。
  • 指針傳遞:形參為指向實參地址的指針,當對形參的指向操作時,就相當于對實參本身進行的操作.
  • 引用傳遞:形參相當于是實參的“別名”,對形參的操作其實就是對實參的操作,在引用傳遞過程中,被調函數的形式參數雖然也作為局部變量在棧中開辟了內存空間,但是這時存放的是由主調函數放進來的實參變量的地址。被調函數對形參的任何操作都被處理成間接尋址,即通過棧中存放的地址訪問主調函數中的實參變量。正因為如此,被調函數對形參做的任何操作都影響了主調函數中的實參變量。

7.逆波蘭表達式:
博客園中關于逆波蘭表達式的講解
8. 虛析構函數:
虛析構函數,一個基類的析構函數寫成虛函數,并用基類指針刪除派生類的對象時,會調用派生類的析構函數,否則會造成內存泄露。
9. TCP和UDP的區別:

1,TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發送數據之前不需要建立連接
2、TCP提供可靠的服務。也就是說,通過TCP連接傳送的數據,無差錯,不丟失,不重復,且按序到達;UDP盡最大努力交付,即不保證可靠交付
3、TCP面向字節流,實際上是TCP把數據看成一連串無結構的字節流;UDP是面向報文的
UDP沒有擁塞控制,因此網絡出現擁塞不會使源主機的發送速率降低(對實時應用很有用,如IP電話,實時視頻會議等)
4、每一條TCP連接只能是點到點的;UDP支持一對一,一對多,多對一和多對多的交互通信,
5,TCP的邏輯通信信道是全雙工的可靠信道,UDP則是不可靠信道

10. 進程間通訊方式及優缺點

  • 管道:有名管道和無名管道(范例)
    • 無名管道:是半雙工的,數據只能向一個方向流動;需要雙方通信時,需要建立起兩個管道;只能用于父子進程或者兄弟進程之間(具有親緣關系的進程)。
    • 有名管道:和無名管道基本相同,但也有不同點:無名管道只能由父子進程使用;但是通過命名管道,不相關的進程也能交換數據。
  • 共享內存:被多個進程共享的一部分物理內存。共享內存是進程間共享數據的一種最快的方法,一個進程向共享內存區域寫入了數據,共享這個內存區域的所有進程就可以立刻看到其中的內容。(范例)
  • 消息隊列:為了防止出現因多個程序同時訪問一個共享資源而引發的一系列問題,我們需要一種方法,它可以通過生成并使用令牌來授權,在任一時刻只能有一個執行進程訪問代碼的臨界區域。臨界區域是指執行數據更新的代碼需要獨占式地執行。(范例)
  • 信號量:就是一個消息的鏈表。可以把消息看作一個記錄,具有特定的格式。進程可以向其中按照一定的規則添加新消息;另一些進程則可以從消息隊列中讀走消息(范例)
  • 套接字(socket):套接口也是一種進程間的通信機制,與其他通信機制不同的是它可以用于不同及其間的進程通信。

11. 線程間同步方式(范例)

  • 鎖機制
    • 互斥鎖:提供了以排它方式阻止數據結構被并發修改的方法。
    • 讀寫鎖:允許多個線程同時讀共享數據,而對寫操作互斥。
    • 條件變量:可以以原子的方式阻塞進程,直到某個特定條件為真為止。對條件測試是在互斥鎖的保護下進行的。條件變量始終與互斥鎖一起使用。
  • 信號量機制:包括無名線程信號量與有名線程信號量
  • 信號機制:類似于進程間的信號處理。
    線程間通信的主要目的是用于線程同步,所以線程沒有象進程通信中用于數據交換的通信機制。

12. 線程和進程的比較(范例)

進程是程序的實例,具有一定的獨立功能。
線程是進程的一個實體,是CPU調度和分派的基本單位,他是比進程更小的能獨立運行的基本單位。線程基本上不擁有系統資源,只擁有一點在運行中必不可少的資源,但是他可以與同屬于一個進程的其他線程共享擁有的全部資源。
區別:進程有獨立的地址空間,一個進程崩潰后,在保護模式下不會對其它進程產生影響,而線程只是一個進程中的不同執行路徑。線程有自己的堆棧和局部變量,但線程之間沒有單獨的地址空間,一個線程死掉就等于整個進程死掉

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/448315.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/448315.shtml
英文地址,請注明出處:http://en.pswp.cn/news/448315.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux 安裝 配置 Maven

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1.需要提前安裝JDK,并且配置環境變量 請參考:https://blog.csdn.net/jiangyu1013/article/details/84321146 2.…

Threading in C#

這里推薦一些C#編程多線程的學習資料: http://knowledge.swanky.wu.googlepages.com/threading_in_c_sharp.html Ebook in English:http://cid-068f7d75d8585700.skydrive.live.com/self.aspx/ebook/threading.pdf 一些demo:http://cid-068f7…

經理人如何與這“六種人”打交道?

在職場中,我們要與不同身份、不同年齡、不同崗位、不同性別、不同性格的人打交道。在平時的實際工作接觸中,善于與不同人打交道的經理人,會根據不同的情況用不同的態度和方式來對待之。 1、如何與死板的人打交道 與這樣的人交往&#xff0c…

[Git高級教程 (一)] 通過 Tag 標簽回退版本修復 bug

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1 前言 本系列之所以取名”Git高級教程”,主要是教大家解決實際工作中遇到的問題,要求讀者會基本的Git用法和命令…

Javascript 自定義輸出

緣由 前段時間再看了一些javascript的學習資料,也寫的一些demo,在輸出的時候一般都用alert,但這個方法會打斷函數運行,用起來不是很好.還有就是console.log這個方法,這種方法原來一直以為只能在FireFox上面才能用,現在才發現主流瀏覽器都支持.但我的這個插件已經寫的差不多了,所…

不要打2歲內和6歲后的孩子 父母必看

一位媽媽說:“孩子經常無理取鬧,到超市就要買這買那,不給買就坐在地上哭鬧。到別人家去就亂翻亂動,還會到人家沙發上亂蹦,無論你怎么說,孩子都不聽話。每次我都會氣不打一處來,回到家就痛打一頓…

設計模式之開放封閉原則

以下皆是個人理解如有不對請留言指出,謝謝! 我就代碼提出我自己個人的看法: 正常定義一個類例如銀行工作員,他可以執行存款,付款和轉賬功能,如果在現有功能上我想添加貸款功能,需要在類中添加…

[Git高級教程(二)] 遠程倉庫版本回退方法

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1 簡介 最近在使用git時遇到了遠程分支需要版本回滾的情況,于是做了一下研究,寫下這篇博客。 2 問題 如果提交了…

uplift model學習筆記

一、解決的問題: 通常的 Propensity Model 和 Response Model 只是給目標用戶打了個分,并沒有確保模型的結果可以使得活動的提升最大化;它沒有告訴市場營銷人員,哪個用戶最有可能提升活動響應; 因此,需要另…

必須看透的50個錯覺 人生要看透而不看破!

我們應該感謝命運的多喘,是它用歷練使一顆脆弱心的漸漸變得堅強,變得對一切都充滿了向往。無可否認,只有真正的經歷了一些事物之后,你才會對人生看得更加透徹,才會對世間真情感悟的更加真切。 1、個人只能被現實改變…

設計模式之依賴倒置原則

在傳統的過程式中,上層依賴于底層,當底層變化,上層也得跟著做出相應的變化。這就是面向過程的思想,弊端就是導致程序的復用性降低并且提高了開發的成本。 而面向對象的開發則很好的解決了這個問題,讓用戶程序依賴于抽象…

@Transactional 詳解

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 Transactional 是聲明式事務管理 編程中使用的注解 1 .添加位置 1)接口實現類或接口實現方法上,而不是接口類中…

LiveGBS高性能GB28181國標流媒體服務流傳輸模式支持UDP、TCP被動、TCP主動模式

LiveGBS國標(GB28181)流媒體服務軟件: 提供用戶管理及Web可視化頁面管理; 提供設備狀態管理,可實時查看設備是否掉線等信息; 實時流媒體處理,PS(TS)轉ES; 設備狀態監測、云臺控制、錄…

通過人行橫道線

學車中的通過人行橫道線 人行橫道線,俗稱斑馬線,是由一條一條的白色線組成的,主要是用來讓行人穿越馬路的。 駕駛員駕駛車輛通過人行橫道時應該減速緩行,注意禮讓行人。 考核要求 當駕車進入路面有施劃人行橫道線的&#xf…

python學習-38迭代器和生成器

迭代器和生成器---- 迭代器協議和for循環工作機制1.迭代器協議:對象必須提供一個next方法,執行該方法要么返回迭代中的下一項,要么引起一個Stoplteration異常,以終止迭代(只能往后走,不能往前走&#xff09…

[轉載]基于Aaf的數據拆分

(本文適于使用Aaf框架的開發者閱讀) 1. 基本原理 在Aaf框架中,“對象”和“存儲”的關系映射有一個關鍵的紐帶StorageAlias,即“存儲別名”,同樣一個類型,在不同的存儲別名下,可以自由映射到任意存儲“位置”。  “位…

靠邊停車

什么是靠邊停車 靠邊停車是大路考中一個指標很明確的考核項目,要求學員駕駛車輛使之靠邊停下。 操作方法 1、停車前,要通過內、外后視鏡觀察后方和右側交通情況,開右轉向燈。 2、適量踩下制動踏板。 3、向右轉動方向盤(第一把輪…

RuntimeException 和 Exception 區別、異常的子父級關系

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1.java 將所有的錯誤封裝為一個對象,其根本父類為Throwable, Throwable 有兩個子類:Error 和 Exception。 2.Err…

通過路口

操作方法 1、讓車減速 2、觀察路口的情況 3、通過路口 注意事項 1、不要搶黃燈 2、不要開英雄車,即紅燈亮起時通過路口的最后一輛車 3、控制車速,控制在50km/h以下 4、看到左右車都減速時,也馬上減速 5、要左轉…

C語言筆記(關鍵字)

gdb調試 gcc 源程序 -g;加gdb調試信息gdb可執行程序;(gdb調試)l(ist):查看源碼,按一下從main開始10行以此往后l n:查看n處上下10行的源碼run:運行程序b&…