近兩周我的面試非常多,大概一天乙個。我是二面面試官,一面是技術面,有一定的難度。按道理來說二面的通過率應該比較高才對,不過最近的二面通過率可能不到50%,一面的通過率一般比較穩定保持在30%以下,所以兩面全過的概率大概只有15%左右,可能更低。
那麼二面的通過率為什麼那麼低呢?我想舉幾個例子就可以說明了。
二面我一般都會問一道用例設計題,大概是給你一袋鹽,或者給你一件衣服,寫出一些測試用例。
我的心理預期是15個可執行的用例。
有的候選人是這麼回答的。
假如是一袋鹽,那麼要看看裝鹽的袋子是不是會漏?
這時候我一般會反問,那應該是要漏還是不要漏?很多候選人這時候會愣住,可能完全意識不到我為什麼會這麼問。
我這麼問是因為我有個怪癖,那就是我希望測試用例都是可以執行的。可以執行的意思是,你要告訴我你究竟是希望袋子漏還是不漏。如果你希望袋子是不漏的,那麼袋子漏的時候測試用例就是不通過的,反之也成立。如果你告訴我看看袋子漏不漏,那麼因為我是很笨的,我不知道如何去執行這個用例,因為我不知道袋子究竟是需要漏呢還是不能漏。
與之類似的,在測試衣服的時候,有的候選人會回答要看衣服的尺碼是不是合適。那麼我會反問,對於l號,衣服多長是合適,多長又是不合適呢?這是因為合適不合適是沒有執行標準的,對於乙個身高不高的人——比如1公尺49家窮人醜的我——來說,l號是不合適的,太長了。而對於身材勻稱的其他人來說,l應該是合適的。所以合不合適沒法量化,加上又有模稜兩可的是不是這樣的詞語推波助瀾,這種用例執行起來是相當困難的。
所以寫用例,要想可執行,首先的第一條原則是,不要包含一些似是而非的詞語,比如是不是,要不要,有沒有之類的。換句話說,就是用例裡大概率要麼包含是,要麼包含不是這樣的詞。
比如裝鹽的袋子不能(不是)漏
衣服的顏色是紅的
衣服的材料是80%的棉,20%的滌綸
像這樣的是或者不是的句型,我們可以稱之為斷言。
上面是最基本的用例設計,主要考察的是思維的全面程度,以及設計用例的最基本要求——可以執行,沒有歧義。另外我還喜歡根據候選人的經歷去問一些稍微有技術深度的問題。
如果候選人有效能測試的經驗,那麼我會問他關於他被測系統的系統架構問題,架構圖起碼大致要能畫出來。這是因為如果不了解系統的架構,那麼測試環境搭建,測試策略的選擇都會難以下手,測試的結果也比較難有可信度。
如果候選人的簡歷上寫有精通/熟悉mysql調優,那麼我就會問為什麼mysql用主鍵去查詢會很快?mysql的主鍵和資料都是怎麼儲存的?能不能畫一下mysql的b+樹的大體結構?什麼是聯合索引?給你幾個真實的例子,你能告訴我索引命中的情況不?這些問題其實做過mysql效能調優的同學應該大體都會,沒做過的話可能就是強人鎖男了。
看上去是不是很難?????????????
其實不然。基本上我不是很關注候選人技術深度題有沒有答出來,如果是二面的話。大部分情況下,候選人無法通過面試的原因大抵都是用例設計能力不過關。要麼設計的不夠全面,要麼就是基本沒有可執行性。
技術不好的話其實是可以教的,用例設計的不好那麼入職以後可能還沒等到好好教就出線上問題了。
寫好每一條用例,大概應該是很多測試同學厚積薄發的第一步吧。
這樣的面試你能通過嗎
近兩周我的面試非常多,大概一天乙個。我是二面面試官,一面是技術面,有一定的難度。按道理來說二面的通過率應該比較高才對,不過最近的二面通過率可能不到50 一面的通過率一般比較穩定保持在30 以下,所以兩面全過的概率大概只有15 左右,可能更低。那麼二面的通過率為什麼那麼低呢?我想舉幾個例子就可以說明了...
這樣能實現嗎?
如上圖 交換機0 上配有vlan2,vlan 3 交換機1 上只有乙個 vlan4 pc0pc1 連線交換機0上的 f0 1 f0 2 屬於vlan2 pc2pc3 連線交換機0上的 f0 3 f0 4 屬於vlan3 pc4 pc5 pc 6 pc 7 連線交換機1上的 f0 1 f0 2f0 3...
這樣的面試題,你會嗎?
1 有300層高樓與2個玻璃杯,玻璃杯從x層掉落摔到地面剛好摔碎 x層以下是摔不碎的 請問至少需要多少次摔杯子試驗就一定能夠找到x層是第幾層?2 5000個數中找出3個數,使它們和的絕對值最小,求演算法與時間複雜度。3 在2 n的乙個長方形方格中 高 2,寬 n 用乙個1 2的骨牌鋪滿方格 高 1,...