喬戈裡,一名在北漂的大廠程式員,在這裡記錄下來喬戈裡從校招進入大廠以來的點點滴滴。
事情
起因
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5COhFGOilzMwEGZxgTMzEGZ2ATZiVDM2ATZkVTZ2cjYk9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
如圖所示,發生在這周的一個工作日,當時這份接口文檔評審完成了(PS:在大廠開發需要開發寫接口文檔,然後由高 T去評審接口文檔,文檔沒問題了,然後前端和後端開發按照接口文檔進行開發),然後需要根據評審意見進行修改,由于某些原因,這份接口文檔的開發工作需要交接給新來的實習生進行開發,是以喬戈裡就讓實習生完成接下來的修改工作和開發工作。
修改接口文檔過程
修改的地方不多,一個是加一個分頁效果,另外一個是給傳回結果裡面增加一些字段,我了解工作量也不多。
給傳回結果裡面增加一些字段 ,我想的結果應該是下面這樣:
{"data":{"A1":{"A1":["A1-1","A1-2"
],"current":""
}
}
}
其中,
data.A1.A1
是個
list
,裡面是包括
data.A1.A1
所有取值情況,
data.A1.current
字段是代表
data.A1.A1
目前被使用者選中了哪個字段。
但是萬萬沒想到,實習生把修改完的接口文檔給我,我看到的是這個樣子的結果:
{"data":{"A1":{"A1": {A1-1,A1-2} ,"new":null
}
}
}
我問了實習生,你這個可以在
json 線上解析網址
解析成
json
嗎?實習生回我,
json是什麼東西啊?
喬戈裡當時就
???
好吧,
json
不知道就不知道吧,但這個為了實作分頁效果的修改也是槽點滿滿。
我期待的結果是下面這樣:
{"page":{"pageNo":1,"pageSize":10,"totalCount":1
}
}
結果實習生隻加了一個
page:1
這樣的字段,我問你這樣可以實作分頁效果嗎?隻展示第幾頁,不展示每頁展示多少嗎?
處理過程
最後我看他這樣呀,修改完不知道啥時候,我就把接口文檔的修改工作親自改完了。
反思大廠招人标準
看到這裡,大家估計都會新生疑問,我靠,這麼菜怎麼進的百度啊?。其實當時發完朋友圈,就一堆人在下面評論問我了,(PS:想窺探我朋友圈一手消息的,可以加我哈已經有我好友就不用加了哈,目前人數還沒到上限, 複制 QGLNB12342 添加即可)
這裡和大家說一下大廠招實習生看中什麼,其實大家可以從網上看看大廠的面經就知道了:
- 基礎紮實,計算機基礎:作業系統、資料庫、資料結構、計算機網絡、設計子產品、Java 基礎集合 Spring這些得會
- 手寫算法題可以徒手把《劍指 offer》上面的每道題10分鐘内寫出來
- 有個能說的項目
- 學曆尚可,學曆不行隻能找人内推,比如找喬戈裡内推。
是以你看,面試的時候也不會去讓你徒手寫個
json
啊,不會json并不影響你通過面試。關于上面這些進入大廠必備的東西,喬戈裡之前在準備面試的時候總結了一份資料,如下圖所示
已經幫助很多粉絲朋友拿到網際網路公司的 offer,最近一位讀者朋友說她拿到了百度的22K+12W 簽字費 offer。
需要的在我的公衆好 程式員喬戈裡 背景回複 888 擷取這份大廠面試寶典。
接口文檔
關于實習生的事情,雖然我自己親手改了接口文檔,但想着以後如果有寫接口文檔的事,也不能老是我親自動手啊,于是我在雙11的夜晚,整理了一些資料發給了實習生。
别問為什麼雙11晚上不陪女朋友過節,喬戈裡但凡有個女朋友,至于大晚上給一個大老爺們發這些資料嗎?
需要我整理的這些接口文檔資料的,可以在喬戈裡的公衆好:程式員喬戈裡 背景回複 接口文檔 擷取。
接口的命名規範
接口的 url 中比較重要的點就是路徑了我覺得:
路徑又稱"終點"(endpoint),表示API的具體網址。
在RESTful架構中,每個網址代表一種資源(resource),是以網址中不能有動詞,隻能有名詞,而且所用的名詞往往與資料庫的表格名對應。一般來說,資料庫中的表都是同種記錄的"集合"(collection),是以API中的名詞也應該使用複數。
舉例來說,有一個API提供動物園(zoo)的資訊,還包括各種動物
你如果想定位到某個動物園下的某種動物,那你的 url:
https://api.example.com/v1/zoos/{zooID}/animals/{animals}
zooID換成對應的動物園 ID,animals換成對應的動物。https://api.example.com/v1/zoos/2/animals/pig 就代表2号動物園的 pig。
接口的增删改查
比如你建立一個配置并進行儲存,那麼應該使用 post 方法,然後再進行編輯應該使用 put 方法。
雖然你使用 post 也可以在後端實作修改編輯的功能,甚至你可以使用 post 使用 get 方法,但是其實是不符合規範,大廠還是很注重規範。
翻頁的設計
每個公司可能前端的翻頁都有預設那一套,最好是和前端提前對齊再去設計接口文檔,别一個接口文檔一種翻頁方式,給前端和後端都增加不少工作量。
對齊
文檔如果更改完了,記得和大家對齊接口文檔
最後
喬戈裡原創不易,覺得有幫助的,希望人才們轉發、點贊、在看支援一波。