1、UDP和TCP有什么区别
答:1)连接方面区别:
TCP面向连接(如打电话要先拨号建立连接)
UDP是无连接的,即发送数据之前不需要建立连接
2)安全方面的区别:
TCP提供可靠的服务,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达
UDP尽最大努力交付,即不保证可靠交付
3)传输效率的区别:
TCP传输效率相对较低
UDP传输效率高,适用于对高速传输和实时性有较高的通信或广播通信
4)连接对象数量的区别
TCP连接只能是点到点,一对一的
UDP支持一对一,一对多,多对一和多对多的交互通信
2、MySQL、MySQLi和PDO的区别
答: 1)mysql扩展提供了一个面向过程的接口;并且是针对Mysql4.1.3或更早版本设计的,因此这个扩展虽然可以与mysql4.1.3数据库服务端进行交互,但是不支持后期版本的mysql服务端的某些特性
2)mysqli扩展,我们有时称之为mysql增强扩展,可以用于使用mysql4.1.3或更新版本中新的高级特性;mysqli扩展有一系列的优势,相对于mysql扩展的提升主要有:面向对象接口、prepared语句支持、多语句执行支持、事务支持、增强的调试能力、嵌入式服务支持
3)PHP数据对象,是PHP应用中的一个数据库抽象层规范,PDO提供了一个统一的API接口可以使得你的PHP应用不去关心具体要连接的数据库服务器系统类型,也就是说,如果你使用PDO的API,可以在任何需要的时候无缝切换数据库服务器。
PDO是PHP5.1之后才支持的,他为访问数据库采用了一致性的接口,在链接Mysql上几乎没有区别,PDO的性能损失可以忽略不计,同时具有mysql扩展库所不具备的优点
1:PDO真正的以底层实现的统一接口数据操作接口
2:PDO支持更高级的DB特性操作,如:存储过程的调度等,mysql原生库是不支持的
3:PDO是PHP官方的pecl库,兼容性稳定性必然要高于mysql Extension,可以直接使用pecl upgrade pdo命令升级
3、MVC、面向对象、面向切面的理解
答: MVC:模型-》视图-》控制器,是常见的软件设计架构,用一种业务逻辑、数据、界面显示分离的方式组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制页面及用户交互的同事,不需要重新编写业务逻辑。
面向对象:简称OOP,三大特性,封装、继承、多态
封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性
继承:提高代码复用性,继承是多态的前提
多态:父类或接口定义的引用变量可以指向子类或具体实现类的实力对象,提高了程序的扩展性
面向切面:是一种针对业务处理过程中的切面进行提取,它面对的是处理过程中的某个步骤或阶段,以达到在逻辑过程中的各部分之间低耦合性的代码隔离效果
4、列出常见数组函数,各自有何作用?
答: array_flip() :交换数组中的键和值
array_diff() :返回两个数组的差集数组
array_diff_key():比较键名,并返回两个数组的差集数组
array_column():返回输入数组中某个单一列的值
array_merge():把一个或多个数组合并为一个数组
array_pop():将数组最后一个单元弹出(出栈)
array_push():将一个或多个单元压入数组的末尾(入栈)
array_rand():从数组中随机选出一个或多个元素,并返回键值
array_unique():删除数组中重复的值
in_array():检查数组中是否存在指定的值
array_values():返回数组中所有的值,不包括键值名
array_key_exists():检查给定的键名或索引是否存在于数组中
来源:https://www.cnblogs.com/Mr-Echo/p/12152227.html