天天看點

富途網絡科技測試筆試題

 75分鐘,不許切屏。爛網絡,斷了幾次重連卡了自動交卷了。。。

這個崗位要求還是挺高的啊,還考單元測試,單元測試這種一般還是開發做的吧?我覺得很多公司都不會叫一個測試去做單元測試,怪。。。

自己再慢慢做一遍吧。。。

分為選擇題+程式設計題2部分。滿分100分

選擇題12題。(共60分)

 1、黑盒測試流程正确的順序是(A)? (5.0分)

   A 、 需求評審->用例設計->用例評審->送代測試->回歸測試->內建測試->回歸測試->上線測試

  B 、 需求評審->疊代測試->編寫測試用例->用例評審內建測試->回歸測試->上線測試

  C  、需求評審->編寫測試用例->疊代測試->用例評審->內建測試->回歸測試->上線測試

  D 、 編寫測試用例->需求評審->疊代測試->用例評審->內建測試->回歸測試->上線測試

 2、下列哪種方法設計出的測試用例發現程式錯誤的能力最強(A)? (5.0分)

  A 、邊界值分析法             B 、決策表法                  C 、等價類劃分法                      D、場景法

3、單元測試架構如Junit4中@BeforeClass,@Before,@AfterClass,@After,@Test所标的方法,執行順序正确的是?(D)(5.0分)

A、@BeforeClass,@Before,@AfterClass,@After是必須寫的

B、@Before和@AfterClass在測試執行中,隻會執行一次

C、@Test的測試程式,必須以test開關

D、@BeforeClass和@AfterClass在測試過程中,隻會執行一次

解析:Unit4使用Java5中的注解(annotation),以下是JUnit4常用的幾個annotation: 

@Before:初始化方法   對于每一個測試方法都要執行一次(注意與BeforeClass差別,後者是對于所有方法執行一次)

@After:釋放資源  對于每一個測試方法都要執行一次(注意與AfterClass差別,後者是對于所有方法執行一次)

@Test:測試方法,在這裡可以測試期望異常和逾時時間 

@Test(expected=ArithmeticException.class)檢查被測方法是否抛出ArithmeticException異常 

@Ignore:忽略的測試方法 

@BeforeClass:針對所有測試,隻執行一次,且必須為static void 

@AfterClass:針對所有測試,隻執行一次,且必須為static void 

一個JUnit4的單元測試用例執行順序為:

@BeforeClass -> @Before -> @Test -> @After -> @AfterClass

每一個測試方法的調用順序為:

@Before -> @Test -> @After

4、對于一個含有n個變量的程式,采用基本邊界值分析法測試程式會産生(A)個測試用例。

A、6n+1          B、7n            C、4n+1           D、5n

5、TCP三向交握過程描述正确的是?(D)

Client SYN=1,seq=0

Server SYN=1,ACK=1,seq=0,ack=(x=0+1)

Client ACK=1,seq=1,ack=(y=0+1)

A、2,1           B、2,2         C、1,2          D、1,1

解析:tcp三次握手過程:ACK是确認标志位

1、首先由Client送出請求連接配接即SYN=1,明自己的序号是seq=x :

2、然後Server 進行回複确認,即SYN=1,聲明自己的号是seq=y,并設定為ack=x+1

3、最後Client 再進行 一 次确認,seq=x+1,ack=y+1.

seq例号範圍::2^32 -1到最大值,再從0開始

seq例号作用:依據這個例号來組資料進行資料包的順序

6、一堆資料進行入棧出棧操作,入棧順序為{a,b,c,d,e,f,g},可能的出棧順序為(C)

A、{e,f,d,g,b,c,a}           B、{c,d,e,f,a,g,b}        C、{d,e,c,f,b,g,a}       D、{f,e,g,d,b,a,c}

解析:注意出棧操作可以和入棧操作間隔進行,棧為“先進後出”。

7、程式的完整編譯過程分為是:預處理,編譯,彙編等,如下關于編譯階段的編譯優化的說法不正确的是(D)

A、For循環的循環過程控制變量通常很适合排程到寄存器通路

B、強度削弱是指執行時間較短的指令等價的替代執行時間較長的指令        

C、函數内聯可以避免函數調用中壓棧和退棧的開始

D、死代碼删除指的是編譯過程直接抛棄掉被注釋的代碼

8、32位Windows系統中,short(signed short int)類型的取值範圍是?(D)(5.0分)

A、-32767~-32768           B、 0~65535       C、 0~65536       D、-32768~-32767

9、根據以下提供的數列尋找規律,選擇正确答案:10,22,-6,14,_B___。

A、26           B、-10        C、  4      D、-14

解析:10+22=32=2^5,22+(-6)=16=2^4,(-6)+14=8=2^3,14+X=2^2,X = 10

10、一次投擲兩個骰子,請問投擲之後兩個骰子數值之和為9的機率是多少?(D)(5.0分)

A、   3/36        B、 5/36       C、 6/36      D、4/36

11、有4個人,分别是ABCD,每個人都頭上都帶了個帽子,帽子隻有黑色或白色,4個人中分别有兩個人帶黑色,有兩個人帶白色,4個人的站位是A|B C D,是一堵牆,B,C,D分别站在平地,一層台階,二層台階上,每個人都看不到自己帶的帽子,一開始大家都不講話,突然有個人說,我知道自己帶的什麼顔色的帽子了,請問是誰(A 或B ??)

A、   C        B、D        C、  A      D、B

12、當 n =5時,下列函數的傳回值是:(A)

int func(int n){
    if(n<=2){  return n;  }
    return func(n-1) + func(n-2);
}
           

A、  8         B、    13    C、5        D、6

二、問答題(共4題,合計40.0分)

1、已知三角形三邊abc,現有個程式能判斷這個三角形的類别(比如等腰三角形),請為這個程式設計測試用例。(10.0分)

a=int(input("Please input the first side:"))    #輸入第一條邊
b=int(input("Please input the second side:"))   #輸入第二條邊
c=int(input("Please input the third side:"))    #輸入第三條邊
if (a+b>c) and (a+c>b) and (b+c>a):               #判斷是否是三角形
    if a==b==c:
        print("This is a equilateral triangle") #等邊三角形
    elif (a==b or a==c or b==c):
        print("This is a isosceles triangle")   #等腰三角形
    elif (a*a+b*b==c*c) or (a*a+c*c==b*b) or (c*c+b*b==a*a):
        print("This is a right triangle")       #直角三角形
    else:
        print("This is a scalene triangle")     #不規則三角形
else :
    print("This isn't a triangle")              #不是三角形
           

2、公司資料庫的在職人員表有name和deptment兩個字段,分别表示員工姓名和所屬部門。請寫出一條SQL語句查出每個部門的人數。(10.0分)

select name,count(*) from 在職人員表 group by deptment
           

3、設計用例測試下面的Python程式

def Do(a,b,x):
    if(a>1) and (b==0):
        x=x/a
    if (a==2) or (x>1):
        x = x+2
    return x
           

(10.0分)

答:

4、聖誕節到了,公司舉行交換禮物活動,參加的員工每人準備一個禮物。

交換完成後,自己的禮物會随機給到另一個人,自己也能随機獲得一個其他人準備的禮物。不要求A拿了B的禮物.,B就一定要拿A的,隻要自己不拿自己的即可。為公平起見,請你寫一個随機程式來決定禮物何配置設定。

(10.0分)

答案後面再找吧。。。

20191120日更新----------------------------------

現在是晚上八點二十幾分,居然接收到富途的面試電話,說我筆試通過了?!

因卡殼自動交卷,我的大題沒做呢,選擇題可能錯了1道2道這樣子吧,這也能通過?

明天去試試水吧感覺這裡面有東西啊。。。

20191121下午5點半更新-------------------------------

剛從深大地鐵站回來,記錄下面試。一個面試官

1、七層網絡模型,介紹下每一層,TCP在第幾層,TCP、UDP是什麼,有什麼差別?

2、測試流程?

3、什麼是邊界值法和等價類劃分法?兩者差別

4、有500毫升、600毫升的杯子,倒出300毫升水?

5、多表查詢會嗎?左連接配接、又連接配接?自己建表随便寫一個?(麻蛋我寫了内連接配接查詢?面試官說沒用過。。。)

6、python生成100個不重複的4位數随機數。

7、HTTP傳回碼?(我隻答了2345開頭的,其實還有1和6開頭的)

回答的一般。。。唉最後面試官建議我學一下Django。。。。