測(cè)試
業(yè)務(wù)測(cè)試
code review
人工檢查關(guān)注的內(nèi)容:
1潜支、配置文件
2、循環(huán)中止條件
3瀑罗、第三方庫(kù)
4胸嘴、判斷對(duì)象為空
常見(jiàn)工具
文檔
關(guān)注的點(diǎn):
1、確認(rèn)
2斩祭、有eg
API
入?yún)⒊鰠?br>
返回值校驗(yàn)
異常場(chǎng)景
落值
數(shù)據(jù)入庫(kù)
時(shí)效性
log
1劣像、是否有錯(cuò)誤日志
2、通過(guò)log觀察代碼邏輯
專項(xiàng)測(cè)試
接口自動(dòng)化/部署自動(dòng)化
性能/壓力
壓力指標(biāo)如何設(shè)定
單接口壓測(cè)和場(chǎng)景壓測(cè)(場(chǎng)景化壓測(cè)如何設(shè)置)
壓測(cè)的策略摧玫?
壓測(cè)數(shù)據(jù)(關(guān)注哪個(gè)數(shù)據(jù))
機(jī)器指標(biāo):CPU 內(nèi)存 IO
業(yè)務(wù)指標(biāo):各階段耗時(shí) 請(qǐng)求數(shù) QPS 空占比 錯(cuò)誤占比 logerror對(duì)比 平均耗時(shí)
穩(wěn)定性
長(zhǎng)時(shí)間模擬真實(shí)用戶訪問(wèn)系統(tǒng)觀察指標(biāo)
強(qiáng)依賴耳奕、弱依賴故障能否正常進(jìn)行
降級(jí)處理
監(jiān)控報(bào)警
批量
正常流量下 數(shù)據(jù)占比:空占比、錯(cuò)誤占比
diff
相同請(qǐng)求針對(duì)不同版本不同環(huán)境測(cè)試結(jié)果對(duì)比
開(kāi)發(fā)
語(yǔ)言棧
語(yǔ)法
java
python
底層原理
框架
springboot
hashmap
-1.7和1.8的區(qū)別和優(yōu)化
-解決哈希碰撞
-hash表擴(kuò)容
rpc
rpc http區(qū)別
1诬像、rpc二進(jìn)制流
2屋群、rpc屬于傳輸層
3、微服務(wù)坏挠,把服務(wù)名和ip映射
關(guān)于rpc問(wèn)題:
1芍躏、什么是rpc,rpc遠(yuǎn)程過(guò)程調(diào)用癞揉,從遠(yuǎn)程計(jì)算程序上獲取服務(wù)
2纸肉、rpc的優(yōu)勢(shì):
可以自定義的TCP通信協(xié)議溺欧,報(bào)文體積小傳輸快
可以基于thrift實(shí)現(xiàn)高效的二進(jìn)制傳輸
自帶了負(fù)載均衡策略(喊熟?)
能做到自動(dòng)通知,不影響上游(姐刁?)
中間件
mysql
-sql查詢語(yǔ)句
-索引
-慢查詢 explain
kafka
優(yōu)勢(shì):解耦芥牌、緩沖、高可用聂使、異步
吞吐量大的原因:partition機(jī)制(壁拉?)
redis
-數(shù)據(jù)存儲(chǔ)
-數(shù)據(jù)時(shí)效性測(cè)試
算法
字符串
鏈表
樹(shù)
排序
服務(wù)架構(gòu)
微服務(wù)
設(shè)計(jì)模式
單例模式
//懶漢模式
public class Singleton1 {
private static Singleton1 instance = null;
private Singleton1() {
}
public static Singleton1 getInstanceA() {
if (null == instance) {
instance = new Singleton1();
}
return instance;
}
}
//飽漢模式
public class Singleton2 {
private static final Singleton2 instance = new Singleton2();
private Singleton2() {
}
public static Singleton2 getInstance() {
return instance;
}
}
//枚舉模式
public enum Singleton {
INSTANCE;
public void doSomething(){
//todo doSomething
}
}
工廠模式
消費(fèi)者/生產(chǎn)者
觀察者