zoukankan      html  css  js  c++  java
  • 大厂新来的实习生,连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/{animals}

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

    接口的增删改查

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

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

    翻页的设计

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

    对齐

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

    最后

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

  • 相关阅读:
    SpringCloud五大组件
    js获取系统信息
    java深入
    java实现群头像合成
    .net读取上传apk文件的包名、软件名称、logo解决方法
    SignalR 跨域设置
    Html5 Video 实现方案
    JS 日期工具类-基于yDate
    图片下载本地缓存时间戳显示图片方法
    一个Notification 进度条插件(android,NJS实现,直接就可使用)
  • 原文地址:https://www.cnblogs.com/qiaogeli/p/13973943.html
Copyright © 2011-2022 走看看