欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

怎么分析sql查询速度等问题,被面试官问成懵逼了

程序员文章站 2022-05-25 10:18:00
...
1.支付宝支付回调地址如果延迟,怎么处理
2.怎么分析sql查询速度
3.你是如何用php做app接口的,答:返回json. 他说 这太不专业了...

回复内容:

1.支付宝支付回调地址如果延迟,怎么处理
2.怎么分析sql查询速度
3.你是如何用php做app接口的,答:返回json. 他说 这太不专业了...

这几个问题回答起来没什么意思,我主要分析分析面试官为什么问你这几个问题。

问题 1 主要应该是想了解你对调用其他程序或接口时出现的异常情况是如何处理的,毕竟程序的运行并不总是一帆风顺,如果由于其他的接口出现了问题,而你没有处理好这些问题继而引发你写的程序出错或崩溃,那确实不是一个优秀的程序员所做的。程序员不仅应该了解用户按常理出牌,按既定路线完成程序的情况,还应该做好发生各种异常情况的处理。

问题 2 主要应该是想了解你是怎样评估你写的程序的,是通过怎样的手段了解的程序的运行情况,是如何优化你的程序的。实现功能并不是程序员的唯一目标,在实现功能的情况下做一个优秀的、高效的程序也是一项艰巨的工程。

问题 3 主要应该是想了解你对程序体系结构,或者说是架构的理解,程序不是简单的代码堆积,是有思想线路支撑,有模块协作分工的。作为程序员,虽然可能不会去实际写某一块的东西,但是至少应该了解这些模块的功能以及所有模块之间的联系和他们是如何协作工作的。就好比实现一个接口,你需要处理输入,进行逻辑判断,数据库操作,遇到错误的响应,返回结果等等,这里每一块都是相当细致的。

路过了,简单说一下自己脑海中最直接的想法。一家之言,欢迎拍砖。

第一个问题:

感觉面试官应该是考察题主对与程序中异常和错误的解决方案,我觉得以前三点为必填:

1.记录日志;
2.将失败支付放入失败队列或数据库管理;
3.重现问题,找到原因并想办法规避;

第二个问题:

之前面试的时候同样遇到过,不知道这个理想的答案是什么?路过的大神求帮忙说一下;

我之前提的问题

第三个问题:

APP接口,各种接口什么的,我估计题主没说到重要的一点:RESTful

我估计会这样说:

1.整个系统采用 RESTful架构模式
2.部分涉及到权限的业务采用类似 微信Access_Token 机制;
3.接口调用次数限制等管理,日志相关记录;
BalaBala ....

好吧,答完之后才发现楼上的哥们已经提到了 RESTful 。-_-

记得当时毕业的时候给我们讲面试相关知识的老师说,回答面试官的问题尽量详细,不要太简洁,面试官既然面试你是想听你说,不是要你听你回答yes or no。所以,如果可以的话,尽量认真详细的回答。app接口返回Json这种回答方式,会让对方觉得你回答问题不认真,也没有重视这个问题。

app接口返回json有错吗???
我是学生党,想了解

问答是为了考察你解决问题的思路而不是要最重答案,所以要说的详细点 api接口虽然最终返回是json,但面试官更想知道处理接口的整个流程,涉及到很多点。加密 认证 错误处理 缓存等

一:我也不太清楚延迟怎么办,懂得人可以顺便回答一下我谢谢你。
二:explain,profiling然后可以顺带讲述优化的关键点,例如缓存,服务器配置。
三:关键词应该在restful,json,加密,安全,错误处理,可以的话加上文档。
简单阐述一下这几样的开发流程就好。

json接口不专业?
restful不是Json吗?
我觉得东西设计 没有专业 不专业 只有设计的合理不合理 适合不适合当前的业务~


1、异步延迟还是会经常出现的,这个时候可以采取主动查询的方案。由系统定时或者用户触发查询支付状态接口。当然这个接口要谈。
2、explain
3、这个你回答的也太简单了,json只是说交互的数据格式。协议、安全、性能,每个点都能扯上几句起码代表还算比较了解的。

这个延迟太难处理了,主动查询,几乎没法判断对方是否支付了

问题一处理方法是,异步回调、同步回调同时使用。然后主动查询自己数据库里的状态。

1、异步回掉延迟,一般使用主动轮询查询,获取返回结果
2、explain 查看type类型和ref等级
3、接口架构啊,看看restful api

问的问题都比较简单嘛,还没往深入问,应该是问题顺序是一个比一个简单,到问题三基本的想法是跟着面试者的思维走了。