面试——游戏测试工程师(20190918)
小小的記錄一下求職經歷,一起加油呀~ ??(??ω??)?
職位描述
任職要求
筆試小題:
1. 概率題
2. 求二叉樹的高度
- 深度是指從根節點到該節點的最長簡單路徑邊的條數
- 高度是指從該節點到葉子節點的最長簡單路徑邊的條數
- 深度為k,最多有2k-1個結點(k ≥ 1)
- 第 i 層,最多有2i-1個結點(i ≥ 1)
- 其他關于二叉樹的筆記
一棵二叉樹高度為n(根的高度為1),所有結點的度或為0或為2,則這棵二叉樹最少有()個結點
答案:2n-1
3. 軟測的目的
- 在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程。
- 盡量能多地發現軟件產品中的缺陷,并對軟件產品的質量水平做出盡可能準確的評估,進而保證產品質量,降低上線后的風險。
- 測試并不僅僅是為了要找出錯誤。通過分析錯誤產生的原因和錯誤的分布特征。可以幫助項目管理者發現當前所采用的軟件過程的缺陷,以便改進。同時,通過分析也能幫助我們設計出有針對性的檢測方法,改善測試的有效性。
4. SQL語句
- 創建數據庫
CREATE DATABASE database-name - 刪除數據庫
DROP DATABASE dbname - 創建新表
CREATE TABLE tabname(col1 type1 [not null] [primary key],col2 type2 [not null],…) - 刪除新表
DROP TABLE tabname - 增加一個列
ALTER TABLE tabname ADD COLUMN col type
注:列增加后將不能刪除。DB2中列加上后數據類型也不能改變,唯一能改變的是增加varchar類型的長度。 - 添加主鍵
ALTER TABLE tabname ADD PRIMARY KEY (col) - 刪除主鍵
ALTER TABLE tabname DROP PRIMARY KEY (col) - 創建索引
CREATE [unique] INDEX idxname ON tabname(col….) - 刪除索引
DROP INDEX idxname
注:索引是不可更改的,想更改必須刪除重新建。 - 創建視圖
CREATE VIEW viewname AS SELECT statement - 刪除視圖
DROP VIEW viewname - 選擇
SELECT * FROM table1 WHERE 范圍 - 插入
INSERT INTO table1(field1,field2) VALUES(value1,value2) - 刪除
DELETE FROM table1 WHERE 范圍 - 更新
UPDATE table1 SET field1=value1 WHERE 范圍 - 查找
select * from table1 where field1 like ’%value1%’ - 排序
select * from table1 order by field1,field2 [desc] - 總數
select count as totalcount from table1 - 求和
select sum(field1) as sumvalue from table1 - 平均
select avg(field1) as avgvalue from table1 - 最大
select max(field1) as maxvalue from table1 - 最小
select min(field1) as minvalue from table1 - SQL語句大全實例
5. 私有IP
- A類:10.0.0.0 ~ 10.255.255.255 即 10.0.0.0/8
- B類:172.16.0.0 ~ 172.31.255.255 即 172.16.0.0/12
- C類:192.168.0.0 ~ 192.168.255.255 即 192.168.0.0/16
6. 代碼分析
7. 文件權限
權限為765的文件,下列哪個是正確的權限位標記()
解析:在 rwx 中r=4,w=2,x=1。
???7=4+2+1
???6=4+2
???5=4+1
???因此是rwxrw-r-x
8. 無效等價類
- 主要的黑盒測試用例設計方法
(1) 等價類劃分
?① 確定的等價類(有效等價類和無效等價類)
?② 生成測試用例(使所有等價類都被測試用例所覆蓋)
(2) 邊界值分析
?邊界條件:輸入和輸出等價類中那些恰好處于邊界、或超過邊界、或在邊界以下的狀態。
(3) 因果圖
(4) 判定表
(5) 錯誤猜測 - 白盒測試的方法
(1) 程序結構分析
(2) 邏輯覆蓋方測試
(3) 基本路徑測試 - 白盒測試的實驗步驟
(1) 撰寫測試計劃
(2) 撰寫測試用例
(3) 執行測試用例
(4) 撰寫測試總結
9. HTML標簽
??HTML5 基本標簽的使用
| < ! --…-- > | 定義注釋 |
| < !DOCTYPE > | 定義文檔類型 |
| < a > | 定義錨 |
| < b > | 定義粗體字 |
| < big > | 定義大號文本 |
| < body > | 定義文檔的主體 |
| < br > | 定義簡單的折行 |
| < button > | 定義按鈕 (push button) |
| < caption > | 定義表格標題 |
| < center > | 不贊成使用。定義居中文本 |
| < cite > | 定義引用(citation) |
| < code > | 定義計算機代碼文本 |
| < col > | 定義表格中一個或多個列的屬性值 |
| < command > | 定義命令按鈕 |
| < datalist > | 定義下拉列表 |
| < dd > | 定義定義列表中項目的描述 |
| < dir > | 不贊成使用。定義目錄列表 |
| < div > | 定義文檔中的節 |
| < dialog > | 定義對話框或窗口 |
| < em > | 定義強調文本 |
| < font > | 不贊成使用。定義文字的字體、尺寸和顏色 |
| < form > | 定義供用戶輸入的 HTML 表單 |
| < frame > | 定義框架集的窗口或框架 |
| < frameset > | 定義框架集 |
| < h1 > to < h6 > | 定義 HTML 標題 |
| < head > | 定義關于文檔的信息 |
| < hr > | 定義水平線 |
| < html > | 定義 HTML 文檔 |
| < i > | 定義斜體字 |
| < iframe > | 定義內聯框架 |
| < img > | 定義圖像 |
| < input > | 定義輸入控件 |
| < kbd > | 定義鍵盤文本 |
| < label > | 定義 input 元素的標注 |
| < li > | 定義列表的項目 |
| < link > | 定義文檔與外部資源的關系 |
| < menu > | 定義菜單列表 |
| < nav > | 定義導航鏈接 |
| < object > | 定義內嵌對象 |
| < ol > | 定義有序列表 |
| < option > | 定義選擇列表中的選項 |
| < output > | 定義輸出的一些類型 |
| < p > | 定義段落 |
| < script > | 定義客戶端腳本 |
| < section > | 定義 section |
| < select > | 定義選擇列表(下拉列表) |
| < small > | 定義小號文本 |
| < source > | 定義媒介源 |
| < span > | 定義文檔中的節 |
| < strong > | 定義強調文本 |
| < style > | 定義文檔的樣式信息 |
| < table > | 定義表格 |
| < tbody > | 定義表格中的主體內容 |
| < td > | 定義表格中的單元 |
| < textarea > | 定義多行的文本輸入控件 |
| < th > | 定義表格中的表頭單元格 |
| < thead > | 定義表格中的表頭內容 |
| < time > | 定義日期/時間 |
| < title > | 定義文檔的標題 |
| < tr > | 定義表格中的行 |
| < u > | 定義下劃線文本 |
| < ul > | 定義無序列表 |
| < video > | 定義視頻 |
| < wbr > | 定義視頻 |
10. 制定測試進度的根據
測試工程師在軟件測試計劃階段依據( )制定指定測試進度
A. 工作說明書
B. 概要設計說明書
C. 詳細設計說明書
D. 單元測試用例
理解: 測試設計階段中,《測試方案》一般由經驗豐富的測試人員設計,測試方案依據《需求規格說明書》和《概要設計說明書》進行設計。其中包括需求點簡介,測試思路和詳細測試方法等內容,進而來制定測試進度的。我覺得應該選B,然而有人說答案是A?
11. apk里有什么
- res 文件夾,是用來存放資源文件的。
- 一些 drawable-hdpi 等文件夾,是存放圖片的。
- layout 文件夾是存放布局的。
- menu 文件夾是存放菜單的。
- AndroidManifest.xml 是清單文件,每一個安卓的工程都會有。里面會記錄android的一些版本號、使用的SDK版本、圖標等信息。
- assets 文件夾。里面也會記錄一些資源文件。但一般用來記錄較大型的資源文件。比如音樂文件、視頻文件,或者一些文檔、圖片等。
- classes.dex 。因為android現在使用DVM,將.java編譯成.class,再編譯成.dex,最后打包為.apk。是android平臺的可執行文件的類型。
- resources.arsc 編譯后的二進制資源文件。定義了各個資源ID常量,供在代碼中索引資源。
- META-INF 文件夾基本就是和簽名等安全相關的。如果我們沒有對APK簽名,那么其包里是沒有這個文件夾的,如果簽名才有。android中,沒有簽名的APK是不允許安裝在android設備中的。
12. apache ab壓力測試
- ab常用參數的介紹:
(1) -n :總共的請求執行數,缺省是1;
(2) -c: 并發數,缺省是1;
(3) -t:測試所進行的總時間,秒為單位,缺省50000s
(4) -p:POST時的數據文件
(5) -w: 以HTML表的格式輸出結果 - 設置并發數,設置總請求數,請求方式為get請求
ab -c10 -n100 http://www.baidu.com/ // 10個用戶 一共發送100次請求,訪問百度首頁 - ab性能指標:
(1) Requests per second:吞吐率
(2) The number of concurrent connections:并發連接數
(3) Concurrency Level:并發用戶數
(4) Time per request:用戶平均請求等待時間
(5) Time per request:across all concurrent requests:服務器平均請求等待時間 - Apache自帶的ab壓力測試工具用法詳解
13. Alpha測試
- Alpha 是指內測,即現在說的 CB,指開發團隊內部測試的版本或者有限用戶體驗測試版本。
- Beta 是指公測,即針對所有用戶公開的測試版本。
- Alpha測試與Beta測試的區別
軟件產品的Alpha測試和Beta測試屬于()
答案:確認測試
14. 測試文檔
- 軟件測試文檔包括:
(1) 測試計劃
(2) 測試用例
(3) 測試方案
(4) 測試報告
(5) 性能測試報告
(6) 用戶操作手冊等等 - 軟件測試分為如下幾個階段:
(1) 測試需求分析階段。
??測試需求分析階段主要工作是獲得測試項目的測試需求(測試規格)。
??輸出產物:《可測試性需求說明書》和《測試規格》
(2) 測試計劃階段。
??以測試需求為基礎,分析產品的總體測試策略。
??輸出產物:《產品總體測試策略》
(3) 測試方案設計階段。
??本階段主要是以測試規格為基礎獲得特性測試方案,對于有自動化測試的項目,進行自動化測試的分析,獲得測試策略。
??輸出產物:《產品或者版本總體測試方案》
(4) 測試用例實現階段。
??本階段主要是完成各個特性的測試用例的編寫和自動化腳本的編寫。
??輸出產物:《產品自動化測試用例》和《手工執行測試用例》
(5) 測試執行階段。
??本階段是根據測試策略開展測試執行和回歸測試。
??輸出產品:《產品或版本測試報告》和《缺陷分析報告》
(6) 評估與關閉階段。
??只對前面的各個階段的執行情況,完成對測試項目的關閉,同時提供完整的度量數據和項目總結報告。
??輸出產物:《遺留問題風險分析報告》、《度量分析報告》和《測試關閉報告》
15. CSRF漏洞
- 什么是CSRF
??CSRF(Cross-Site Request Forgery,跨站請求偽造),也被稱為one-click attack 或者 session riding,通??s寫為 CSRF 或者XSRF, 是一種挾制用戶在當前已登錄的Web應用程序上執行非本意的操作的攻擊方法。它是一種常見的Web攻擊方式。在2007年曾被列為互聯網20大安全隱患之一。
??攻擊者盜用了你在某個網站的身份,以你的名義發送惡意請求。 - CSRF能夠做的事情:
??以你的名義:
????發郵件
????發消息
????財產操作比如轉賬,或者購買商品
????修改密碼
????刪除文章
????… - CSRF漏洞原理
16. Python代碼
17. 創建字典
??字典的創建及增刪改查
18. 冒煙測試
- 冒煙測試是在軟件開發過程中的一種針對軟件版本包的快速基本功能驗證策略,是對軟件基本功能進行確認驗證的手段,并非對軟件版本包的深入測試。
- 冒煙測試也是針對軟件版本包進行詳細測試之前的預測試,執行冒煙測試的主要目的是快速驗證軟件基本功能是否有缺陷。如果冒煙測試的測試例不能通過,則不必做進一步的測試。
- 進行冒煙測試之前需要確定冒煙測試的用例集,對用例集要求覆蓋軟件的基本功能。這種版本包出包之后的驗證方法通常稱為軟件版本包的門檻用例驗證。
- 冒煙測試屬于HLT(highleveltest)測試,HLT通常指SDV(系統設計驗證)/SIT(系統集成測試)/SVT(系統驗證測試)等測試活動。
- HLT是站在系統的角度對整個版本進行測試,測試對象是一個完整的產品而不是產品內部的模塊,常見的HLT測試包括系統測試和驗收測試。
- 冒煙測試
19. 白盒覆蓋
- 白盒測試又稱結構測試、透明盒測試、邏輯驅動測試或基于代碼的測試。
- 六種覆蓋標準發現錯誤的能力呈由弱到強的變化:
(1) 語句覆蓋:每條語句至少執行一次。
(2) 判定覆蓋:每個判定的每個分支至少執行一次。
(3) 條件覆蓋:每個判定的每個條件應取到各種可能的值。
(4) 判定/條件覆蓋:同時滿足判定覆蓋條件覆蓋。
(5) 條件組合覆蓋:每個判定中各條件的每一種組合至少出現一次。
(6) 路徑覆蓋:使程序中每一條可能的路徑至少執行一次。
20. 程序的邏輯復雜度
- 環路復雜度 用來定量度量程序的邏輯復雜度。以McCabe方法來表示。
- 一個有e條邊和n個節點的流程圖F,其圈復雜度為:VF = e - n + 2 。
- 環路復雜度越高,程序中的控制路徑越復雜。
- McCabe指出,典型的程序模塊的環路復雜度為10。
筆試大題:
1. 計算島嶼的周長
??解析
2. 買賣股票的最佳時機
??方法一
??方法二
面試:
(1) Python3 中有六個標準的數據類型:
??Number(數字)
??String(字符串)
??List(列表)
??Tuple(元組)
??Set(集合)
??Dictionary(字典)
(2) Python3 的六個標準數據類型中:
??不可變數據(3 個):Number(數字)、String(字符串)、Tuple(元組);
??可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。
(3) Python3 基本數據類型
? 列表list()
? 字典dict()
總結
以上是生活随笔為你收集整理的面试——游戏测试工程师(20190918)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于 Stable Diffusion
- 下一篇: Educoder - Java类和对象之