一根老油條的面試記錄

本文選自《大話軟件測試》一書


算一算工作快小5年了,對一個技術來說,5年是一個坎兒,是一個你已經該從職場小白轉向資深人士的一道坎。但是我說實話,我感覺我並沒有達到那樣的高度,說技術沒有那麼高的高度,說能力可能有,但是個人還是感覺滿滿的不自信。可能大家也有跟我同樣的困惑,是在一個公司慢慢養老,成爲一根老油條還是去適應一下新的環境,哪怕這個環境不如這個順心。還有很多人像我一樣,有一顆不安分的心,但是卻是思想的巨人,行動的矮子,想動卻感覺自己好像什麼都不會,然後又在猶豫和迷茫中繼續安分下去。其實我覺得這樣是有弊端的,你會慢慢發現周圍的好多人都在進步,都在不停的往大的公司邁進,而自己卻停滯不前,與其這樣,不如準備一下,開始慢慢讓自己面試起來,慢慢的找到一些自信,我很贊同一種說法,不管你換不換工作,一定要時時保證自己信息的更新,一定要隔一段時間去面試一下,看看別的公司的一些新鮮的工作方式,還可以讓自己時刻擁有隨時可以換工作的戰鬥力。

小強點評:很多朋友問到多久換一次工作比較好,根據調查顯示一般23年比較好,過於頻繁會讓人覺得你不踏實,而時間太久又會產生這位學員描述的現象。就如本章開頭所說,跳槽面試既是一種提高薪水的途徑,也是一種檢驗自己能力的方法,如果自己能力不達標自然也不會拿到滿意的薪水。幹了IT這一行業就要明白學習也許成爲了我們生命中的永恆。


我呢,也是很久沒有面試過了,突然心血來潮想年前試一把,看看自己是什麼水平,就投了兩份簡歷,其中一個是朋友內推的,一個是自己投的,但是面試下來,效果都不理想,我總結了下面試的一些問題,供大家參考。

1、首先進行自我介紹,人的第一印象很重要,自我介紹更是重中之重,這裏可以簡單介紹一下你在上一家公司所負責的項目的內容、你自己的工作職責、或者有沒有什麼突出的業績等。

小強點評:曾經聽我一位學員說,他面試別人的時候讓面試的人做下自我介紹,結果被面試的人說了一句:簡歷上都有。我聽到之後也表示一臉懵逼!自我介紹是非常重要一環,好的介紹可以讓面試官快速瞭解你甚至對你有好感。介紹要揚長避短,突出自己貢獻或者引入的新技術,而不是大家都會說的寫計劃、寫用例、寫報告。


2、你們是如何進行接口測試的?

我:這個問題一問出來,很多人會想就是用Jmeter 或者Postman 發個請求就好了呀,其實我也是這麼想的。可以從接口測試的目的,你設計或者了哪些接口等等,如果公司裏面開展了接口自動化,可以介紹一下接口自動化的大體框架是什麼樣的,你們是如何進行驗證的。

小強點評:回答任何問題不要表現出簡單,不要一兩句就說完,要從總體流程和具體某些點上來表述。比如這個問題你就可以先回答你們接口測試的流程是怎麼做的,然後再具體說下你在做接口測試的時候遇到的問題,這樣既有“概要”的內容,也有“具體”的內容,會讓面試官覺得你的回答豐富“豐滿”。


3、你們是如何收集用戶反饋的?

我:我們公司會用用戶反饋系統,平時用戶出現的一些問題會打電話給客服進行反饋,客服會在用戶反饋系統上標記用戶的問題,問題會推送到釘釘羣裏面,由技術或者值班人員來進行解答和處理

面試官:那你們這個問題是用戶反饋了才能解決,如果出現了用戶沒有反饋你們就不太清楚了,我們這邊是在APP做埋點的,埋點之後會通過埋點日誌來查看線上問題。線上的APP會留有入口,入口供用戶提出問題反饋,並且我們會對用戶問題進行收集整理,並且對問題進行分類整理,關注是用戶體驗類的問題多還是功能Bug多,Bug進行小版本迭代修復,用戶體驗的問題會留到下個版本進行迭代。安卓和IOS接入了友盟,可以查看和關注APP的崩潰記錄等。

小強點評:學員的回答不能說不對,但不夠全面。一般的用戶反饋收集方式就是上面說的兩種,分別是用戶主動反饋和我們的主動收集。


4、你們是如何保證產品質量的?

我:我們測試先足夠的瞭解需求,需求瞭解之後開始寫測試用例,然後等開發提測了之後我們開始進行功能測試,提出的Bug做到日清,之後等Bug都修復好我們開始做迴歸測試,測試之後就上線。

反思:其實這個問題就是問公司的整體的一個測試流程或者一個業務從開始到完成的一個完整的流程,而我的回答只是針對了測試的個人角色來進行回答的。其實可以這麼回答:

首先進行需求評審,在需求評審階段測試和研發人員會對產品提出的需求的價值和可實現程度進行衡量,不合理的需求要及時卡掉,如果多數的需求是老闆提出來的,我們沒有卡掉的權利,那我們會在業務上線之後進行數據收集,看這個需求實現的價值供二期需求參考。

其次,RD進行技術評審,評審出來這個產品的實現方案和技術手段,然後進行編碼,編碼後進行必要的單元測試,單元測試覆蓋率要達到一定的百分比。

再次,測試進行測試用例編寫,測試用例評審,用例評審後並提供一些冒煙測試用例給開發人員,供開發人員在代碼集成的完之後進行冒煙測試,只有冒煙測試通過之後才能提測給測試人員。

然後,開發人員開始集成代碼,解代碼衝突,最後將代碼打成一個包供測試人員測試,測試進行測。

接着,代碼測試完成後我們會進行整體的迴歸測試,迴歸測試完成開始準備服務端的上線,上線後將APP進行小範圍的灰度(灰度可以是內部的或者外部的),灰度之後收集問題反饋,最後進行整體發版,發版後收集用戶的問題反饋並進行下一個版本的迭代或者發小版本進行修復。

小強點評:首先值得肯定的是反思內容很好,但這樣的回答還是不夠全面。保證產品質量並不是測試一個部門就可以完成的,而是需要全員的整體配合,所以在回答這類問題的時候要有一定的高度。比如:可以從產品設計規範、開發規範、測試規範、運維規範等方面進行,這裏就有流程上的規範也要有技術上的描述。   


5、你想提升哪方面技能或者你人生規劃或者你比較感興趣的地方?

我:我想提升技術,多多提升自己的能力。

反思:其實面試官想聽的是你行提升哪一方面的技能,而不是籠統的我想要提升自己的技術方面,技術方面很大,性能、自動化、接口、APP專項?這裏就需要在回答的時候自己有一個清晰的目標,比如你想提高自己的代碼能力,你想提高到什麼程度?你通過什麼樣的努力能夠使你的目標能夠達成,比如你想提升自己的性能測試能力,性能測試的哪一個方面,是接口腳本的實現能力,還是發現問題的能力,還是性能調優方面?其實只要自己內心裏面有一個清晰可達的目標即可,很多人可能會想,非要分的這麼細嗎?我哪一方面都想提升啊,性能自動化我都想接觸,兩手抓啊,這樣可能使面試官覺得你的目標不夠清晰,沒有一個確定的目標。

小強點評:學員反思非常好。這個問題其實是大部分面試者存在的問題,這裏也希望大家能認真想想。


6、你覺得H5、客戶端APP和接口測試有什麼不同?

我:沒什麼不一樣啊,都是實現同一個功能。

反思:H5可能關注的頁面渲染、承載在不同容器裏顯示的不同的效果,比如:我一個H5頁面在電腦瀏覽器是正常的,但是放在IOS設備中就出現了UI問題等。APP可能更關注APP本身的性能,比如耗電量、cpu等等,包括閃退和崩潰、覆蓋安裝、升級安裝等等。


7、你來介紹一下Appium吧。

我:其實這個問題是考察你掌握一款工具,要懂工具的實現原理。這個問題我很想吐槽一下我自己,明明會但是又說不清楚,有些重要的專業詞語又支支吾吾,其實不管掌握哪一款工具,最重要的是知道這款工具的工作原理。

小強點評:我們把這個問題擴展來說,很多朋友明明會某個概念或技術,但就是表述不清楚。我一直建議大家對於概念、技術還是其他都要轉化爲生活化的例子,這樣就能幫助我們理解記憶,又可以很好的解釋給別人。比如:在移動APP內存測試一章中生活化的解釋就是一個非常好的例子。


8、你們如何做兼容性測試的?

我:首先,兼容性測試一種是手工去測試,通過友盟進行手機型號的手機、查看哪個版本手機型號比較多,然後着重測試使用不同安卓或者IOS系統版本、使用不同的屏幕尺寸的手機進行測試。這裏還需要了解一下現在最新的安卓和IOS手機版本更新到什麼程度

其次,發版之前的小範圍灰度,可以在發版前在員工內部和外部進行小範圍的試用,大家手機型號不同,可以反饋出不同的適配問題。

再次,可以通過接入第三方平臺來進測試,比如Testin等。


9、如果APP端出現崩潰了怎麼辦?

我:手機崩潰比較常見的是使用友盟、百度等第三方分析工具。安卓可以通過adb logcat 來查看日誌,並且將日誌反饋給開發。

IOS可以通過自己實現應用內崩潰收集,並上傳服務器,也可以通過iTunes獲取崩潰日誌


10、如果讓你測試短信驗證碼這個功能,你準備怎麼測試?

我:驗證碼數據是否記錄成功、驗證碼是否是合法的、驗證碼的有效期、驗證碼是否發送到用戶手機裏、驗證碼輸入等。也可以驗證一下這個接口的性能。

小強點評:其實這個問題大家在回答的時候可以想想“一個水杯、電梯如何進行測試”這樣的問題,我們可以從功能、非功能等方面進行回答。而這裏學員就限制於功能方面進行回答了。


綜上,測試無非面試的有幾大模塊:自我介紹、項目介紹、數據庫、LinuxJava基礎或算法、測試流程、工具、軟件測試方法等,不管面試的結果和過程如何,一定要保持良好的心態,面試過程中難免受到個種打擊,但是沒關係,一呢是善於積累總結不足、二來呢面試有時候也是看緣分的,一定要相信自己能夠進入理想的公司。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章