面试遇到的问题
时间:2017年03月29日 人气:...

怎么解决购物车库存不足的问题:

首先用户下单的时候 生成订单列表 会更新库存,库存不足 提示用户 同时 判断也需要判断用户订单信息,判断是否过期,并进行库存的更新。

购物车怎么实现的??

说说cookie原理实现的购物车,本质上是对数组和字符串的操作,未登录,用户加入购物车,ajax请求服务器查询相关商品信息 存入cookie,删除则是对存入的cookie数组的操作,购物车的读取便是读取本地cookie 生成商品信息渲染到浏览器即可。同时需要对购物车的数量进行限制 不能大于库存。登录则直接进行持久化存储。session,mysql的操作。登录后对cookie数组和数据表的数据进行合并操作。

如何优化sql?
首先需要诊断为何是什么原因导致的慢查询,然后进行具体的处理,可以使用explain或者开启慢查询日志进行性能分析,我对sql优化的理解是:

<1>避免使用select * 进行全表查询 特别是单表数据比较大的 会严重导致慢查询 
<2>使用where字段进行索引查询
<3>也可以开启sql缓存 如果是pdo可以使用预处理进行查询

Sql字段不能超过255个
大表可以采用分区分表来优化速度 partition by key (字段) partitions 分区数目
逻辑分区sql语句调整不是很大 物理分区则需要进行sql调整


tp框架的基本方法

ajaxreturn 返回json数据给前端 
Redirect 重定向到一个url地址 而不是跳转到具体的方法与控制器 
success,error提示i用户并且跳转 
assign 传递数据 
display 渲染模板
L设置和获取当前的语言定义

tp框架的验证:

静态方式:在模型类里面通过$_validate属性定义验证规则。 
动态方式:使用模型类的validate方法动态创建自动验证规则。
array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),

支付宝安全问题

支付宝采用了HTTPS加密传输,是无法抓包解密的。

攻击者修改了本地系统订单状态是你自己的业务逻辑与支付宝无关,为保证业务安全,你可以在点击发货时向支付宝接口查询交易状态,若未付款则拒绝。

第二种,第二天下载交易数据进行比对。

另外不要用同步通知URL来修改订单状态使用异步

Xss攻击方式

恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的
一般有两种 存储型,反射型 存储型会入库 反射型直接出现web页面

怎么防范呢??

1:直接过滤 使用正则或者自定义规则禁止特殊的字符入库

2:转换为实体 然后再入库 htmlspecialchars 的使用

rbac是怎么实现的??
条件为:登录或者未登录 登录进行权限校验 未登录直接让其登录 
之前的项目采用的是五表形式实现的 rbac ,主要包括角色表,权限表,节点表,用户表,用户角色表 
rbac主要是根据用户的权限id 来进行权限的控制 根据role_id来匹配用户的权限 根据用户的访问的url来进行比较判断 最终确定是否有权访问


热门评论