【面試】測試/測開(ING)

63. APP端特有的測試

參考:APP專項測試、APP應用測試
crash和anr的區別
1)網絡測試
2)中斷測試
3)安裝、卸載測試
4)兼容測試
5)性能測試(耗電量、流量、內存、服務器端)
6)安全性測試(密碼、sql注入、權限)
7)UI測試(橫豎屏、手勢、鍵盤等的自適應)
8)升級測試(考慮內存)
9)穩定性測試(使用monkey)
10)接口測試
11)其他測試(如上傳文件、圖片、視頻)

64. 服務異常情況驗證

參考:異常測試
淺談異常測試
服務異常

65. 用什么做性能測試

66. Jmeter如何設計測試場景

67. 壓測怎么做

69. UI自動化元素定位方法

參考:UI自動化元素定位
UI元素定位

70. gpu和cpu有什么區別

71. gpu性能受哪些因素的影響

72. 共享內存,線程安全嗎?怎么解決?

73. 什么情況下會發生死鎖?怎么解決?

74. 進程上下文切換需要做哪些事情?上下文保存在哪里?

75. 單例模式怎么實現的?怎么判斷一個實例是不是已經創建了呢?線程安全嗎?加鎖會有什么問題?怎么優化?

76. 視頻靜態解碼和動態解碼?

77. 逆層序遍歷

78. 用戶上傳照片如何測試

79. 線上bug如何解決?完成處理流程?

80. 前端頁面無法展示,如何找bug?

81. 服務端接口有問題怎么定位bug

82. 字符串數組最長公共子串

83. 如果UI經常變更,UI自動化怎么解決

參考:UI自動化測試01、UI自動化02

① 對比較穩定的功能和模塊設置自動化用例

84. 提一個bug需要寫明什么

參考:提BUG的內容

測試環境、測試設備/型號、軟件版本、bug錯誤類型、bug所屬模塊、重現概率、優先級、嚴重級別、復現步驟、預期結果、實際結果、日志、bug狀態以及標題、bug解決人

85. 怎么保持redis數據的時效性

86. 接口實現與基類繼承的差異

87. coding過程中什么才是符合標準的好代碼

88. Java基本數據類型有哪些?自動裝箱、拆箱?

89. 異常的分類?如何處理異常?

參考:異常的的分類以及處理

異常

90. Mysql的索引如何實現?B+樹的結構?是邏輯結構還是線性結構?分別介紹邏輯結構、線性結構的數據結構有哪些?

91. sql:一頁數據20條記錄,顯示第五頁的記錄?

已知每頁顯示m條數據,求第n頁顯示的數據
提示: 關鍵是求每頁的開始行索引

① 查詢學生表,獲取第n頁數據的SQL語句:
select * from students limit (n-1)*m, m

② 一頁數據20條記錄,顯示第五頁的記錄
select 8 from table limit (5-1)*20, 20;

92. 購物車下單功能需要進行哪些測試

93. 了解哪些排序算法?哪些排序算法效率高一些?時間復雜度如何?

94. 兩個無序二叉樹合并為有序二叉樹

95. 貪心算法和動態規劃的區別?

96. 分治思想和動態規劃的區別

97. 線程資源以來死鎖問題,如何避免?

98. IO多路復用

99. InnoDB的索引類型

100. MySQL的鎖機制,悲觀鎖和樂觀鎖的區別

參考:MySQL樂觀鎖和悲觀鎖、MySQL從樂觀到悲觀

1)共享鎖S和排他鎖X
2)樂觀鎖一般是使用版本號來實現的,一般使用select … for update來實現悲觀鎖

101. sql:查詢第50到100條數據

① 查詢前100條數據
select * from A limit 0,100;

② 查詢50-100條數據
select * from A limit 49,51;

select * from A limit s, n;
// s 表示起始位置,是不包含狀態,也讓就是說從s+1開始輸出
// n 表示多少條數據

102. 依賴注入的方式

103. IOC和AOP的概念,IOC的實現機制

104. SpringBoot配置文件的加載順序?yam和properties?

105. 講一下collection和map

106. List和Set有什么區別?Set里面可以有null值嗎?List是不是可以有多個null值

參考 :List和Set的區別、List和Set集合

① 都繼承自Collection接口
② null值
③ 重復值
④ 有序性

107. hashMap和hashTable有什么區別?Hash Map的底層原理?如何解決Hash沖突?

參考:HashMap和HashTable的區別
哈希沖突

1)區別:
① 讀寫的線程安全
② null值的存儲:map中key和value均可以是null,但是table中不允許存儲null

2)哈希沖突避免:
哈希函數設計、負載因子調節

3)哈希沖突解決:
閉散列(線性探測,保存到下一個位置)、開散列(鏈表存儲)

108. 一張表用a,b,c三個字段作為聯合索引,一條sql語句命中了a和b是否會走索引?

參考:組合索引

組合索引 有“最左前綴”原則,遇到范圍查詢(>、<、between、like)就會停止匹配。

109. 基于TCP的協議

110. TLS握手過程

111. session和cookie

112. 頁面置換算法LRU?還有其他的頁面置換算法嗎?

113. 介紹線程池以及對線程池的認識?

114. 哈希表與紅黑樹的認識?

115. 抽象類的使用場景

116. MySql的事務

117. 分布式鎖

118. StringBuffer、StringBuilder為什么是可變的?

StringBuilder、StringBuffer可變長

1)String:底層是char數組,數組是不可變長的;再者,數組是使用final修飾的,該引用不可以再指向其他對象
2)StringBuffer和StringBuilder:內部實際上是一個char[ ]數組,這個char[ ]數組沒有被final修飾,StringBuffer和StringBulider的初始化容量應該為16,當存滿之后會進行擴容,底層調用了數組拷貝的方法:System.arraycopy()…擴容的,所以StringBuffer/StringBuilder適用于字符串的頻繁拼接操作,并且StringBuffer是線程安全的,StringBuilder是非線程安全的。(擴容機制:原數組大小*2+2)

119. 為什么TCP比UDP長一點?

① TCP 有可變長的「選項」字段,而 UDP 頭部長度則是不會變化的。
② TCP是可靠傳輸的,其有三次握手和四次揮手,所需要使用的序列號以及確認號需要進行存儲;另外,還有滑動窗口來進行流量控制等以保證數據的安全性
TCP

③ UDP的頭部長度是不會改變的
UDP

120. Java怎么實現單例繼承?手寫線程安全的單例繼承

六種單例模式
高并發下線程安全的單例模式

1)定義:確保一個類只有一個實例,并提供該實例的全局訪問點
2)設計要素:一個私有構造函數 (確保只能單例類自己創建實例)、一個私有靜態變量 (確保只有一個實例)、一個公有靜態函數 (給使用者提供調用方法)
3)類型:
① 懶漢:先不創建實例,當第一次被調用時,再創建實例,所以被稱為懶漢式。

// 線程安全的懶漢模式
public class Singleton {private static Singleton uniqueInstance;private static singleton() {}public static synchronized Singleton getUinqueInstance() {if (uniqueInstance == null) {uniqueInstance = new Singleton();}return uniqueInstance;}}

② 餓漢: 先不管需不需要使用這個實例,直接先實例化好實例 (餓死鬼一樣,所以稱為餓漢式),然后當需要使用的時候,直接調方法就可以使用了。

public class Singleton {private static Singleton uniqueInstance = new Singleton();private Singleton() {}public static Singleton getUniqueInstance() {return uniqueInstance;}}

③ 靜態內部類

public class Singleton {private Singleton() {}private static class SingletonHolder {private static final Singleton INSTANCE = new Singleton();}public static Singleton getUniqueInstance() {return SingletonHolder.INSTANCE;}}

④雙檢查機制

public class MySingleton {//使用volatile關鍵字保其可見性volatile private static MySingleton instance = null;private MySingleton(){}public static MySingleton getInstance() {try {  if(instance != null){//懶漢式 }else{//創建實例之前可能會有一些準備性的耗時工作 Thread.sleep(300);synchronized (MySingleton.class) {if(instance == null){//二次檢查instance = new MySingleton();}}} } catch (InterruptedException e) { e.printStackTrace();}return instance;}
}

4)使用場景
① 頻繁實例化然后又銷毀的對象,使用單例模式可以提高性能。
② 經常使用的對象,但實例化時耗費時間或者資源多,如數據庫連接池,使用單例模式,可以提高性能,降低資源損壞。
③ 使用線程池之類的控制資源時,使用單例模式,可以方便資源之間的通信。

121. SpringBoot的關鍵注解? @SpringBootApplication是一個組合注解,是由哪些構成的?

參考:SpringBootAppication注解、SpringBootApplication注解02
SpringBoot注解
1)注解類型:
① 核心注解:@SpringBootApplication:@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan
② 常用注解:@Component、@Bean、@Import、@Autowired、@Configuration、@VAlue(注入 application.properties 或 application.yml 配置的屬性的值)

2)@SpringBootApplication注解:

/*** @SpringBootApplication組合注解包含以下注解:* * @Target(ElementType.TYPE) :用于描述注解的使用范圍* @Retention(RetentionPolicy.RUNTIME) :保留,指定保留時間,三個枚舉,分別為source,class,runtime* @Documented:可被javadoc等工具記錄,注解類型信息會保存到生成的文檔中* @Inherited:個人認為是一個成員變量,父類被子類覆蓋之后無法繼承,子類中可以繼承父類中未被覆蓋的父類注解的值* @SpringBootConfiguration:包含@Target(ElementType.TYPE)*                                                     @Retention(RetentionPolicy.RUNTIME) :同上述*                                                     @Documented:同上述*                                                     @Configuration:用于配置,包含以下注解*                                                                                     @Target(ElementType.TYPE) :同上述*                                                                                     @Retention(RetentionPolicy.RUNTIME) :同上述*                                                                                     @Documented :同上述*                                                                                     @Component:spring內置組件注解,用途是讓spring容器掃描* @EnableAutoConfiguration:開啟自動配置,包含以下注解*                                                     @Target(ElementType.TYPE):同上述*                                                     @Retention(RetentionPolicy.RUNTIME):同上述*                                                     @Documented:同上述*                                                     @Inherited:同上述*                                                     @AutoConfigurationPackage:自動配置包含注解的類*                                                     @Import(AutoConfigurationImportSelector.class)* @ComponentScan:開啟包掃描,默認掃描同級及當前包下內容,包含以下注解*                                         @Retention(RetentionPolicy.RUNTIME)*                                         @Target(ElementType.TYPE):同上述*                                         @Documented:同上述*                                         @Repeatable(ComponentScans.class):允許在同一申明類型(類,屬性,或方法)的多次使用同一個注解*/
@SpringBootApplication

122. 編程:給你兩個線程,交替修改同一個變量10次?

參考:多線程交替打印
思路:其實這類問題本質上都是線程通信問題,思路基本上都是一個線程執行完畢,阻塞該線程,喚醒其他線程,按順序執行下一個線程。

1)synchronized + wait/notifyAll
2)join()
3)Lock

123. ThreadLocal和synchronized的區別?

124. JVM內存模型?JVM方法區主要存儲哪些類型數據?

124. Spring Bean 和new 類的區別

125. 線程池由哪幾種類型

126. JVM哪部分會出現OOM問題

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/210875.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/210875.shtml
英文地址,請注明出處:http://en.pswp.cn/news/210875.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

畫對比折線圖【Python】

出這一期想必是我做某個課程作業遇到了。 由于去各個官網下載對比圖要錢&#xff0c;我還是不想花錢的&#xff01;真討厭&#xff01;淺淺水一期。 以下是要做的對比圖的數據&#xff1a; 代碼&#xff1a; from matplotlib import pyplot as plt#設置中文顯示plt.rcParams[…

CSS新手入門筆記整理:CSS浮動布局

文檔流概述 正常文檔流 “文檔流”指元素在頁面中出現的先后順序。正常文檔流&#xff0c;又稱為“普通文檔流”或“普通流”&#xff0c;也就是W3C標準所說的“normal flow”。正常文檔流&#xff0c;將一個頁面從上到下分為一行一行&#xff0c;其中塊元素獨占一行&#xf…

ChatGPT OpenAI API請求限制 嘗試解決

1. OpenAI API請求限制 Retrying langchain.chat_models.openai.ChatOpenAI.completion_with_retry.._completion_with_retry in 4.0 seconds as it raised RateLimitError: Rate limit reached for gpt-3.5-turbo-16k in organization org-U7I2eKpAo6xA7RUa2Nq307ae on reques…

讓內存無處可逃:智能指針[C++11]

智能指針 文章目錄 智能指針前言RAII什么是智能指針智能指針的應用示例 C98的auto_ptr共享型智能指針&#xff1a;shared_ptrshared_ptr的使用初始化獲取原生指針指定刪除器默認刪除器default_delete指定刪除器指定刪除器管理動態數組 shared_ptr的偽實現shared_ptr的注意事項避…

【Docker】進階之路:(五)Docker引擎

【Docker】進階之路&#xff1a;&#xff08;五&#xff09;Docker引擎 Docker引擎簡介Docker引擎的組件構成runccontainerd Docker引擎簡介 Docker引擎是用來運行和管理容器的核心部分。Docker首次發布時&#xff0c;Docker 引擎由LXC 和 Docker daemon 兩個核心組件構成。 …

linux驅動開發——內核調試技術

目錄 一、前言 二、內核調試方法 2.1 內核調試概述 2.2 學會分析內核源程序 2.3調試方法介紹 三、內核打印函數 3.1內核鏡像解壓前的串口輸出函數 3.2 內核鏡像解壓后的串口輸出函數 3.3 內核打印函數 四、獲取內核信息 4.1系統請求鍵 4.2 通過/proc 接口 4.3 通過…

算法:有效的括號(入棧出棧)

時間復雜度 O(n) 空間復雜度 O(n∣Σ∣)&#xff0c;其中 Σ 表示字符集&#xff0c;本題中字符串只包含 6 種括號 /*** param {string} s* return {boolean}*/ var isValid function(s) {const map {"(":")","{":"}","["…

List截取指定長度(java截取拼接URL)

場景&#xff1a; N多個參數&#xff0c;截取指定個數&#xff0c;拼接URL public static void main(final String[] args) {int count 0;//每頁數量final int pageSize 5;final List<Integer> memberNos ListUtil.toList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13…

python格式化內容

1.字符串格式化: 定義列表 [{"姓名": "張三", "年齡": 18, "性別": "男"}, {"姓名": "里斯李四李斯", "年齡": 18, "性別": "男"}, {"姓名": "斯托夫斯基…

C++知識 抽象基類

抽象基類通常包含至少一個純虛函數&#xff0c;即一個沒有具體實現的虛函數&#xff0c;通過在基類中聲明純虛函數&#xff0c;它強制派生類提供這個函數的具體實現。 通過在類的聲明中使用 virtual 關鍵字和 0 初始化來創建純虛函數&#xff0c;這樣的類就成為抽象基類。以下…

上位機與PLC:ModbusTCP通訊之數據類型轉換

前請提要: 從PLC讀取的數值,不管是讀正負整數還是正負浮點數,讀取過來后都會變成UInt16,也就是Ushort類型 一、ushort(UInt16)轉成 Int32 源代碼方法: //ushort類型轉Int32類型的方法private int ushortToInt32(ushort[] date, int start){//先進行判斷,長度是否正確…

MySQL_6.MySQL常用創建語句

1.數據庫創建,查詢,刪除 (1)創建一個test數據庫 CREATE DATABASE test ; CREATE DATABASE IF NOT EXISTS test; # default character set :默認字符集 CREATE DATABASE IF NOT EXISTS test default character set UTF8; # default collate&#xff1a;默認排序規格 # utf8_g…

前端知識(七)———HTTPS:保護網絡通信安全的關鍵

當談到網絡通信和數據傳輸時&#xff0c;安全性是一個至關重要的問題。在互聯網上&#xff0c;有許多敏感信息需要通過網絡進行傳輸&#xff0c;例如個人身份信息、銀行賬戶信息和商業機密等。為了保護這些信息不被未經授權的人訪問和篡改&#xff0c;HTTPS&#xff08;超文本傳…

AI:大語言模型LLM

LLM 大語言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;是一種利用大量文本數據進行訓練的自然語言處理模型&#xff0c;其評價可以從多個方面進行。 以下是一些主要的評價方面&#xff1a; 語言理解和生成能力&#xff1a;評價大語言模型在自然語言理…

模型評價指標

用訓練好的模型結果進行預測&#xff0c;需要采用一些評價指標來進行評價&#xff0c;才可以得到最優的模型 常用的指標&#xff1a; 1.分類任務 ConfusionMatrix 混淆矩陣Accuracy 準確率Precision 精確率Recall 召回率F1 score H-mean值ROC Curve ROC曲線PR …

PostgreSQL pgvector:如何利用向量數據庫提升搜索效率和精度

LLMs模型實戰教程 文章來源&#xff1a;https://zhuanlan.zhihu.com/p/641516393 Kevin 一、介紹 隨著基礎模型的興起&#xff0c;向量數據庫的受歡迎程度也飆升。事實上&#xff0c;在大型語言模型環境中&#xff0c;向量數據庫也很有用。 在機器學習領域&#xff0c;我們經…

天池SQL訓練營(三)-復雜查詢方法-視圖、子查詢、函數等

-天池龍珠計劃SQL訓練營 SQL訓練營頁面地址&#xff1a;https://tianchi.aliyun.com/specials/promotion/aicampsql 3.1 視圖 我們先來看一個查詢語句&#xff08;僅做示例&#xff0c;未提供相關數據&#xff09; SELECT stu_name FROM view_students_info;單從表面上看起來…

C#反射加載程序集并使用

具體實現參考&#xff1a; C# 動態加載DLL通過反射調用參數、方法、窗體_c#反射加載dll并傳入參數-CSDN博客 C#進階學習--反射(Reflection) - 知乎 走進C#反射機制 - 知乎 1.使用過程 //創建數據集 Assembly outerAsm Assembly.LoadFile("D:/your.dll");//獲取…

rancher harvester deploy demo 【部署 harvester v1.2.1】

簡介 Harvester 是一個現代的、開放的、可互操作的、基于Kubernetes的超融合基礎設施(HCI)解決方案。它是一種開源替代方案&#xff0c;專為尋求云原生HCI解決方案的運營商而設計。Harvester運行在裸機服務器上&#xff0c;提供集成的虛擬化和分布式存儲功能。除了傳統的虛擬機…

pgsql存儲過程

由于部分企業數據庫從aws遷移到騰訊云&#xff0c;導致有一個定時任務&#xff08;從詳情表匯總數據到統計表中&#xff09;錯過了觸發&#xff0c;所以這部分企業的數據需要觸發重新刷一下&#xff0c;但是又有規定白天不允許上線&#xff0c;只能把定時任務的邏輯用存儲過程&…