1.Java和c++的不同之處,至少三個。
00、Java不再支援指針。這可能是C++和Java之間的最大不同。
【注】既然JAVA中不存在指針,那麼也不存在->操作符。
01、Java不再支援操作符重載。
02、Java不再包含結構或者聯合。在可以完全包含它們的類出現後,這些結構成為備援部分。
03、Java不再包括預處理,也不再支援預處理指令。
04、Java不支援自動的類型轉換,必須顯示強制執行類型轉換。
05、在Java中的代碼必須封裝在一個或者多個類中。
【注】是以Java中不再包含所謂的全局變量或者全局函數。
06、Java不再允許預設參數。
07、Java不支援多繼承,即不允許一個子類繼承多個父類。
08、雖然Java支援構造函數,但是不再支援析構函數。但是Java增加了finalize( )函數。
09、Java不再支援typedef。
10、Java中不再可能聲明無符号整數。
11、Java不再支援goto語句。
12、Java不再有delete操作符。
13、Java中的<>不再重載I/O操作。
14、Java中,對象隻能由引用傳遞,C++中對象可由值或引用傳遞。
00、多線程。Java允許兩個或者多個相同的線程并發運作。這是一種在語言級支援的并發機制。C++中沒有類似的機制,或者說C++采用的是單線程的體系結構。如果需要并發執行一個C++程式,必須利用作業系統的功能手工啟動。雖然這兩種方法都可以同時執行兩個或者多個線程,但是Java的方法清楚而且便于使用。
01、C++中沒有可以與Java包對應的特性。最近似的是用一個公用頭檔案的一組庫函數。然而,在C++中建構和使用庫函數與在Java中建構包和使用包是完全不同的。
02、Java的接口與C++的抽象類相似(C++中的抽象類是包括至少一個純虛函數的類)。例如,C++的抽象類和Java的接口都不能建立執行個體。兩者都用于指定一個子類實作的一緻接口。兩者之間最大的不同之處在于接口更清晰的表明了這個概念。
03、Java提供一個流線型的記憶體配置設定機制(即系統自動回收記憶體機制)。與C++類似,Java支援new這個關鍵字。但是,不支援delete關鍵字。當對象的最後一個引用撤銷時,對象本身被自動地删除,并進行記憶體垃圾回收。再考慮到Java沒有指針,這使得Java語言安全性能更強。
04、Java丢棄了C++的标準庫,将它替換成自己的API類集合。它們功能上有相似之處,但是名字和參數有顯著的不同。同時,因為所有的Java API庫都是面向對象的,而C++庫隻有部分是,是以庫例程調用的方式不同。
05、Java增強了break和continue語句以接收标記。
06、Java中的char類型是國際通用的16位Unicode字元集,是以能自動表達大多數國家的字元。這與C++中的wchar_t型相似。使用Unicode字元增強了代碼的可移植性。
07、Java增加了>>>操作,完成無符号的右移。
08、除支援單行和多行的注釋之外,Java增加了第三種注釋方法:文檔注釋。文檔注釋以結尾。
09、Java包含一個内置的字元串類型叫做String。String在某種程度上和C++提供的标準string類很相似。當然C++中的string隻有在程式中聲明後方可使用,它并不是内置的類型。
2.測試用例的設計方式,至少三個。
等價類,邊界值 ,因果圖,錯誤推測,路徑覆寫,功能圖 ,正交試驗設計法,場景設計方法
3.測試的方法,至少五個
黑盒測試,白盒測試,回歸測試,負載測試,壓力測試,安全性測試、Ui測試,功能測試。。。。。。。。。。。。。其實我不是很懂到底要問什麼,怎麼變成測試的種類去了???
4.寫測試用例。假設x的取值有1、2、3,Y的取值有a、b、c,通常來說要測試所有z=x+y的可能,需要3*3=9個case。那麼假設x和y的取值各有100個,case數量級會很大。要如何去簡化case數量呢?
邊界加等價類劃分?0,負數,小數?無效等價類?
5.對于網易郵箱的登入框,測試的時候要考慮哪些方面呢?(不是真的寫case,是考慮測試方向)
回答了:功能上的,并發時的性能和壓力,安全性(get方式可能會洩露使用者名+密碼),還有浏覽器的相容性問題。
8.寫一個建表的sql語句
create table cs
(
id char(10) NULL,
name char(10) NULL,
score integer NULL,
primary key(id)
);
然後修改已有表的屬性,比如添加新屬性,删除舊屬性的:
alter table cs add newOne integer NULL;
alter table cs drop newOne;
10.說進行項目測試的流程
a.參與需求分析,pm、開發、qa一起讨論,确定産品細節,生成項目文檔;
b.進行開發。qa期間根據項目文檔來寫測試case,和開發人員溝通測試時應重點關注的問題;
c.提測,進行準入測試(冒煙測試)。if (false),打回,傳回b;else,ok,進入d;
d.根據b中的case和重點,進行測試,包括功能的,安全的,相容性的,性能,壓力等等。發現bug,先進行定位,和開發人員進行溝通,記錄。
e.開發人員解決bug,再次提測。bug未解決或衍生出新bug,傳回d;bug解決了,進入f;
f.測試通過,準許上線;
g.上線後進行回歸測試,線上發現問題根據重要優先級記錄下來,後期追加修複。
11.準入測試的衡量标準是什麼
1 測試準入标準 1) 開發人員編碼結束,并已完成自測試; 2) 需求說明書規定的功能或程式員送出的功能說明書的功能均已實作; 3) 基本流程可以走通,界面上功能均已實作,符合設計文檔規定的功能; 4) 開發人員向測試部送出《測試申請單》和配置檔案。
14.列舉一些常用的linux指令
mv cp rm vim等等
15.怎麼cp一個目錄?mv有哪兩種作用?
cp -r ...... 移動檔案,重命名。
3.寫大浮點數相加的函數
char * add (char * d1, char * d2)
4.寫一個函數,滿足以下功能。給定一個2的倍數的整數n(不用考慮n是否錯誤了,假定n一定正常),比如n=8,那麼對于數列1 2 3 4 5 6 7 8,函數調整一次後變為 1 5 2 6 3 7 4 8. 先寫一次調整的,然後如果是k次調整呢?
5.使用grep指令。找出a.txt檔案中每一行第一個字為數字的内容。
[]
比對一個指定範圍内的字元,如’[Gg]rep’比對Grep和grep。
grep ^[1-9] a.txts
找出已u開頭的行内容
[[email protected] test]# cat test.txt |grep ^u
ubuntu
ubuntu linux
輸出非u開頭的行内容
[[email protected] test]# cat test.txt |grep ^[^u]
hnlinux
peida.cnblogs.com
redhat
Redhat
linuxmint
[[email protected] test]#
輸出以hat結尾的行内容
[[email protected] test]# cat test.txt |grep hat$
redhat
Redhat
[[email protected] test]#
6.顯示檔案最後100行
tail -100 fileName
7.檢視本機的負載、性能等
9.做測試的話,是怎麼個計劃?鑽研一個細方向?
測試的一個好處是可以了解整個系統的架構,子產品互動,而不是局限于一個小子產品的功能。在這個基礎上,選擇例如性能測試、壓力測試作為主要專注領域吧。
1、兩根不均勻分布的木棍,每根點完的時間都是一個小時,請問您如何确定一個45分鐘的時間。
一根:兩頭同時燒
二根:和他一起燒,燒完後30分鐘,一根剩一半,再兩頭同時燒,結束45分鐘
2、TCP\IP五層結構,TCP、IP分别在哪層
傳輸層。網絡層
3、HTTP中請求GET、POST的差別
4、軟體測試的目的
5、對測試計劃的了解,測試計劃應包括哪些内容
6、缺陷跟蹤系統是否了解,說明其中的bug流程
7、若早上上班發現上不了網了,如何定位解決