首先,我来分析下这道题目在面试中出现的频率,大概在40%。
为什么会有这么高的概率?
因为,随着互联网的飞速发展,移动互联网的飞速发展。
越来越多的用户不再像是以前那样只满足与电脑端进行网上冲浪,很多人慢慢地转移到移动端上网进行学习,购物和其他的日常生活。
这就决定了每一个人上网的方式可能各不相同,软件就要适用各个终端的方式。
并且早期的时候,其实前后端分离还没有被普遍的时候,我们统一的都是java开发人员,前端更多关注的时候这个页面写的漂不漂亮,只会做一些简单的切图等工作。
这样,java开发人员就要保证和服务器交互的代码没问题,还要考虑请求数据和响应数据的展示在前端没有问题,完全就是一个既当爸还得承担生娃的角色。
但是后来,用户数量的激增,人们对软件的要求越来越高,很多用户不仅仅是要求软件响应速度快,还要求界面长得美观。
由于这样的要求,就决定了为了适应社会的发展,开发人员慢慢分化成两端:前端和后端
前端人员更多的关注的是整个页面的美观程度,以及处理从服务器返回的数据,包括相关的一些前端计算(主要是js来完成的)
后端人员呢?更多的是关注与服务器的交互,就会腾出更多的精力关注:三高(高并发,高可用,高性能),安全,存储,业务等等。
那么如何区分是前端的bug还是后端的bug呢?
主要通过以下几个点去排查:
1,通过前端页面操作的时候,检查是否有接口请求发送。
如果没有请求发送,那么肯定是前端的问题
2,通过前端操作,有接口请求发送,检查请求参数是否有问题
如果请求参数有问题,那么说明前后端联调的过程中,前端传参错误,前端问题
3,通过前端操作,有接口请求发送,请求参数无误,检查返回response
如果返回response有问题,那么就是后端的问题
4,通过前端操作,有接口请求发送,请求参数无误,返回response没问题,那么就是前端在解析返回的response时,解析出错了,就是前端的问题。