一面:php
更技術細節一些。問題順序忘了,我就把問題列一列吧,答案稍後補上。java
1.java和c++的不一樣之處,至少三個。python
java不須要本身去管理內存使用,c++在new以後須要本身delete。linux
java單繼承,c++能夠多繼承。c++
java 運行沒有C++快面試
java 和 python 的區別sql
java運行快,python做爲解釋執行,運行慢vim
java 須要{}大括號定義代碼塊,python使用縮進數組
python 調用方法無需new瀏覽器
2.測試用例的設計方式,至少三個。
等價類劃分法,邊界值分析法,錯誤推測法,因果圖法,斷定表驅動法,正交表法,場景圖法
3.測試的方法,至少五個。
功能測試、安全性測試、兼容性測試、性能測試、壓力測試,界面測試,文檔測試,易用性測試,冒煙測試,探索性測試
n的階乘
def fact(j): if j == 0: sum = 1 else: sum = j * fact(j-1) return sum print(fact(3))
4.寫一個函數,實現將輸入的int型逆轉。如輸入123,輸出321。
a = int(input('請輸入')) print('輸入爲',a) print('輸出爲',a[::-1])
input是獲取輸入信息,賦值給變量a。print('輸入爲',a)是出入變量a都值
a[::-1]是倒序輸出a的值。切片[::-1]是將列表或字符倒過來
a = input('請輸入') list = [] for i in a: list.append(i) list.reverse() #調用reverse方法,將列表反轉 ''' join():鏈接字符串數組。將字符串、元組、列表中的元素以指定的字符(分隔符) 鏈接生成一個新的字符串 ''' print (''.join(list)) #用 join()函數將list轉換成字符串
5.寫測試用例。假設x的取值有一、二、3,Y的取值有a、b、c,一般來講要測試全部z=x+y的可能,須要3*3=9個case。那麼假設x和y的取值各有100個,case數量級會很大。要如何去簡化case數量呢?
使用正交表設計用例
6.對於網易郵箱的登陸框,測試的時候要考慮哪些方面呢?(不是真的寫case,是考慮測試方向)
1、界面測試點:
一、界面的設計風格是否與UI的設計風格統一;
二、界面中的文字簡潔易懂;
三、界面中沒有錯別字;
2、用戶名與密碼在輸入時,正確錯誤,輸入特殊或者錯誤字符
3、安全性測試:
一、密碼是否隱蔽顯示;
三、不能直接輸入,就copy,是否數據檢驗出錯;
4、兼容性測試:
1.不一樣瀏覽器測試
2.瀏覽器不一樣版本測試
5、其餘測試點:
一、輸入框之間考慮tab鍵是否支持;
二、登陸按鈕要考慮回車鍵是否支持;
三、取消後的默認位置(通常爲空白的用戶名輸入框);
四、登陸後的跳轉頁面是否正確(通常爲首頁);
五、要考慮屢次點擊登陸和取消按鈕的界面反應;
六、考慮是否支持多用戶在同一機器上登陸;
七、考慮一用戶在多臺機器上登陸;
八、登陸頁面中的註冊等連接是否正確
7.問實習作的Code Review都關於什麼內容。
一般爲c代碼的檢查,注重基本函數的使用不注意會帶來的問題,例如指針未判空,snprintf()的buf開的不夠大之類。
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;
9.我說,建表改表我都用界面,查詢啊更新用的比較多。人家說,好啊,我問你一個查詢的~
而後我又sb了……他問的稍微麻煩了點,而後須要用到一個叫hup仍是什麼的,而後我就不會了,嗯
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.准入測試的衡量標準是什麼
a.走項目的幾個主要流程,看功能是否完成。若是有bug,bug比例是多少
b.出現的bug中,嚴重性也有不一樣。若是是簡單的修改就能夠的,能夠忽略,有嚴重邏輯問題的就打回。
不過人家說我說的仍是太粗了,想更細一些。但是啊,百度的敏捷開發基本都已經忽略掉准入了,我瞭解的也很少……
12.用過什麼自動化測試工具麼?不管是通訊業仍是互聯網的都好
說了phpunit,百度本身開發的xss漏洞檢測工具等。知道的很少
13.爲何考慮網易有道?爲何不選擇百度?
我只能說我瞎說了……
14.列舉一些經常使用的linux命令
mv cp rm vim等等
15.怎麼cp一個目錄?mv有哪兩種做用?
要在同時拷貝多個文件,咱們只須要將多個文件用空格隔開
mv命令用來對文件或目錄從新命名,或者將文件從一個目錄移到另外一個目錄中
發現我一面面了一個半小時……累……我問多久能有消息,說一共三面,而後告訴我一會有二面。
=================================================================
二面:一個很pp的看起來超小很loli結果是qa老大的mm
1.又把百度的測試流程說了一遍
2.舉例說了實習時測試的工做
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次調整呢?
我寫了一次調整的,不過不太好弄成k次。後來想出來了,沒寫,把思路給mm說了。代碼後面補上吧。
5.使用grep命令。找出a.txt文件中每一行第一個字爲數字的內容。
好吧,我不會,弱弱飄過
6.顯示文件最後100行
tail -100 fileName
7.查看本機的負載、性能等
仍是不會
8.still,爲什麼選擇有道而不是百度?
這個問題實在是太難以回答了。。。。
9.作測試的話,是怎麼個計劃?鑽研一個細方向?
測試的一個好處是能夠了解整個系統的框架,模塊交互,而不是侷限於一個小模塊的功能。在這個基礎上,選擇例如性能測試、壓力測試做爲主要專一領域吧。
10.作壓力測試的話,大概都壓到多少?
我聽過俊俊作壓力的內容,就扯了一下。大概是1k、4k、8k地嘗試。基本保證1k吧。每秒。
最後就是聊了一下關於工做環境啊,小組氛圍啊。兩個面試官都表示有道的氛圍很好,你們互幫互助樂於交流。我只能表示很嚮往……雖然我在百度也是這麼感受的……面了將近3個小時,就這樣吧
時間緊任務重,如何保證質量
項目成員明確需求,需求按照優先級排序
規劃測試時間,天天及時調配資源
迭代測試,及早介入測試
保持和開發的順暢溝通,保證