金三银四开始了,所以花了很长时间搜集整理出来了这套PHP面试题大全,希望对大家有帮助哈~

还将大量面试题整理成了一个PHP面试手册,是PDF版的。

关注微信公众号:PHP大神,然后回复“面试手册”即可获取~

1.库存设置?

答:库存分为商品总库存和SKU库存,往往商品总库存的为SKU库存的总和。一般在商城的后台对货品设置最高库存及最低库存后,当前库存数量与最高、最低两者比较,超出库存或者低于库存的,则被统计成报表形式反映,便于用户掌握货品库存超、短缺状态及数量。

2.订单、库存两个表 如何保证数据的一致性?

答:在一个电子商务系统中,正常的应该是订单生成成功后,相应的库存进行减少必须要保证两者的一致性,但有时候因为某些原因,比如程序逻辑问题,并发等问题,导致下单成功而库存没有减少的情况。这种情况我们是不允许发生的,MySQL的中的事务刚好可以解决这一问题,首先得选择数据库的存储引擎为InnoDB的,事务规定了只有下订单完成了,并且相应的库存减少了才允许提交事务,否则就事务回滚,确保数据一致性。

3.O2O用户下单,c端下单,如何保证ba端数据一致?

答:O2O为线上和线下模式,O2O模式奉行的是“线上支付+实体店消费”的消费模式,即消费者在网上下单完成支付后,凭消费凭证到实体店消费。 O2O模式是把商家信息和支付程序放在线上进行,而把商品和服务兑现放在线下,也就是说O2O模式适用于快递无法送达的有形产品。数据一致性的问题是O2O行业中最常见的问题,我们可以类似于数据库的主从复制的思路来解决这个问题.O2O有个供应商系统,类似于主服务器,在ç端(从服务器)下单时,数据同步更新到供应商系统端,b,a实时从供应商系统中拉取数据进行同步,比如利用定时任务,定时拉取数据进行同步。

4.Redis如何防止高并发?

答:其实redis是不会存在并发问题的,因为他是单进程的,再多的命令都是一个接一个地执行的。我们使用的时候,可能会出现并发问题,比如获得和设定这一对。Redis的为什么 有高并发问题?Redis的的出身决定
Redis是一种单线程机制的nosql数据库,基于key-value,数据可持久化落盘。由于单线程所以redis本身并没有锁的概念,多个客户端连接并不存在竞争关系,但是利用jedis等客户端对redis进行并发访问时会出现问题。发生连接超时、数据转换错误、阻塞、客户端关闭连接等问题,这些问题均是由于客户端连接混乱造成。
同时,单线程的天性决定,高并发对同一个键的操作会排队处理,如果并发量很大,可能造成后来的请求超时。
在远程访问redis的时候,因为网络等原因造成高并发访问延迟返回的问题。

解决办法:
在客户端将连接进行池化,同时对客户端读写Redis操作采用内部锁synchronized。
服务器角度,利用setnx变向实现锁机制。

5.秒杀当中的细节你是怎么得出来的?

答:通过性能测试及模拟秒杀场景。每个问题都经过反复测试,不断的发现问题,不断的解决。

6.做秒杀用什么数据库,怎么实现的?

答:因为秒杀的一瞬间,并发非常大,如果同时请求数据库,会导致数据库的压力非常大,导致数据库的性能急剧下降,更严重的可能会导致数据库服务器宕机。这时候一般采用内存高速缓存数据库redis来实现的,redis是非关系型数据库,redis是单线程的,通过redis的队列可以完成秒杀过程。

7.支付宝流程怎么实现的?

答:首先要有一个支付宝账号,接下来向支付宝申请在线支付业务,签署协议。协议生效后有支付宝一方会给网站方一个合作伙伴ID,和安全校验码,有了这两样东西就可以按照支付宝接口文档开发支付宝接口了,中间主要涉及到一个安全问题。整个流程是这样的:我们的网站通过post传递相应的参数(如订单总金额,订单号)到支付页面,支付页面把一系列的参数经过处理,以post的方式提交给支付宝服务器,支付宝服务器进行验证,并对接收的数据进行处理,把处理后的结果返回给我们网站设置的异步和同步回调地址,通过相应的返回参数,来处理相应的业务逻辑,比如返回的参数代表支付成功,更改订单状态。

8.什么是单点登录?

答:单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。

9.什么情况下使用缓存?

答:当用户第一次访问应用系统的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候,就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把 ticket送到认证系统进行校验,检查ticket的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了.

实现主要技术点:
    1、两个站点共用一个数据验证系统
    2、主要通过跨域请求的方式来实现验证及session处理。

10.怎么实现第三方登录?

答:第三方登陆主要是基于author协议来实现,下面简单说下实现流程:

1、首先我们需要以开发者的身份向第三方登陆平台申请接入应用,申请成功后,我们会获得一个appID和一个secrectID.

2、当我们的网站需接入第三方登陆时,会引导用户跳转到第三方的登陆授权页面,此时把之前申请的appID和secrectID带给登陆授权页面。

3、用户登陆成功后即得到授权,第三方会返回一个临时的code给我们的网站。

4、我们的网站接受到code后,再次向我们的第三方发起请求,并携带接收的code,从第三方获取access_token.

5、第三方处理请求后,会返回一个access_token给我们的网站,我们的网站获取到access_token后就可以调用第三方提供的接口了,比如获取用户信息等。最后把该用户信息存入到我们站点的数据库,并把信息保存到session中,实现用户的第三方登陆。

未完待续~~~~~

更多面试题欢迎扫码关注,你的关注是我最大的动力,回复“面试手册”直接下载。

2021年3月春招百度,阿里,美团等大厂全新PHP面试题大汇总(三)相关推荐

  1. 2021百度,阿里,美团等大厂全新PHP面试题大汇总(一)

    金三银四马上开始了,所以花了很长时间搜集整理出来了这套PHP面试题大全,希望对大家有帮助哈~ 博主还将大量面试题整理成了一个PHP面试手册,是PDF版的. 关注博主的微信公众号:PHP大神,然后回复& ...

  2. 大数据基础课03 阿里美团这些大厂都在用什么大数据架构?

    首先,我想讲一个叫庖丁解牛的故事,想必你应该听过.庖丁从开始杀牛,到他的故事被写下,操刀十九年,杀了数千头牛.也正是由于丰富的实践经验,他总结出了解杀牛的方法论:依照牛生理上的天然结构,砍入牛体筋骨相 ...

  3. 谨以此文纪念2019年3月春招

    谨以此文纪念2019年3月春招 简历情况 本科大三,5%. 计算机视觉深度学习项目2个(一大一小),大项目论文投了<计算机应用>. 浙江省"新苗"科技创新项目立项,绍兴 ...

  4. 【I-intern】2021年留学生回国春招要注意哪些问题?

    2020是不平凡的一年,疫情的到来几乎打乱了所有人的阵脚,而这里的所有人包括全球各地的人.随着疫情的不断扩散,2020年大家不得不面对的现实是,延迟开学,延迟上班,取消考试,推迟招聘-时间过的匆忙,一 ...

  5. 2021年3月19日 百度开发实习面试(质量效能研发部)(一面)

    title: 2021年3月19日 百度开发实习面试(质量效能研发部)(一面) tags: 面经 2021年3月19日 百度开发实习面试(质量效能研发部)(一面) 自我介绍介绍项目你介绍一下hashm ...

  6. 京东2021年5月社招软件测试面试题【有答案】

    京东2021年5月社招软件测试面试题[有答案] 1. http常见状态码有哪些? 2. HTTP协议特点有哪些? 3. 给你一个网站,你如何测试? 4. 一条软件缺陷记录都包含了哪些内容?如何提交高质 ...

  7. 最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析

    最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的 i .每次从通里面拿 ...

  8. 索信达2021届校园招聘春招正式启动

    索信达2021届春招正式启动 "和喜欢的人一起工作" 如果你对前沿技术充满热情 致力于用技术改变未来 如果你对Data Science.AI感兴趣 愿意为数据变革做出贡献 那么 请 ...

  9. 太妙了!2021年java岗春招通关秘籍开放下载,喜大普奔

    前言 首先介绍下我的个人背景,不知名211本科,软件工程专业,无实习经历,无大赛奖项,标准两无选手,JAVA开发方向,到后期用的项目是一个CRUD加点分布式的管理系统! 整个秋招+补招的结果:一共投递 ...

最新文章

  1. linux+bin+写入引导区,CentOS 6.4 U盘启动盘制作、安装及遇到的问题解决
  2. Deep learning:三十六(关于构建深度卷积SAE网络的一点困惑)
  3. 百倍提升张量计算:谷歌开源TensorNetwork
  4. cocos creator 获取当前时间_前端开发者入门 Creator 必读吧
  5. 需求分析 应该先写业务还是功能_产品经理必知:产品调研中功能调研的标准“姿势”...
  6. Java Collections.emptyList() 方法的使用及注意事项
  7. 如何将shapefile进行拆分
  8. Hello,CNDS!(第一次博客)
  9. 985,211,双一流,34所,C9,国防七子,五虎四小龙,五院四系,东南西北中傻傻分不清
  10. 4.顺序栈和循环队列的基本运算
  11. 坚果pro2s android 8,坚果Pro2s和iPhone8手机对比实用评测
  12. 利用kali hydra 暴力破解Windows7(hydra的基本用法)会继续更新
  13. UNCTF2021 部分WP
  14. 计算机读心术的原理,读心术是什么原理,是真的吗
  15. 你的计划为什么运行不下去?怎么破?
  16. Python——嵌套
  17. Mac安装mysql忘记初始的默认密码!!
  18. Android的自动锁屏、解锁
  19. 冷热循环一体机膨胀阀故障排查方法
  20. 张尧学讲座(中南大学校长讲座)-------用户控制的云计算----透明云计算

热门文章

  1. NAP客户端计算机隔离测试之三
  2. 玩转树莓派《二》——用python实现动画与多媒体
  3. 根据经纬度查询方圆5公里数据信息
  4. unity toggle和togglegroup问题
  5. 打砖块游戏html代码,打砖块游戏的源代码
  6. Centos7 安装GPU驱动(rpm包方式安装) 亲测,出坑 NVIDIA-SMI has failed because it couldn’t communicate...
  7. 2016年中国软件行业基准数据正式发布
  8. 小京鱼APP - 添加新设备日记 - 格力空调静享WIFI系列 - “没有找到待添加的设备”
  9. [树莓派可视化软件开发]pyqt-tools下载失败问题
  10. rx590 黑苹果 无货_黑苹果10.14免驱显卡表