亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

大廠測試開發常見面試題收集(python,java,性能等)

系統 1755 0

1.Python 中方法的參數是值傳遞還是引用傳遞?
答:如果參數是常量則為值傳遞,如果參數是變量則為引用傳遞
2.Python 中元組和列表的區別
答:1.元祖不可修改。2.元祖不可刪除
3.Linux 中查找某個文件并刪除它
答:find / -name “*filename” |xargs rm -rf
4.Linux 查詢 CPU、內存的指令
答:top
cat /proc/cpuinfo| grep “physical id”| sort| uniq| wc -l ;查看物理CPU個數
free -h,
vmstat
5.Java 中的容器有哪些?它們的區別和特性?
答:
一.Collection類
1.一個獨立元素的序列,這些元素都服從一條或多條規則.List必須按照插入的順序保存元素,而Set不能有重復元素.Queue按照隊列規則來確定對象產生的順序(通常與它們被插入的順序相同).
2.在實際編程中,Collection類一般不會被使用,通常使用其三個子類.
二.Map類
1.一組成對的"鍵值對"對象,允許你使用鍵來查找值.又被稱為"關聯數組"或者"字典".
三.List類:
1.子類包括ArrayList和LinkedList.
2.基本的ArrayList,它長于隨機訪問元素,但在List的中間插入和移除元素時比較慢.
3.LinkedList:它通過代價較低的在List中間進行的插入和刪除操作,但對于隨機訪問元素操作比較慢.
6.Java 多線程的創建
答:Thread和Runnable
7.性能測試關注哪些指標?
答:cpu 的iowait,內存的實際內存與虛擬內存。硬盤的讀寫,數據庫的讀寫速度
8.算法:快排的實現
答:(java,python自行查找)
9.算法:數組中查找出現次數過半的數
答:給出一種解法:

            
              class Solution:
	def MoreThanHlafNum_Solution(self,numbers):
		dict={}
		for i in numbers:
			if not dict.has_key(i):
				dict[i]=1
			else:
				dict[i]+=1
			if dict[i]>len(numbers)/2.0:
				return i
		return 0


            
          

10.算法:查找鏈表的倒數第三個數
答:

            
              public class LastKNode {

    public static void main(String[] args) {
        Node head=ListNode.getSingleList();
        ListNode.printList(head);
        int k=3;
        head=new LastKNode().getLastKNode(head,k);
        System.out.println(head.data);

    }
    public Node getLastKNode(Node head, int k){
        Node node=head;
        while(node. next!= null&&k>0){
            node=node. next;
            k--;
       }
       while(node!= null){
       node=node. next;
       head=head. next;
       }
       return head;
    }
}

            
          

11.登錄頁面怎么測?
答:用例設計參考:
功能測試:

            
                  1>輸入正確的用戶名密碼,點擊提交按鈕,驗證能否正確登錄

    2> 輸入錯誤的用戶名或者密碼,點擊提交按鈕,驗證登錄失敗,提示相應的錯誤信息

    3 >登錄成功后能否跳轉到正確的頁面

    4>賬號名或者密碼長度過長或者過短,應該怎么處理(安全性,密碼太短是否有提示)

    5>賬號和密碼有特殊字符(空格),是否做了過濾

    6>密碼是否加密顯示

    7>輸入密碼 ,大寫鍵盤開啟的時候要有提示信息

    8>什么都不輸入,直接點擊提交(非空檢查)

    9>登錄失敗后,不能記住密碼的功能

   10>登錄頁面中忘記密碼等等鏈接跳轉是否正確

   11>牽扯到驗證碼,還要考慮文字是否扭曲過度導致辨認難度大

UI測試:

    1>布局是否合理,兩個textbox和一個按鈕是否對齊

    2>textbox的長度和高度是否符合要求

    3>界面設計風格和UI設計風格是否一致

    4>界面中的文字簡潔易懂,沒有錯別字

性能測試:

     1>打開登錄界面,需要幾秒

     2>輸入正確的用戶名和密碼,登錄成功跳轉到新頁面,需要幾秒

安全性測試:

      1>登錄成功后的cookie是否有HttpOnly(降低腳本風險)

      2>賬號和密碼是否通過加密的方式,發送給web服務器

      3>賬號和密碼的驗證,應該是用服務器驗證,而不單單是在客戶端用javaScript驗證

      4>賬號和密碼的輸入框,應該屏蔽SQL注入攻擊

      5>賬號和密碼的輸入框,應該禁止輸入腳本(防止XSS攻擊)

      6>錯誤登錄的次數限制(防止暴力破解)

      7>是否支持多用戶在同一臺機器上登錄

      8>一用戶在多臺機器上登錄

可用性測試:

      1>輸入框是否可以用tab鍵切換

      2>輸入賬號,密碼后按回車,是否可以登錄

      3>是否可用全用鍵盤操作,是否有快捷鍵

兼容性測試:

       1>主流的瀏覽器下能否顯示正常已經功能正常

       2>不同的平臺是否能正常工作,eg:windows,mac

       3>移動設備上是否正常工作,比如iphone,android

       4>不同的分辨率

            
          

12.搜索框怎么測試?
答:測試搜索框,需從以下幾個方面進行考慮:

            
              一、功能實現
輸入字符,有匹配的就展示出來,沒有匹配的,會進行處理
1.對輸入進行測試
正常輸入存在的內容,查看搜索結果展示的數據是否完整
正常輸入不存在的內容,查看搜索返回的結果
輸入為空
超長輸入
特殊符號,包含空格,特別要注意英文單引號
各種字符,如數字、字母、中文
反復輸入相同的數據,如5次以上,看處理是否正確
輸入正則表達式
驗證搜索框的功能是否與需求一致,如模糊搜索或完全搜索
是否有忽略空格的功能,忽略前置空格和忽略后置空格,但是不能忽略中間空格
2.快捷鍵:
 在輸入結束后,按回車鍵,看系統如何處理
使用Tab鍵 ,ctrl+c /v/xz
3.光標和鼠標:
在光標停留的地方進行輸入,看光標和輸入的字符位置是否正確,會否跳轉到別的地方
在輸入框中,左鍵單擊鼠標,雙擊鼠標,三擊鼠標,如百度輸入框,單擊是插入,雙擊選中兩個字符,三擊選中輸入的所有字符
輸入框中,鼠標右鍵,會否有菜單欄,菜單欄下是否有常用的項,并且各項可用
4.其它功能
如百度的即搜即得,隨著用戶的輸入,下面會列出好多實時變化的選項,類似于智能搜索
二、用戶友好與易用性
三、不同平臺的兼容性
瀏覽器,操作系統,分辨率

            
          

13.TCP 和 UDP 的區別?如何保證 TCP 的可靠性?
答:區別在于:

            
              是否連接:TCP是面向連接的,UDP是無連接的,TCP的發送發要確認接收方是否收到數據段(3次握手協議)
傳輸可靠性:TCP是可靠的,UDP是不可靠的;TCP在數據包接收無序、丟失或在交付期間被破壞時,負責數據恢復,它通過為每個數據報提供一個序號來完成此恢復,為確保正確收到數據,TCP要求目標計算機成功收到數據時發回一個確認(即ACK),如果在某個時限內未收到相應的ACK,將重新傳送數據包。如果網絡擁塞,這種重新傳送將導致發送的數據包重復,但是接收計算機可使用數據包的序號來確定它是否為重復數據包,并在必要時丟棄它。UDP協議不能保證數據準確無誤的到達目的地,并不是說UDP就完全無法知道是否發生了錯誤,一個16位的UDP包包含了一個字節長的頭部和數據的長度,校驗碼域使其可以進行整體校驗,如:多媒體數據流,不產生任何額外的數據,即使知道有破壞的包也不進行重發。
TCP只支持點對點通信,UDP支持一對一、一對多、多對一、多對多的通信模式
TCP是面向字節流的,UDP是面向報文的(流模式和數據報模式)
TCP擁有擁塞控制機制,UDP沒有擁塞控制,適合媒體通信
TCP要求系統資源較多,UDP較少

            
          

可靠性:
校驗和:檢驗數據是否損壞
定時器:分組丟失則重傳
序號:用于檢測丟失的分組和冗余的分組
確認:接收方告知發送方正確接收分組已經期望的下一個分組;否定確認:接收方通知發送方未被正確接收的分組
窗口和流水線:用于增加信道的吞吐量

14.算法:二叉樹的深度計算
答:代碼過長,請自行百度
15.算法:一億個無序數找出 Top 100
答:參考代碼如下

            
              package cn.usst.tophundred.quicksort;
 
import java.util.Random;
/**
獲取一億數據獲取前100個最大值
1. 假設數組為 array[N] (N = 1 億),首先利用quicksort的原理把array分成兩個部分,左邊部分比 array[N - 1] (array中的最后一個值,即pivot) 大, 右邊部分比pivot 小。然后,可以得到 array[array.length - 1] (即 pivot) 在整個數組中的位置,假設是 k.
2. 如果 k 比 99 大,我們在數組[0, k - 1]里找前 100 最大值。 (繼續遞歸)
3. 如果 k 比 99 小, 我們在數組[k + 1, ..., N ]里找前 100 - (k + 1) 最大值。(繼續遞歸)
4. 如果 k == 99, 那么數組的前 100 個值一定是最大的。(退出)
*/
public class TopHundredQuickSort {
 
	public static void main(String[] args) {
		// the size of the array
		int number = 100000000;
		// the top k values
		int k = 100;
		// the range of the values in the array
		int range = 1000000001;
		
		// input for minHeap based method
		int[] array = new int[number];
		
		Random random = new Random();
		for(int i=0; i
              
                = pivot){
				swap(array, switchPointer, i);
				switchPointer++;
			}
		}
		
		// 交換后 array左邊的值比pivot大   右邊的值比pivot小
		swap(array, end, switchPointer);
		
		if(switchPointer < k-1){
			tophundred(array, switchPointer+1, end, k);
		}else if(switchPointer == k-1){
			return;
		}else{
			tophundred(array, 0, switchPointer-1, k);
		}
		
	}
 
	private void swap(int[] array, int i, int j) {
		int temp = array[i];
		array[i] = array[j];
		array[j] = temp;
	}
 
}

              
            
          

16.索引類型和優缺點
答:索引分類如下:

            
              0、查看索引  show index from 數據庫表名
1.普通索引
特點:是最基本的索引,它沒有任何限制。
2.唯一索引
特點:與前面的普通索引類似,不同的就是:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。
3.主鍵索引
特點;是一種特殊的唯一索引,一個表只能有一個主鍵,不允許有空值。一般是在建表的時候同時創建主鍵索引
4.組合索引
特點:指多個字段上創建的索引,只有在查詢條件中使用了創建索引時的第一個字段,索引才會被使用。使用組合索引時遵循**最左前綴**集合
如:`ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )`
這個表結構,每次使用索引的時候必須帶上最左側的索引值'column1',不然將會索引無效。
5.全文索引
從3.23.23版開始支持全文索引和全文檢索,FULLTEXT,可以在char、varchar或text類型的列上創建。

            
          

索引的優缺點:

            
              1.雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對表進行insert、update和delete。因為更新表時,不僅要保存數據,還要保存一下索引文件。
2.建立索引會占用磁盤空間的索引文件。一般情況這個問題不太嚴重,但如果你在一個大表上創建了多種組合索引,索引文件的會增長很快。
索引只是提高效率的一個因素,如果有大數據量的表,就需要花時間研究建立最優秀的索引,或優化查詢語句。

            
          

17.Redis 中有哪些數據結構
答:

            
              redis提供五種數據類型:string,hash,list,set及zset(sorted set)。
string(字符串) 
string是最簡單的類型,你可以理解成與Memcached一模一樣的類型,一個key對應一個value,其上支持的操作與Memcached的操作類似。但它的功能更豐富。
list(雙向鏈表) 
list是一個鏈表結構,主要功能是push、pop、獲取一個范圍的所有值等等。操作中key理解為鏈表的名字。
Redis 哈希(Hash) 
Redis hash 是一個string類型的field和value的映射表,hash特別適合用于存儲對象。
集合(Set) 
set是集合,和我們數學中的集合概念相似,對集合的操作有添加刪除元素,有對多個集合求交并差等操作。操作中key理解為集合的名字。
zset(排序set) 
zset是set的一個升級版本,他在set的基礎上增加了一個順序屬性,這一屬性在添加修改元素的時候可以指定,每次指定后,zset會自動重新按新的值調整順序。可以理解了有兩列的mysql表,一列存value,一列存順序。操作中key理解為zset的名字。

            
          

18.數據庫的加鎖,比如樂觀鎖、悲觀鎖?
答:悲觀鎖–>

            
              MySql的悲觀鎖就是打開事務,當啟動事務時,如果事務中的sql語句涉及到索引并用索引進行了條件判斷,那么會使用行級鎖鎖定所要修改的行,否則使用表鎖鎖住整張表

            
          

樂觀鎖–>

            
               我們在使用樂觀鎖時會假設在極大多數情況下不會形成沖突,只有在數據提交的時候,才會對數據是否產生沖突進行檢驗。如果數據產生沖突了,則返回錯誤信息,進行相應的處理。

            
          

19.Java 的接口與抽象類的區別(問的比較多,逢面試基本必問)
答:

            
              抽象類:抽象類是無法實例化的特殊類。所以問題是為什么我們需要一個不能被實例化的類,抽象類只能是子類(繼承自)。換句話說,它只允許其他類繼承它,但不能實例化。優點是它為所有子類執行特定的層次結構。簡而言之,它是一種契約,它強制所有子類執行相同的層次或標準。

接口:接口不是類,由Interface關鍵詞定義,接口只有方法簽名,沒有方法實現(8之后支持默認方法)。與抽象類類似,它也是一種契約,用于定義所有子類的層次結構,或者它定義了特定的方法集和它們的參數。它們之間的主要區別是,一個類可以實現多個接口,但只能繼承一個抽象類。

            
          

20.面向對象的特征有哪些方面?
答:
1.抽象:
抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。
2.繼承:
繼承是一種聯結類的層次模型,并且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現有的類中派生,這個過程稱為類繼承。新類 繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實例變量,并且類可以修改或 增加新的方法使之更適合特殊的需要。
3.封裝:
封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的界面。面向對象計算始于這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象。
4. 多態性:
多態性是指允許不同類的對象對同一消息作出響應。多態性包括參數化多態性和包含多態性。多態性語言具有靈活、抽象、行為共享、代碼共享的優勢,很好的解決了應用程序函數同名問題。

21.int 和 Integer 有什么區別?
答:Java 提供兩種不同的類型:引用類型和原始類型(或內置類型)。Int是java的原始數據類型,Integer是java為int提供的封裝類。Java為每個原始類型提供了封裝類。
原始類型封裝類:
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double

22.String 和StringBuffer的區別?
答:JAVA平臺提供了兩個類:String和StringBuffer,它們可以儲存和操作字符串,即包含多個字符的字符數據。這個String類提供了數 值不可改變的字符串。而這個StringBuffer類提供的字符串進行修改。當你知道字符數據要改變的時候你就可以使用StringBuffer。典型 地,你可以使用StringBuffers來動態構造字符數據。

23.HashMap和Hashtable的區別
答:HashMap是Hashtable的輕量級實現(非線程安全的實現),他們都完成了Map接口,主要區別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable。
HashMap允許將null作為一個entry的key或者value,而Hashtable不允許。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap 就必須為之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會有很大的差異。

24.Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?
答:方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現, 重載Overloading是一個類中多態性的一種表現。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個類中定義了多個同名的方 法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

25.啟動一個線程是用run()還是start()?
答:啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處于可運行狀態,這意味著它可以由JVM調度并執行。這并不意味著線程就會立即運行。run()方法可以產生必須退出的標志來停止一個線程。

26.char型變量中能不能存貯一個中文漢字?為什么?
答:能夠定義成為一個中文的,因為java中以unicode編碼,一個char占16個位,所以放一個中文是沒問題的。

27.接口是否可繼承接口? 抽象類是否可實現(implements)接口? 抽象類是否可繼承實體類(concrete class)?
答:接口可以繼承接口。抽象類可以實現(implements)接口,抽象類是否可繼承實體類,但前提是實體類必須有明確的構造函數。

28.List, Set, Map是否繼承自Collection接口?
答:List,Set是,Map不是。

29.數組有沒有length()這個方法? String有沒有length()這個方法?
答:數組沒有length()這個方法,有length的屬性。String有有length()這個方法

30.Set里的元素是不能重復的,那么用什么方法來區分重復與否呢? 是用==還是equals()? 它們有何區別?
答:Set里的元素是不能重復的,那么用iterator()方法來區分重復與否。equals()是判讀兩個Set是否相等。
equals()和 ==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值

31.是否可以繼承String類?
答:String類是final類故不可以繼承。

32.try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執行,什么時候被執行,在return前還是后?
答:會執行,在return前執行

33.當一個對象被當作參數傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結果,那么這里到底是值傳遞還是引用傳遞?
答:是值傳遞。Java 編程語言只有值傳遞參數。當一個對象實例作為一個參數被傳遞到方法中時,
參數的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的。

35.線程的基本概念、線程的基本狀態以及狀態之間的關系
答:線程指在程序執行過程中,能夠執行程序代碼的一個執行單位,每個程序至少都有一個線程,也就是程序本身。Java中的線程有四種狀態分別是:運行、就緒、掛起、結束。

36.List、Map、Set三個接口,存取元素時,各有什么特點?
答:List 以特定次序來持有元素,可有重復元素。Set 無法擁有重復元素,內部排序。Map 保存key-value值,value可多值

37.HTTP有沒有狀態,怎么解決HTTP無狀態
答:
1、通過Cookies保存狀態信息Server通過Cookies,服務器就可以清楚的知道請求2和請求1來自同一個客戶端。
2、通過Session保存狀態信息
當程序需要為某個客戶端的請求創建一個session的時候,服務器首先檢查這個客戶端的請求里是否已包含了一個session標識 - 稱為 session id;
如果已包含一個session id則說明以前已經為此客戶端創建過session,服務器就按照session id把這個 session檢索出來使用(如果檢索不到,可能會新建一個);
如果客戶端請求不包含session id,則為此客戶端創建一個session并且生成一個與此session相關聯的session id,session id的值應該是一個既不會重復,又不容易被找到規律以仿造的字符串,這個session id將被在本次響應中通過Cookie返回給客戶端保存。

38.基于WEB B/S系統測試時應考慮的因素有哪些?
答:
一、功能測試
1、鏈接測試
2、表單測試
3、Cookies測試
4、設計語言測試
5、數據庫測試
二、性能測試
1、連接速度測試
2、負載測試
3、壓力測試
三、可用性測試
1、導航測試
2、圖形測試
3、內容測試
4、整體界面測試
四、客戶端兼容性測試
1、平臺測試
2、瀏覽器測試
五、安全性測試
40.什么是兼容性測試?兼容性測試側重哪些方面?
答:兼容性是指協調性,
1.硬件上就是說你的電腦的各個部件,CPU,顯卡等等組裝到一起以后的情況,會不會相互有影 響,不能很好的運作.
2.軟件上就是說你的電腦的軟件之間能否很好的運做,會不會有影響啊?還有軟件和硬件之間能否發揮很好的效率工作,會不會影響導致系統的崩潰.
1、平臺兼容性:市場上有很多不同的操作系統類型,最常見的有Windows、Unix、Macintosh、Linux等。Web應用系統的最終用戶究竟使用哪一種操作系統,取決于用戶系統的配置。這樣,就可能會發生兼容性問題,同一個應用可能在某些操作系統下能正常運行,但在另外的操作系統下可能會運行失敗。因此,在Web系統發布之前,需要在各種操作系統下對Web系統進行兼容性測試。
2、瀏覽器兼容性:瀏覽器是Web客戶端最核心的構件,來自不同廠商的瀏覽器對Java,、JavaScript、 ActiveX、 plug-ins或不同的HTML規格有不同的支持。例如,ActiveX是Microsoft的產品,是為Internet Explorer而設計的,JavaScript是Netscape的產品,Java是Sun的產品等等。另外,框架和層次結構風格在不同的瀏覽器中也有不同的顯示,甚至根本不顯示。不同的瀏覽器對安全性和Java的設置也不一樣。測試瀏覽器兼容性的一個方法是創建一個兼容性矩陣。在這個矩陣中,測試不同廠商、不同版本的瀏覽器對某些構件和設置的適應性。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 99久久免费看精品国产一区 | 亚洲高清色| 国产日韩精品欧美一区色 | 久久久亚洲欧洲日产国码二区 | 久99久爱精品免费观看视频 | 97影院理论片在线观看 | 欧美video巨大粗暴18 | 国产爱v| 女人十八毛片一级毛片免费看 | 日韩每日更新 | 伊人涩| 精品久久久久国产 | 成人特级毛片69免费观看 | 国内在线播放 | 日日天日日夜日日摸 | 欧美视频三区 | 久久婷婷国产一区二区三区 | 国产亚洲欧美另类久久久 | 久久精品国产99久久久 | 暗香影院午夜国产精品 | 日韩天天干 | 波多野结衣久久精品免费播放 | 亚洲a视频在线 | 一级骚片 | 国产一二三区在线观看 | 久久这里只有精品免费看青草 | 国产欧美成人xxx视频 | 99国内精品久久久久久久 | 亚洲精品播放 | 伊人久久青草青青综合 | www.四虎.com| 久久综合给合久久狠狠狠色97 | 亚洲欧美日韩国产精品影院 | 四虎影视国产在线观看精品 | 四虎最新紧急入口4hu | 女人182毛片a级毛片 | 国产一区二区三区在线视频 | 久草在线视频在线观看 | 欧美视频a | 女人洗澡一级毛片一级毛片 | 999精品免费视频观看 |