1. 程式人生 > >面試題(一)

面試題(一)

res global 刷新 遠程 mkdir chm chmod con label

1. 如何用列表切片的方式取出列表a = [1,2,3,4,5]中的3?

a[2:3]

2. 說說列表是如何排序的?

列表排序:

永久性排序:升序 sort 降序 sort(reverse=True)

#永久性排序—升序
>>> a = [1, 5, 2, 8, 6]
>>> a.sort()
>>> a
[1, 2, 5, 6, 8]

#永久性排序—降序
>>> a = [1, 5, 2, 8, 6]
>>> a.sort(reverse
=True) >>> a [8, 6, 5, 2, 1]

臨時性排序:升序 sorted 降序 sorted(reverse=True)

#臨時性排序—升序
>>> a = [1, 5, 2, 8, 6]
>>> sorted(a)
[1, 2, 5, 6, 8]
>>> a
[1, 5, 2, 8, 6]

#臨時性排序—降序
>>> a = [1, 5, 2, 8, 6]
>>> sorted(a, reverse=True)
[8, 6, 5, 2, 1] >>> a [1, 5, 2, 8, 6]

列表反轉:

永久性反轉列表:reverse()

臨時性反轉列表:[::-1]

#永久性反轉列表
>>> a = [1, 5, 2, 8, 6]
>>> a.reverse()
>>> a
[6, 8, 2, 5, 1]

#臨時性反轉列表
>>> a = [1, 5, 2, 8, 6]
>>> a[::-1]
[6, 8, 2, 5, 1]
>>> a
[1, 5, 2, 8, 6]

3. 如何用正則表達式匹配ip地址?

(([01]?\d?\d|2[0-4]\d|25[0-5]\d)\.){3}([01]?\d?\d|2[0-4]\d|25[0-5]\d)

4. Linux下怎麽殺掉tomcat進程?

ps -ef | grep tomcat #查出tomcat進程號

kill -9 進程號

5. 怎麽處理安卓5.0以下的toast彈框?

跟測試經理溝通後,可以不考慮安卓5.0以下的系統,只考慮兼容比較新的主流的系統

6. 你們是怎麽利用jenkins做持續集成的?

一般為了分擔jenkins服務器的壓力,會搭建jenkins的Master和Slave機,Master是jenkins服務器,Slave是本地的執行機

如何在Master上配置Slave?新建節點,設置節點(包含名字、並發構建數、遠程工作目錄、標簽、語法和啟動方式等(通過java web啟動代理))

啟動slave,點擊lauch,會下載一個agent.jnlp文件,下載之後雙擊agent.jnlp,會彈出一個窗口,如果窗口顯示Connected,表示slave已啟動,再次刷新

在Master機上創建一個任務,輸入任務的名字,構建一個自由風格的項目軟件,在General中指定執行機—限制項目的運行節點,這裏可以填Label的名字,也可以填執行機的名字,在構建中選擇執行Windows批處理命令—切換到項目所在目錄,用python運行main.py,保存,點擊立即構建,這時會在遠程工作目錄下生成工作空間

這時候,可以從SVN上download項目代碼到工作目錄,進入構建後操作,選擇Publish JUnit test result report,在構建後操作中填上存放xml報告的路徑,在構建中修改批處理命令(用WORKSPACE的環境變量代替),保存後,立即構建

此外,還可以構建觸發器,進行定時構建,每隔多長時間運行一次腳本,還可以配置郵件服務器,將測試報告發送到郵箱

7. 說出你們工作中常用的linux命令?

像ls, pwd, cd, chmod, chown, chgroup, tar, find, grep, wc, cat, mkdir, rm, rmdir, rz, sz, ifconfig等等

8. 接口自動化中的關聯怎麽處理?

在接口自動化中,後面一個接口的請求數據需要用到前面接口的響應數據的一部分,那麽可以在存儲數據的excel表中添加一列提取表達式,在這一列,如果有值表示需要提取,先提取賦值再斷言,如果沒值,直接斷言

將後面接口的請求數據用占位符表示,前面需要提取的接口在提取表達式那一列用占位符=提取表達式表示,用openpyxl讀取所有的測試數據並保存在一個列表中,在測試用例類中,ddt.data可以分解一組數據為多條測試數據,在發送請求得到響應後,判斷每一條測試數據中是否包含了提取表達式,如果有,則用字符串的分割方法來以=作為分割,將字符串分割為["占位符","提取表達式"]的形式,然後定義一個全局變量global_var={},將列表中第一個元素"占位符"作為鍵,將提取表達式提取到的響應結果的字段作為值,存儲在global_var字典中

在發送請求前,判斷global_var長度是否大於0,並且請求數據是否為空,如果長度大於0且請求數據不為空,則用for循環遍歷字典,如果請求數據中能用find方法找到字典中的鍵,則用請求數據的replace方法將字典中的鍵替換為字典中的值,這樣就完成了接口關聯處理

9. 你們日常的工作和測試計劃一致嗎?

大體一致,但有的時候有所調整

面試題(一)