大厂新来的实习生,连Json都不知道都不知道,给乔戈里震惊了。。。

乔戈里,一名在北漂的大厂程序员,在这里记录下来乔戈里从校招进入大厂以来的点点滴滴。

事情

起因

如图所示,发生在这周的一个工作日,当时这份接口文档评审完成了(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/

zooID换成对应的动物园 ID,animals换成对应的动物。
https://api.example.com/v1/zoos/2/animals/pig
就代表2号动物园的 pig。

接口的增删改查

比如你新建一个配置并进行保存,那么应该使用 post 方法,然后再进行编辑应该使用 put 方法。

虽然你使用 post 也可以在后端实现修改编辑的功能,甚至你可以使用 post 使用 get 方法,但是其实是不符合规范,大厂还是很注重规范。

翻页的设计

每个公司可能前端的翻页都有默认那一套,最好是和前端提前对齐再去设计接口文档,别一个接口文档一种翻页方式,给前端和后端都增加不少工作量。

对齐

文档如果更改完了,记得和大家对齐接口文档

最后

乔戈里原创不易,觉得有帮助的,希望人才们转发、点赞、在看支持一波。

posted on 2020-11-14 17:07  程序员乔戈里  阅读(187)  评论(0编辑  收藏  举报