乔戈里,一名在北漂的大厂程序员,在这里记录下来乔戈里从校招进入大厂以来的点点滴滴。
事情
起因
如图所示,发生在这周的一个工作日,当时这份接口文档评审完成了(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晚上不陪女朋友过节,乔戈里但凡有个女朋友,至于大晚上给一个大老爷们发这些资料吗?
https://juejin.im/entry/6844903426350907400
需要我整理的这些接口文档资料的,可以在乔戈里的公众好:程序员乔戈里 后台回复 接口文档 获取。
接口的命名规范
接口的 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 方法,但是其实是不符合规范,大厂还是很注重规范。
翻页的设计
每个公司可能前端的翻页都有默认那一套,最好是和前端提前对齐再去设计接口文档,别一个接口文档一种翻页方式,给前端和后端都增加不少工作量。
对齐
文档如果更改完了,记得和大家对齐接口文档
最后
乔戈里原创不易,觉得有帮助的,希望人才们转发、点赞、在看支持一波。