2018秋招面試--自動化測試
一. 攜程ctrip --automation testing
1.實習專案介紹
ruby 如何定義變數,變數相加結果
cucumber 是什麼用來幹啥
watir 是什麼用來幹啥,watir 全稱
用watir 實現兩個有互聯關係的下拉選單遍歷
陣列長度如何計算
3.https,http 區別,協議
get/post 區別,tcp/ip協議
4.設計測試用例的方法
等價類劃分,因果圖,邊界值,錯誤推測
攜程訂酒店,具體案例設計測試用例
5.研究生方向
6.為什麼離職,可以轉正嗎
考慮BAT嗎
未來的職業規劃(近期,長期),選擇的職位(自動化測試 or 測試開發)以及原因
二.易安信EMC-測試
1.一面:自我介紹英文,實習專案介紹(ruby,watir,cucumber 每個的角色是什麼),具體如何設計測試用例;http API測試相關
C++三大特性並解釋;手寫程式碼:單例模式,矩陣環形賦值。
2.二面:英文文章英文單詞統計出現次數(大小寫,同一個單詞的不同時態,資料結構hash-map)
手寫程式碼:雙向連結串列倒置,深度優先遍歷,廣度優先遍歷
3.三面:測試用例的設計,如何保證測試用例覆蓋率,功能測試與迴歸測試的區別
如何測試一個儲存系統,如何判斷一條記錄是被刪除了還是不存在
為什麼選擇做測試
三.上交所技術技術公司--測試開發
筆試題目:測試概念相關選擇題,資料庫,正則表示式(郵箱),氣泡排序,關於測試的三道問答題
1.實習經歷介紹、研究生階段專案介紹
2.測試完整流程
3.統計上海加油站的數量
4.專案開發經驗,為什麼選擇測試;程式語言,C++三大特性詳細介紹,JS掌握程度
5.職業規劃
6.興趣愛好
7.轉正難度大,要求高,部門會爭取
四. 網易郵箱--測試
一面
1.自我介紹,實習專案介紹
實習專案遇到最大的困難是什麼,如何解決的, 測試用例哪些可以做自動化哪些不可以(舉例子)
watir+ruby+cucumber 現在已經不再維護了?為什麼用watir不用selenium,這個框架的優缺點是什麼
API測試,web端測試的區別?為什麼第二個專案選擇API測試,而不選擇web端測試
2.設計測試用例:登陸、註冊
3.為什麼選擇做測試
二面
1.自我介紹,實習專案介紹
實習專案遇到最大的困難是什麼,如何解決的
實習專案組全稱是啥
2.簡歷上相關問題
資料庫查詢語句
研究生專案介紹
3.設計測試用例:登陸郵箱
4.為什麼選擇做測試,會Linux嗎,選擇前端測試,還是伺服器端的測試
舉一個例子,說明自己的主動性,學習能力強嗎
5.傾向於哪個事業部,郵箱、嚴選、有錢
6.TCP,UDP 區別
三面HR
1.最近一年最有成就感的事情
2.遇到最困難的事情,如何解決的
3.家鄉北方,為什麼選擇杭州
4.還投遞了哪些公司,什麼狀態
5.與別人有意見不同,如何解決
五.商湯科技--測試
電話面試
1.介紹自己
2.實習專案介紹
網頁端測試,具體測試用例的實現,ruby實現程式碼,對測試框架的思考?有哪裡可以改進的
API介面測試,對Jenkins 的理解,如何部署?
設計測試用例:輸入身份證圖片,輸出身份資訊
3.測試的型別,一個測試用例需要包含哪些資訊(*預期輸出),如何設計好的測試用例(別人能看懂並使用)
4.你認為一個優秀的軟體測試人員需要具備哪些素質
5.Bug管理工具(Rally),bug需要包含哪些資訊
6.目前公司的測試型別:介面測試,底層SDK(產品),終端的測試(手機、ios、網頁端)
7.職業規劃
視訊面試
一面:
1.自我介紹,影象處理介紹
2.資料庫:insert,查詢表屬性
3.設計測試用例:兩臺主機通過命令傳檔案
4.C++: 抽象介紹;建構函式,解構函式什麼時候呼叫、作用、是否可以過載
5.ruby jason 格式的檔案,提取字串
6.http協議,tcp協議;如何驗證出錯進行差錯重傳;http get 報文裡有什麼
7.linux.shell
8.認為自己的優勢
二面:
1.寫程式碼:輸入多個字串,判斷是否是字母序或者長度遞增
2.測試流程,測試方法,測試分類
3.網頁端 輸入年齡0-99,如何設計測試用例
4.http協議,get,post區別
5.黑盒測試方法,白盒測試方法有哪些
6.如何認定一個問題是bug
三面:
1.自我介紹
2.研究生階段,研究方向,小論文創新點
3.實習階段,專案介紹,團隊介紹,主要職責,設計測試樣例的流程,是否看過開發程式碼
4.Linux,前端程式設計熟不熟
5.手寫程式碼:輸入n個點,求兩點間最大距離,時間複雜度,若有海量資料如何優化
六.滴滴--測試開發
電話面試
1.自我介紹:實習專案介紹,框架具體介紹;研究方向,專案介紹
2.百度搜索設計測試用例:搜尋長度,SQL注入相關問題;
3.熟悉哪種語言;為什麼選擇杭州
4.資料庫相關:左連線,右連線,全連線,舉例子
5.實現函式程式碼:字串反轉,單例模式(C++相關)
6.智力題:50紅球,50藍球,兩個袋子(容量充足),隨機從袋子裡取出一個球,如何存放使得取出紅球的概率最大。
現場面試 一面
1.自我介紹
2.實習專案介紹:jenkins底層,github原理
3.領導給你一個新任務,一個月完成,如何規劃
4.抗壓能力,舉個例子
現場二面
1.工作地點選擇,實習專案介紹
2.linux熟不熟,作業系統邏輯地址與實體地址的轉換,
3.C,C++,記憶體空間
4.指標陣列,陣列指標的區別
5.寫程式碼,alarm(msg),從檔案中讀取資料,eg:300:15表示300s內只接受15次呼叫
視訊三面:
1.自我介紹
2.實習專案介紹,遇到的難點,如何學習一門新的語言
3.實驗室專案介紹,用途,創新點
4.c++記憶體分配,new,malloc區別與用法;資料庫、linux、多執行緒
七.銀聯--軟體測試
1.按照簽到順序群面
無領導小組討論:讀材料三分鐘,自我介紹+陳述每人一分鐘,小組討論20分鐘,總結陳述三分鐘
2.技術面聊專案、實習
八.京東面試-測試開發
1.自我介紹
2.實習經歷專案介紹,專案框架、找到了哪些bug
九.百度--開發測試
現場一面
現場二面
1.偏重計算機基礎,死鎖產生原因及解決方案、程序通訊的方式、ARP/RARP區別、memcpy和strcpy區別、指標和引用的區別
2.程式設計;判斷一個二叉樹是否是平衡二叉樹,兩個字串輸出子串第一次出現的位置,如何判斷兩個單鏈表有交集
3.聊專案,注重專案管理,團隊管理
4.會linux,python嗎
十.思科--測試
共現場三面
1.英文自我介紹,英文翻譯一段話;實習專案介紹;
2.網路基礎知識,路由器、集線器、交換機,ping出錯如何檢查,
源MAC地址、目的MAC地址、源IP地址、目的IP地址,發一個包這些地址如何變化
3.寫程式碼,資料結構
十一. 騰訊春招實習面試
一面掛
1. 針對簡歷
(1) C++基礎,記憶體分配 三大特性並解釋
(2) 資料庫專案,資料庫實現原理,樹,紅黑樹
(3) 遊戲部門 問玩遊戲經歷
2. 手寫程式碼
求中數,用到 hashmap
3. 問題交流
軟體測試職位工作內容,分為兩個方向:面向技術,面向業務
十二. 360春招-軟體開發
一面掛
1. 手寫程式碼:反轉單向連結串列,strcpy
十三. 百度--測試春招實習
三面技術
1. 程式碼:青蛙跳臺階,海量資料,單向連結串列倒數第k個節點,快速排序,兩個有序陣列求中位數
2. 如何測試一段程式碼
3. C++基礎
4. 如何測試自動售貨機
5. 實習經歷,專案經歷
面試答案整理:
1.watir: 全稱Web Application Testing in Ruby, 使用ruby作為指令碼語言進行開發,能夠在IE瀏覽器上實現元素定位、操作等自動化任務。watir webdriver 支援多瀏覽器,watir只支援IE。
2.cucumber:一款卓越BDD工具,BDD即behavior-driven developmant 行為驅動開發.(拓展TDD:測試驅動開發)團隊中業務人員和開發人員合作編寫自動化測試—驗收測試。
cucumber 是一個命令列工具。執行時從features 檔案中讀取,解析需要測試的場景(通過tag標籤組織分類)。每個測試用例成為場景,每個場景包括多個步驟。步驟 定義即每個步驟中的ruby程式碼。依次執行場景中每一個步驟,列印執行結果。
參考
Cucumber入門之Gherkin:
http://blog.sina.com.cn/s/blog_6b59aaa701017s6l.html
3.郵箱的正則表示式:參考http://blog.csdn.net/make164492212/article/details/51656638
4.功能測試:關注產品功能,又稱為黑盒測試,方法有等價類劃分、邊界值分析、錯誤推測、因果圖和 綜合策略
效能測試:關注產品整體的多使用者併發下的穩定性和健壯性,方法有負載測試、壓力測試、強度測試
介面測試:關注使用者體驗
5.根據測試階段劃分:
單元測試:白盒測試主要應用在單元測試階段,主要是對程式碼級的測試,針對程式內部邏輯結構,測 試手段有:語句覆蓋、 判定覆蓋、
條件覆蓋、路徑覆蓋、條件組合覆蓋
整合測試: 界於單元測試和系統測試之間,起到“橋樑作用”,一般由開發小組採用白盒加黑盒的方 式來測試,既驗證“設計”,又驗證“需求”。
主要用來測試模組與模組之間的介面,同時還要測試一些主要業務功能。
系統測試: 一般由獨立測試小組採用黑盒方式來測試,主要測試系統是否符合“需求規格說明書”。
經過以上各階段測試確認之後,把系統完整地模擬客戶環境來進行的測試
驗收測試: 與系統測試相似,主要區別是測試人員不同,驗收測試由使用者執行。
附錄:單元測試用用於驗證編碼單元的正確性
整合測試用於驗證詳細設計
系統測試用於驗證概要設計
驗收測試用於驗證正確實現了需求
6.計算機網路層次:http://blog.csdn.net/gavin_john/article/details/53186570
7.介面測試總結:參考http://blog.csdn.net/jiary5201314/article/details/51429347
介面測試可以關注於伺服器邏輯驗證,而UI測試可以關注於頁面展示邏輯及介面前端與伺服器整合驗證
介面測試是測試系統元件間介面的一種測試。介面測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的互動點。測試的重點是要檢查資料的交換,傳遞和控制管 理過程,以及系統間的相互邏輯依賴關係等。
8.bug--UI_QA testing problem:
(1).In discussion,comment section:comment total
is correct, but we can not see comment text which we committed previously
Namely when we update page,we can not see any comment text.
(2).comment section:when we click comment sort button,comment text disappeared.
(3).can not login Jabber Account: Internal Server Error. Unable to connect to Jabber Server
(4).H5player: video can not play, error message:File not found.The requested file could not be found.
(5).In profile detail page: linkedIn Sync button have no response
(6).Reporting: can not be loaded
(7).Reporting:when we turn to reporting detail page,the page header don't turn to reporting,remain header at last time
9.bug--postman
(1)在註冊時間兩年內可以登入,兩年之後不能登入->bug:未限制登入時間,在startDate 與endDate之間
10.socket套接字建立過程:
(1)參考連結http://blog.csdn.net/liuzehn/article/details/50563123?locationNum=10
套接字之間的連線過程可以分為三個步驟:伺服器監聽,客戶端請求,連線確認。
接下來介紹每個步驟的詳細過程:
1.伺服器監聽:是伺服器端套接字並不指定具體的客戶端套接字,而是一直處於等待連線的狀態,實時監控網路狀態。2.客戶端請求:是指由客戶端的套接字提出連線請求,要連線的目標是伺服器端的套接字。為此,客戶端的套接字必須首先描述它要連線的伺服器的套接字,指出伺服器端套接字的地址和埠號,然後就向伺服器端套接字提出連線請求。
3.連線確認:是指當伺服器端套接字監聽到或者接收到客戶端套接字的連線請求,它就響應該請求,建立一個新的執行緒,把伺服器端套接字的描述發給客戶端,一旦客戶端確認此描述,連線就建立好了。注意:此時,伺服器端套接字繼續處於監聽狀態,繼續接收其他客戶端套接字的連線請求。
(2)程式編寫步驟:http://blog.csdn.net/zhubo22/article/details/8045537
伺服器端程式的編寫步驟:
第一步:呼叫socket()函式建立一個用於通訊的套接字。
第二步:給已經建立的套接字繫結一個埠號,這一般通過設定網路套介面地址和呼叫bind()函式來實現。
第三步:呼叫listen()函式使套接字成為一個監聽套接字。
第四步:呼叫accept()函式來接受客戶端的連線,這是就可以和客戶端通訊了。
第五步:處理客戶端的連線請求。
第六步:終止連線。
客戶端程式編寫步驟:、
第一步:呼叫socket()函式建立一個用於通訊的套接字。
第二步:通過設定套接字地址結構,說明客戶端與之通訊的伺服器的IP地址和埠號。
第三步:呼叫connect()函式來建立與伺服器的連線。
第四步:呼叫讀寫函式傳送或者接收資料。
第五步:終止連線。
11.位元組對齊:
字對齊:
1、某個變數存放的起始位置相對於結構的起始位置的偏移量是該變數位元組數的整數倍;
2、結構所佔用的總位元組數是結構種位元組數最長的變數的位元組數的整數倍。
12.網路
不涉及網路地址轉換之類的話,源IP和目的IP不能變,變了就不知道去哪了,也沒法知道返回給誰。
至於MAC地址是變的,但是還要看下一跳的資料鏈路層協議是什麼,是否用MAC地址,若是Ethernet這種用MAC的,那麼源MAC改成路由自己的,目的MAC改成下一跳的。
13. 資料庫語句
(1) insert into tab_name values();
(2) delete from tab_name where age<22 and sex='male'
delete tab_name
(3) select avg(age) from tab_name group by sex 按性別分組查詢所有分組的平均年齡
select top 25 percent * from tab_name 查詢所有資訊,列出前百分之25
select name,sex from tab_name order by age desc 查詢出所有學生的姓名性別,按年齡降序(asc 增序)
14. 測試天天P圖
參考連結:http://blog.csdn.net/tencent_bugly/article/details/51463705(1)自拍相機裝置相容性crash風險
(2)美化照片功能,演算法庫-》演算法類crash
(3)影象處理類軟體,記憶體使用效率問題以及釋放時機是否高效
15. 測試崗位的HR面試的幾個問題是:
參考連結 http://blog.csdn.net/gettogetto/article/details/59093534
- 1.你為什麼選擇測試崗位?
主要是想聽聽你對於測試崗位的認識和自己的看法.回答的時候可以重點講講測試的意義,對於質量保證的作用等等.
2. 你認為優秀的測試工程師應該具備哪些條件?
耐心,分析解決問題的能力,溝通交流的能力,梳理總結的能力等等
3. 你認為測試和開發的關係是什麼樣的?
測試和開發不是對立的,是相輔相成的,互相促進的關係.測試和開發的最終目標是一樣的,都是為了給使用者提供優質的產品和服務
4. 對自己今後的職業規劃?
。。。。自由發揮吧! ^_^
3.// 找到元素
Select select = new Select(driver.findElement(By.id("proAddItem_kind")));
// 選擇對應的選擇項, index 從0開始的
select.selectByIndex(2);
select.selectByValue("18");
select.selectByVisibleText("種類AA");
// 獲取所有的選項
List<WebElement> options = select.getOptions();
for (WebElement webElement : options) {
System.out.println(webElement.getText());
}