日常分享php面试题

**

一:HTTP协议:

**
1、HTTP 是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统
2、HTTP 协议的主要特点可概括如下:
① .支持客户/服务器模式。
②.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法 常用 的有 GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于 HTTP 协议简单,使得 HTTP 服务器的程序规模小,因而通信速度很快。
③.灵活:HTTP 允许传输任意类型的数据对象。正在传输的类型由 Content-Type加 以标记。
④.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请 求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
⑤.无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。 缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能
导致每次 连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

二:电商的模式:

(1)B2B (Business to Business)模式, 是指商家与商家建立的商业关系。 例如我们在
麦当劳中只能够买到可口可乐是因为麦当劳与可口可乐中的商业伙伴的关系。 商家们建立
商业伙伴的关系是希望通过大家所提供的东西来形成一个互补的发展机会,大家的生意都可
以有利润。例子:阿里巴巴、慧聪。
(2)B2C (Business to Consumer)模式, 就是我们经常看到的供应商直接把商品卖给用
户,即“商对客”模式,也就是通常说的商业零售,直接面向消费者销售产品和服务。例如
你去麦当劳吃东西就是 B2C,因为你只是一个客户。例子:当当、卓越、优凯特。
(3)C2C 模式,它是指 customer to customer 即指客户与客户之间的点对点交易,网站
只是提供一个交易平台收取一定的交易费用,现在的拍卖网站都是这样的,如淘宝网、易趣
等。
(4)B2M 模式是指面向市场营销的电子商务企业(电子商务公司或电子商务是其重要营销渠
道的公司)。B2M 电子商务公司根据客户需求为核心而建立起的营销型站点,并通过线上
和线下多种渠道对站点进行广泛的推广和规范化的导购管理,从而使得站点作为企业的重要
营销渠道
(5)ABC 模式:是由代理商(Agents)、商家(Business)和消费者(Consumer)共同搭
建的集生产、经营、消费为一体的电子商务模式
(6)M2C 模式:生产厂家(Manufacturers)直接对消费者(Consumers)提供自己生产的产品
或服务的一种商业模式。
(7)B2A 模式(即 B2G):指的是企业与政府机构之间活动进行的电子商务。
(8)C2A 模式(即 C2G):消费者对行政机构的电子商务,指的是政府对个人的电子商务活
动。
(9)O2O 模式:Online To Offline(在线离线/线上到线下),是指将线下的商务机会与互联网
结合的电商模式。

三:OOP 面向对象

OOP 具有三大特点
1、封装性:也称为信息隐藏,就是将一个类的使用和实现分开,只保留部分接口和方法与
外部联系,或者说只公开了一些供开发人员使用的方法。于是开发人员只 需要关注这个类
如何使用,而不用去关心其具体的实现过程,这样就能实现 MVC 分工合作,也能有效避免
程序间相互依赖,实现代码模块间松藕合。
2、继承性:就是子类自动继承其父级类中的属性和方法,并可以添加新的属性和方法或者
对部分属性和方法进行重写。继承增加了代码的可重用性。PHP 只支持单继承,也就是说一
个子类只能有一个父类。
3、多态性:子类继承了来自父级类中的属性和方法,并对其中部分方法进行重写。于是多
个子类中虽然都具有同一个方法,但是这些子类实例化的对象调用这些相同的方法后却可以
获得完全不同的结果,这种技术就是多态性。多态性增强了软件的灵活性。
1、易维护
采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只
是在局部模块,所以维护起来是非常方便和较低成本的。
2、质量高
在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具
有较高的质量。
3、效率高
在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决
问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
4、易扩展
由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、
更容易扩展,而且成本较低。

四: 谈谈对 MVC 的认识

核心思想
视图和用户交互通过事件导致控制器改变 控制器改变导致模型改变 或者控制
器同时改变两者 模型改变 导致视图改变 或者视图改变 潜在的从模型里面获得参数 来改
变自己。他的好处是可以将界面和业务逻辑分离。
Model(模型),是程序的主体部分,主要包含业务数据和业务逻辑。在模型层,还会涉及
到用户发布的服务,在服务中会根据不同的业务需求,更新业务模型中的数据。
View(视图),是程序呈现给用户的部分,是用户和程序交互的接口,用户会根据具体的业
务需求,在 View 视图层输入自己特定的业务数据,并通过界面的事件交互,将对应的输入
参数提交给后台控制器进行处理。
Contorller(控制器),Contorller 是用来处理用户 输入数据,已经更新业务模型的部分。
控制器中接收了用户与界面交互时传递过来的数据,并根据数据业务逻辑来执行服务的调用
和更新业务模型的数据和状态。
**

五:Cookie 怎么存储购物车信息?

**
用 cookie 实现购物车,可以减小数据库的压力,不用每一次用户查看购物车都是从数据库
中获取。为了保持 cookie 中的购物车和数据库中的购物车数据相同,
应该是把 cookie 中购物车的数据和数据库中购物车的数据保持同步,用户不登陆时,把购
物车相关数据保存到 cookie 中,登陆后可以把 cookie 数据转移到数据库中。
在存储过程中,要注意 cookie 不能存数组及 cookie 的键的唯一性问题。
①存多条数据到数组中,数组的键为购物车中唯一的标识,如货品 ID 或者 SKU,值为购物
车相关数据的数组。
②把数组通过序列化或者 json_encode 转换为字符串后,存储到 cookie 中
③当有相同的数据再次存 cookie 时,先判断是否有值,然后把 cookie 数据取出来,转换为
数组,相关的数据进行替换后,再存入数组,并且进行字符串处理,再次存到 cookie 中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值