史上最全PHP,Mysql,算法面试题,祝您进入BAT!
史上最全PHP,Mysql,算法面试题,祝您进入BAT!
如果你正在寻找开发的工作,那么提前掌握最新的PHP,Mysql,算法等面试题技巧,必然能使你在求职过程中事半功倍。
希望此文会给大家带来帮助,觉得写的不错的,对你有帮助的,可以动动你的手指点赞分享,祝愿正在找工作的你,能找一份满意的工作!
一、PHP面试题
1、在程序的开发中,如何提高程序的运行效率?
(1)优化SQL语句,查询语句中尽量不使用select *,用哪个字段查哪个字段;少用子查询可用表连接代替;少用模糊查询。
(2)数据表中创建索引。
(3)对程序中经常用到的数据生成缓存(比如使用redis缓存数据,比如使用ob进行动态页面静态化等等)。
(4)对mysql做主从复制,读写分离。(提高mysq执行效率和查询速度)
(5)使用nginx做负载均衡。(将访问压力平均分配到多态服务器)
2、PHP可否与其它的数据库搭配使用?
PHP与MYSQL数据库是最优搭配,当然PHP也可以去其它的数据库搭配使用,例如PostgreSql,SqlServer,Oracle,SqlLite等。
3、现在编程中经常采取MVC三层结构,请问MVC分别指哪三层,有什么优点?
MVC三层分别指:业务模型、视图、控制器,由控制器层调用模型处理数据,然后将数据映射到视图层进行显示。
优点是:①可以实现代码的重用性,避免产生代码冗余;②M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式
4.php选项/信息函数作用错误的是?
A、phpinfo() 输出关于 PHP 配置的信息
B、php_sapi_name() 返回 web 服务器和 PHP 之间的接口类型
C、ini_set() 为一个配置选项设置值
D、ini_get() 获取所有配置选项
参考答案:D
答案解析:
ini_get() 是获取一个配置选项,获取所有配置选项的函数是ini_get_all()
5.PHP运行模式哪个不适合做http服务?
A、cgi模式
B、fastcgi模式
C、isapi模式
D、cli模式
参考答案:D
答案解析:
cgi模式、fastcgi模式、isapi模式都可以提供http服务 cli模式不能提供http服务
6. php 的垃圾回收机制
PHP 可以自动进行内存管理,清除不需要的对象:
PHP 使用了引用计数 (reference counting) GC 机制。
每个对象都内含一个引用计数器 refcount,每个 reference 连接到对象,计数器加 1。当 reference 离开生存空间或被设为 NULL,计数器减 1。当某个对象的引用计数器为零时,PHP 知道你将不再需要使用这个对象,释放其所占的内存空间。
7. session 与 cookie 的区别和联系
区别:
1).存放位置:Session 保存在服务器,Cookie 保存在客户端。
2).存放的形式:Session 是以对象的形式保存在服务器,Cookie 以字符串的形式保存在客户端。
3).用途:Cookies 适合做保存用户的个人设置,爱好等,Session 适合做客户的身份验证
4).路径:Session 不能区分路径,同一个用户在访问一个网站期间,所有的 Session 在任何一个地方都可以访问到。而 Cookie 中如果设置了路径参数,那么同一个网站中不同路径下的 Cookie 互相是访问不到的。
5).安全性:Cookie 不是很安全,别人可以分析存放在本地的 COOKIE 并进行 COOKIE 欺骗,考虑到安全应当使用 session
6).大小以及数量限制:每个域名所包含的 cookie 数:IE7/8,FireFox:50 个,Opera30 个; Cookie 总大小:Firefox 和 Safari 允许 cookie 多达 4097 个字节,Opera 允许 cookie 多达 4096 个字 节,InternetExplorer 允许 cookie 多达 4095 个字节;一般认为 Session 没有大小和数量限制。
关系:
Session 需要借助 Cookie 才能正常工作。如果客户端完全禁止 Cookie,Session 将失效!因为 Session 是由应用服务器维持的一个 服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的 SessionID, 用该 SessionID 为标识符来存取服务器端的 Session 存储空间。
而 SessionID 这一数据则是保存到客户端,用 Cookie 保存的,用户提交页面时,会将这一 SessionID 提交到服务器端,来存取 Session 数据。这一过程,是不用开发人员干预的。所以一旦客户端禁用 Cookie,那么 Session 也会失效。
二、数据库部分
1.常见的关系型数据库管理系统产品有?
答:Oracle、SQL Server、MySQL、Sybase、DB2、Access等。
2.SQL语言包括哪几部分?每部分都有哪些操作关键字?
答:SQL语言包括数据定义(DDL)、数据操纵(DML),数据控制(DCL)和数据查询(DQL)四个部分。
数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等
数据操纵:Select ,insert,update,delete,
数据控制:grant,revoke
数据查询:select
3.完整性约束包括哪些?
数据完整性(Data Integrity)是指数据的精确(Accuracy) 和 可靠性(Reliability)。
包括:
(1)实体完整性:规定表的每一行在表中是惟一的实体。
(2)域完整性:是指表中的列必须满足某种特定的数据类型约束,其中约束又包括取值范围、精度等规定。
(3)参照完整性:是指两个表的主关键字和外关键字的数据应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。
(4) 用户定义的完整性:不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性即是针对某个特定关系数据库的约束条件,它反映某一具体应用必须满足的语义要求。
4.什么是事务?及其特性?
事务:是一系列的数据库操作,是数据库应用的基本逻辑单位。
特性:
(1)原子性:即不可分割性,事务要么全部被执行,要么就全部不被执行。
(2)一致性或可串性。事务的执行使得数据库从一种正确状态转换成另一种正确状态
(3)隔离性。在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务,
(4) 持久性。事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,事务的处理结果也会得到保存。
简单理解:在事务里的操作,要么全部成功,要么全部失败。
5.什么是锁?
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。
加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。
基本锁类型:锁包括行级锁和表级锁
6.什么叫视图?游标是什么?
视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。
游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需99元,即可下载本站文章涉及的文件和软件。
共有 0 条评论