5 回答

TA貢獻1946條經(jīng)驗 獲得超3個贊
撇開所有的業(yè)務(wù)場景不考慮,分享一個我之前在內(nèi)部做的分享文章。
遠程接口設(shè)計經(jīng)驗分享
回到題主的疑問,阿里面試官是否在刷流氓。
我作為阿里的一個技術(shù)人員,雖然很少做面試官,不過我能打開從這個問題中猜測出當(dāng)事面試官的主要考察方向。
所以這個技術(shù)問題一個開放性的問題,看你的技術(shù)知識范圍和邊界。
1、你可以選擇拋開業(yè)務(wù)場景談?wù)撊绾卧O(shè)計一個API甚至一個API的框架,如果一個接口被設(shè)計為對外部的接口,那從框架上還要考慮到命名策略、向下兼容方案、用戶鑒權(quán)、調(diào)用流控等技術(shù)框架引入。
2、你也可以選擇從領(lǐng)域模型進行切分,比如更細粒度的追問業(yè)務(wù)場景,根據(jù)領(lǐng)域劃分自己的API設(shè)計,并說明清楚你自己的思考。
舉個例子:你可以針對面試官的問題,追問場景,并細化到一個具象的領(lǐng)域。這個過程其實也體現(xiàn)了你的思考方式。假設(shè)能具象到發(fā)布商品接口。發(fā)布一個商品,有一個公共的API,這個API兼容的考慮到了大部分商品所需要填寫的信息;但如果要發(fā)布一個網(wǎng)游的商品,這里面所需要填寫的信息肯定和發(fā)一個連衣裙存在非常大的差異,請問你什么時候會考慮為這種場景獨立一個API,這個度你怎么理解怎么把控。
當(dāng)然了,還有很多細節(jié)上的事情需要體現(xiàn)在你的API設(shè)計中。代碼畢竟是人寫的,接口與接口之間的交互背后其實是團隊與團隊之間的協(xié)作,如何通過一個合理的API提高團隊協(xié)作的效率,利益邊界劃分的清晰,形成共贏的局面,是非常講究的一個過程。
另外,就算這個問題退化為簡單的機器與機器交互的性能,也有非常多的關(guān)鍵點要挖。
利益相關(guān)聲明:我是阿里技術(shù)員工
添加回答
舉報