志在指尖
用双手敲打未来

一些腾讯PHP程序员面试题目共享

1. php 的废物收回机制
PHP 能够自动进行内存管理,铲除不需求的方针。
PHP 运用了引证计数 (reference counting) GC 机制。
每个方针都内含一个引证计数器 refcount,每个 reference 衔接到方针,计数器加 1。当 reference 脱离生计空间或被设为 NULL,计数器减 1。当某个方针的引证计数器为零时,PHP 知道你将不再需求运用这个方针,释放其所占的内存空间。
参阅:https://www.php.net/manual/zh/features.gc.refcounting-basics.php
2. 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 也会失效。
3. 怎么修正 SESSION 的生计时刻
1、设置阅读器保存的 sessionid 失效时刻 setcookie (session_name (), session_id (), time () + $lifeTime, “/”);
2、能够运用 SESSION 自带的 session_set_cookie_params (86400); 来设置 Session 的生计期
3、经过修正 php.ini 中的 session.gc_maxlifetime 参数的值就能够改动 session 的生计时刻
4. PHP 页面重定向的办法有哪些
header(‘Location: http://www.baidu.com/’) ;
echo”;
echo”;
5. PDO、adoDB、PHPLib 数据库笼统层比较
PHP 数据库笼统层就是指,封装了数据库底层操作的介于 PHP 逻辑程序代码和数据库之间的中间件。
PDO 以 PHP 5.1 为根底进行规划,它运用 C 语言做底层开发,规划沿承 PHP 的特色,以简洁易用为准,从严格意义上讲,PDO 应该归为 PHP 5 的 SPL 库之一,而不应该归于数据笼统层,因为其自身和 MySQL 和 MySQLi 扩展库的功用相似。PDO 是不合适用在打算或许有或许会变更数据库的系 统中的。
ADODB 不论后端数据库怎么,存取数据库的办法都是共同的;
转移数据库渠道时,程序代码也不用做太大的更动,事实上只需求改动数据库装备文 件。供给了大量的组装办法,意图就是针对不同的数据库在笼统层的底层对这些句子进行针对性的翻译,以适应不同的数据库方言!
可是这个笼统层好像体积过于庞 大了,悉数文件大概有 500K 左右,假设你做一个很小的网站的话,用这个好像大材小用了
PHPLib 或许是伴随 PHP 一同成长最老的数据库笼统层(但和 ADODB 比较,它只算是一个 MySQL 笼统类库),这个笼统类运用办法适当简略,体积小,是小型网站开发不错的挑选。
PDO 供给预处理句子查询、过错反常处理、灵敏获得查询成果(回来数组、字符串、方针、回调函数)、字符过滤防止 SQL 进犯、业务处理、存储进程。
ADODB 支撑 缓存查询、移动记录集、(HTML、分页、挑选菜单生成)、业务处理、输出到文件。
参阅:http://apps.hi.baidu.com/share/detail/463678
6. 长衔接、短衔接的差异和运用
长衔接:client 方与 server 方先树立衔接,衔接树立后不断开,然后再进行报文发送和接纳。这种办法下因为通讯衔接一向存在。此种办法常用于 P2P 通讯。
短衔接:Client 方与 server 每进行一次报文收发交易时才进行通讯衔接,交易完毕后当即断开衔接。此办法常用于一点对多点通讯。C/S 通讯。
长衔接与短衔接的运用机遇:
长衔接:
短衔接多用于操作频繁,点对点的通讯,并且衔接数不能太多的情况。每个 TCP 连 接的树立都需求三次握手,每个 TCP 衔接的断开要四次握手。假设每次操作都要树立衔接然后再操作的话处理速度会下降,所以每次操作下次操作时直接发送数据 就能够了,不用再树立 TCP 衔接。例如:数据库的衔接用长衔接,假设用短衔接频繁的通讯会造成 socket 过错,频繁的 socket 创立也是对资源的浪 费。
短衔接:
web 网站的 http 服务一般都用短衔接。因为长衔接关于服务器来说要耗费一定 的资源。像 web 网站这么频繁的不计其数甚至上亿客户端的衔接用短衔接更省一些资源。试想假设都用长衔接,并且同时用不计其数的用户,每个用户都占有一个 衔接的话,可想而知服务器的压力有多大。所以并发量大,可是每个用户又不需频繁操作的情况下需求短衔接。
7. HTTP 协议详解、运用
http(超文本传输协议)是一个依据恳求与呼应形式的、无状况的、短衔接、灵敏、运用层的协议,常依据 TCP 的衔接办法。
参阅:https://www.php.cn/faq/437523.html (http 协议详解)
(HTTP 呼应状况码)
HTTP 呼应状况码
状况代码有三位数字组成,第一个数字界说了呼应的类别,且有五种或许取值:
1xx:指示信息 — 表明恳求已接纳,持续处理
2xx:成功 — 表明恳求已被成功接纳、了解、接受
3xx:重定向 — 要完成恳求有必要进行更进一步的操作
4xx:客户端过错 — 恳求有语法过错或恳求无法完成
5xx:服务器端过错 — 服务器未能完成合法的恳求
常见状况代码、状况描绘、阐明:
200 OK // 客户端恳求成功
400 Bad Request // 客户端恳求有语法过错,不能被服务器所了解
401 Unauthorized // 恳求未经授权,这个状况代码有必要和 WWW-Authenticate 报头域一同运用 403 Forbidden // 服务器收到恳求,可是回绝供给服务
404 Not Found // 恳求资源不存在,eg:输入了过错的 URL
500 Internal Server Error // 服务器发作不可预期的过错
503 Server Unavailable // 服务器超时 // 或许康复正常
304 Not Modifed // 自从上次恳求后,恳求的网页未修正过。
// 服务器回来此呼应时,不会回来网页内容。
8. 异构体系通讯中的通讯加密方案
参阅:https://www.php.cn/php-weizijiaocheng-437530.html
9. socket 衔接进程
Socket(套接字)概念
套接字(socket)是通讯的柱石,是支撑 TCP/IP 协议的网络通讯的根本操作单元。它是网络通讯进程中端点的笼统表明,包含进行网络通讯有必要的五种信息:衔接运用的协议,本地主机的 IP 地址,本地进程的协议端口,远地主机的 IP 地址,远地进程的协议端口。
Socket 衔接进程
树立 Socket 衔接至少需求一对套接字,其中一个运转于客户端,称为 ClientSocket ,另一个运转于服务器端,称为 ServerSocket
套接字之间的衔接进程能够分为三个进程:服务器监听,客户端恳求,衔接承认。
服务器监听:是服务器端套接字并不定位详细的客户端套接字,而是处于等待衔接的状况,实时监控网络状况。
客户端恳求:是指由客户端的套接字提出衔接恳求,要衔接的方针是服务器端的套接字。为此,客户端的套接字有必要首先描绘它要衔接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出衔接恳求。
衔接承认:是指当服务器端套接字监听到或许说接纳到客户端套接字的衔接恳求,它就呼应客户端
套接字的恳求,树立一个新的线程,把服务器端套接字的描绘发给客户端,一旦客户端承认了此描绘,衔接就树立好了。而服务器端套接字持续处于监听状况,持续接纳其他客户端套接字的衔接恳求。
10. TCP 协议,三次握手、四次挥手
TCP 协议 (Transmission Control Protocol) 是主机对主机层的传输控制协议,供给牢靠的衔接服务,选用三次握手承认树立一个衔接,四次挥手断开衔接。
位码即 tcp 标志位,有 6 种标示:
SYN (synchronous 树立联机) 同步
ACK (acknowledgement 承认)
PSH (push 传送)
FIN (finish 完毕)
RST (reset 重置)
URG (urgent 紧迫)
11. php 中常用效果相似,功用差异很大的函数区别及举例
参阅:http://apps.hi.baidu.com/share/detail/43169774
12. posix 及 perl 兼容正则比较,及函数功用剖析
POSIX 正则和 PCRE 正则最显著的需求知道的不同点:
1、PCRE 函数需求形式以分隔符闭合.
2、POSIX 兼容正则没有批改符。不像 POSIX, PCRE 扩展没有专门用于巨细写不敏感匹配的函数。取而代之的是,支撑运用 /i 形式修饰符完成同样的工作。其他形式修饰符同样可用于改动匹配战略.
3、POSIX 函数从最左面开始寻觅最长的匹配,可是 PCRE 在第一个合法匹配后中止。假设字符串 不匹
配这没有什么差异,可是假设匹配,两者在成果和速度上都会有不同。为了阐明这个不同,考虑下面的例子 (来自 Jeffrey Friedl 的《通晓正则表达式》一书). 运用形式 one (self)?(selfsufficient)? 在字符串 oneselfsufficient 上匹配,PCRE 会匹配到 oneself, 可是运用 POSIX, 成果将是整个字符串 oneselfsufficient. 两个子串都匹配原始字符串,可是 POSIX 将 最长的最为成果.
PCRE 可用的修饰符: (i,s,m)
13. 完成 PERL 正则表达式,抓取 html 文件 a 标签的全部 href 超链接
正则:/]/is
$html = << HTML;
$matches = array();
preg_match_all ( “/]/is”, $html, $matches ); print_r ($matches [1]); // 输出全部超链接
?>
14. 预界说变量、戏法变量、戏法办法比较,及效果举例
预界说变量(超级全局变量)
$GLOBALS
$_SERVER
$_GET
$_POST
$_COOKIE
$_SESSION
$_REQUEST
$_ENV
戏法办法 http://apps.hi.baidu.com/share/detail/17851228
construct 和 destruct
__autoload
get 和 set
isset 和 unset
call 和 callStatic
__clone
__toString
sleep 和 wakeup
__invoke
戏法变量 http://apps.hi.baidu.com/share/detail/17851228
LINE
FILE
DIR
CLASS
FUNCTION
METHOD
NAMESPACE
15. spl 常用数据结构类
16. PHP 规划形式
工厂形式
树立一个工厂(一个函数或一个类办法)来制作新的方针
工厂形式 是一种类,它具有为您创立方针的某些办法。您能够运用工厂类创立方针,而不直接运用 new。这样,假设您想要更改所创立的方针类型,只需更改该工厂即可。运用该工厂的全部代码会自动更改。
单例形式
某些运用程序资源是独占的,因为有且只要一个此类型的资源。例如,经过数据库句柄到数据库的衔接是独占的。您希望在运用程序中同享数据库句柄,因为在保持衔接翻开或关闭时,它是一种开支,在获取单个页面的进程中更是如此。
单元素形式能够满意此要求。
PHP 中的单例形式(singleton pattern):指的是在 PHP 的运用程序的范围内只对指定的类创立一个实例。
在 PHP 中运用单例形式的类通常拥有一个私有构造函数和一个私有克隆函数,以防 止用户经过创立方针或许克隆对其进行实例化。还有一个静态私有成员变量 $instance 与静态办法 getInstance。getInstance 担任对其自身实例化,然后将这个方针存储在 $instance 静态成员变量中,以保证只要一个实例被创立。
观察者形式
指令链形式
战略形式
17. 负载均衡的 web 运用服务器规划,例如 youku
用 PHP 做负载均衡指南
考虑怎么应对以下问题?
参阅:https://www.php.cn/php-weizijiaocheng-437532.html
在 Apache 负载均衡的情况下,做 PHP 开发怎么考虑一下几方面:
PHP 源文件在服务器、PHP 文件上传处理、相关装备文件、Session 会话放置、日志放置
Apache 负载均衡的原则
轮询均衡战略 (轮询转发恳求)
按权重分配均衡战略 (按呼应数量转发恳求)
权重恳求呼应负载均衡战略 (按呼应流量转发恳求)
18. 怎么优化前端功用
1) 页面内容的优化
a) 下降恳求数
兼并 css、js 文件,集成 CSS 图片
b) 削减交互通讯量
紧缩技能:紧缩 css、js 文件,优化图画,削减 cookie 体积;
合理运用缓存:运用外部 js/css 文件,缓存 ajax;
削减不用要的通讯量:除掉无用脚本和样式、推迟加载内容、运用 GET 恳求
c) 合理运用 “并行” 尽量防止重定向
慎用 Iframe 样式表置于顶部 脚本放到样式后面加载
d) 节约体系耗费
防止 CSS 表达式、滤镜
2) 服务器的优化
a) b)
c)
d)
19. yahoo 的 34 条前端优化规律
削减 HTTP 恳求、运用 CDN 技能、 设置头文件过期或许静态缓存、Gzip 紧缩、把 CSS 放顶部、 把 JS 放底部、防止 CSS 表达式、将 JS 和 CSS 外链、削减 DNS 查找、减小 JS 和 CSS 的体积、 防止重定向、删去重复脚本、 装备 ETags、缓存 Ajax、尽早的释放缓冲、
用 GET 办法进行 AJAX 恳求、推迟加载组件、 预加载组件、削减 DOM 元素数量、跨域别离组件、
削减 iframe 数量、不要呈现 404 页面、减小 Cookie、 对组件运用无 Cookie 的域名、削减 DOM 的拜访次数、开发灵敏的事件处理句柄、运用而非 @import、防止过滤器的运用、优化图片、优化 CSS Sprites、 不要在 HTML 中缩放图片、缩小 favicon. ico 的巨细并缓存它、保证组件在 25K 以下、将组件打包进一个多部分的文档中
20. 数据库缓存的根本理论,参阅 memcached
什么是 Memcached?
memcached 是高功用的分布式内存缓存服务器。一般的运用意图是,经过缓存数据库查询成果,削减数据库拜访次数,以提高动态 Web 运用的速度、提高可扩展性。
虽然 memcached 运用了同样的 “Key=>Value” 办法安排数据,可是它和同享内存、APC 等本地缓存有非常大的差异。Memcached 是分布式的,也就是说 它不是本地的。它依据网络衔接(当然它也能够运用 localhost)办法完成服务,自身它是一个独立于运用的程序或看护进程(Daemon 办法)
PHP 与 Memcached
Memcached 运用 libevent 库完成网络衔接服务,理论上能够处理无限多的衔接,可是它和
依据反向代理的 Web 缓存;
依据反向代理的 Web 缓存
21. PHP 安全形式
php 安全形式:safe_mode=on|off
启用 safe_mode 指令将对在同享环境中运用 PHP 时或许有危险的语言特性有所约束。能够将 safe_mode 是指为布尔值 on 来启用,或许设置为 off 和脚本测验拜访的文件的 UID,以此作为约束机制的根底。假设 UID 相同,则履行脚本;不然,脚本失败。
当启用安全形式时,一些约束将生效
1、 全部输入输出函数(例如 fopen ()、file () 和 require ())的适用会受到约束,只能用于与调用这些函数的
脚本有相同拥有者的文件
2、 假设企图经过函数 popen ()、system () 或 exec () 等履行脚本,只要当脚本坐落 safe_mode_exec_dir
装备指令指定的目录才或许
3、HTTP 验证得到进一步加强,因为验证脚本用于者的 UID 划入验证范畴范围内。此外,当启用安
全形式时,不会设置 PHP_AUTH。
4、假设适用 MySQL 数据库服务器,链接 MySQL 服务器所用的用户名有必要与调用 mysql_connect ()
的文件拥有者用户名相同。
以下是一些和安全形式相关的装备选项
safe_mode_gid=on|off
safe_mode_include_dir=string
safe_mode_env_vars=string
safe_mode_exec_dir=string
safe_mode_protected_env_vars=string
22. 常见的 web 进犯办法
常见进犯
XSS (Cross Site Script) ,跨站脚本进犯。它指的是歹意进犯者往 Web 页面里刺进歹意 html 代码,当用户阅读该页之时,嵌入的歹意 html 代码会被履行,然后到达歹意用户的特别 意图。
XSS 属于被迫式的进犯,因为其被迫且不好运用,所以许多人常呼略其危害性。可是随着前端技能的不断进步富客户端的运用越来越多,这方面的问题越来 越受关注。
举个简略例子 :
假设你现在是 sns 站点上一个用户,发布信息的功用存在缝隙能够履行 js 你在 此时输入一个 歹意脚本,那么当时全部看到你新信息的人的阅读器都会履行这个脚本弹出提示框 (很爽吧 弹出广告 :)),假设你做一些更为急进行为呢 成果难以想象。
CSRF (Cross Site Request Forgery),跨站点假造恳求。望文生义就是 经过假造衔接恳求在用户不知情的情况下,让用户以自己的身份来完成进犯者需求到达的一些意图。csrf 的进犯不同于 xss csrf 需求被进犯者的主动行为触发。这样听来好像是有 “被钓鱼” 的嫌疑。
多窗口阅读器这这方面好像是有助纣为虐的嫌疑,因为翻开的新窗口是具有当时全部 会话的,假设是单阅读器窗口相似 ie6 就不会存在这样的问题,因为每个窗口都是一个独立的进程。
举个简略例子 : 你正在玩白社会, 看到有人发了一个衔接,你点击过去,然后这个衔接里面假造了一个送礼物的表单,这只是是一个简略的例子,问题可见一般。
cookie 绑架。经过获取页面的权限,在页面中写一个简略的到歹意站点的请 求,并携带用户的 cookie 获取 cookie 后经过 cookie 就能够直以被盗用户的身份登录站点。这就是 cookie 绑架。
举个简略例子: 或人写了一篇很有意思的日志,然后共享给大家,很多人都点击查看并且共享了该日志,全部好像都很正常,然而写日志的人却另有用心,在日志中偷偷躲藏了一个 对站外的恳求,那么全部看过这片日志的人都会在不知情的情况下把自己的 cookie 发送给了 或人,那么他能够经过任意一个人的 cookie 来登录这个人的账户。
SQL 注入进犯
在 SQL 注入进犯 中,用户经过操作表单或 GET 查询字符串,将信息添加到数据库查询中。
DNS 进犯
回绝服务进犯
回绝服务进犯即进犯者想办法让方针机器中止供给服务,是黑客常用的进犯手法之。
进犯者进行回绝服务进犯,实际上让服务器完成两种效果:一是迫使服务器的缓冲区满,不接纳新的恳求;二是运用 IP 欺骗,迫使服务器把合法用户的衔接复位,影响合法用户的衔接
23. PHP 做好防盗链的根本思想 防盗链
什么是盗链?
盗链是指服务供给商自己不供给服务的内容,经过技能手法绕过其它有利益的最终用户界面 (如广告),直接在自己的网站上向最终用户供给其它服务供给商的服务内容,骗得最终用户的阅读和点击率。受益者不供给资源或供给很少的资源,而真实的服务供给商却得不到任何的收益。
网站盗链会大量耗费被盗链网站的带宽,而真实的点击率也许会很小,严峻损害了被盗链网站的利益。 怎么做防盗链?
不定期更名文件或许目录
约束引证页
原理是,服务器获取用户提交信息的网站地址,然后和真实的服务端的地址比较较, 假设共同则表明是站内提交,或许为自己信赖的站点提交,不然视为盗链。完成时能够运用 HTTP_REFERER1 和 htaccess 文件 (需求启用 mod_Rewrite),结合正则表达式去匹配用户的每一个拜访恳求。
文件假装
文件假装是现在用得最多的一种反盗链技能,一般会结合服务器端动态脚本 (PHP/JSP/ASP)。实际上用户恳求的文件地址,只是一个经过假装的脚本文件,这个脚本文件会对用户的恳求作认证,一般会查看 Session,Cookie 或 HTTP_REFERER 作为判别是否为盗链的依据。而真实的文件实际躲藏在用户不能够拜访的地方,只要用户经过验证今后才会回来给用户
加密认证
这种反盗链办法,先从客户端获取用户信息,然后依据这个信息和用户恳求的文件名 字一同加密成字符串 (Session ID) 作为身份验证。只要当认证成功今后,服务端才会把用户需求的文件传送给客户。一般我们会把加密的 Session ID 作为 URL 参数的一部分传递给服务器,因为这个 Session ID 和用户的信息挂钩,所以他人就算是盗取了链接,该 Session ID 也无法经过身份认证,然后到达反盗链的意图。这种办法关于分布式盗链非常有用。
随机附加码
每次,在页面里生成一个附加码,并存在数据库里,和对应的图片相关,拜访图片时和此附加码对比,相同则输出图片,不然输出 404 图片
加入水印
24. HTTP 恳求头信息和呼应头信息
恳求头信息
POST /scp1.1.0/prs/new_rnaseqtask/run_go HTTP/1.1
Host: 172.30.4.102
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20100101 Firefox/6.0
Accept: /
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://172.30.4.102/scp1.1.0/index.php/prs… Content-Length: 1819
Cookie:
ci_session=a%3A4%3A%7Bs%3A10%3A%22session_id%22%3Bs%3A32%3A%22e31556053ff9407a454f6a1e146d43eb%22%3Bs%3A10%3A%22ip_address%22%3Bs%3A12%3A%22172.16.23.42%22%3Bs%3A10%3A%22user_agent%22%3Bs%3A50%3A%22Mozilla%2F5.0+%28Windows+NT+6.1%3B+rv%3A6.0%29+Gecko%2F2010010%22%3Bs%3A13%3A%22last_activity%22%3Bi%3A1314955607%3B%7D664b51a01ef99bac95f3e2206e79cb00;PHPSESSID=v33mlm1437lmop1fquta675vv4;username=linjinming; tk=1314955601855 Pragma: no-cache
Cache-Control: no-cache
呼应头信息
HTTP/1.1 200 OK
Date: Fri, 02 Sep 2011 09:27:07 GMT
Server: Apache/2.2.3 (Red Hat)
X-Powered-By: PHP/5.1.6
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 31
Connection: close
Content-Type: text/html; charset=UTF-8
25. MySQL
MySQL 数据库功用优化
运用 mysqlreport;
正确运用索引:explain 剖析查询句子,组合索引,索引副效果(占空间、update)
敞开慢查询日志、运用慢查询剖析工具 mysqlsla;
索引缓存、索引代价(刺进更新索引);
表锁,行锁,行锁副效果(update 多时候变慢),在 select 和 update 混合的情况下,行锁奇妙解决了读写互斥的问题;
敞开运用查询缓存;
修正暂时表内存空间;
敞开线程池;
MySQL Query 句子优化的根本思路和原则
1、优化需求优化的 Query;
2、定位优化方针的功用瓶颈;
3、明确优化方针;
4、从 Explaing 下手;
5、多运用 Profile;
6、永久用小成果集推动大的成果集;
7、尽或许在索引中完成排序;
8、只取自己需求的 Columns;
9、只是运用最有用的过滤条件;
10、尽或许防止复杂的 Join 和子查询。
MySQL 中 MyISAM 引擎和 InnoDB 引擎的差异以及它们的功用
1:Innodb 支撑事物,Myisam 不支撑
2:确定机制不一样,Myisam 支撑表确定,而 Innodb 支撑行锁
3:Myisam 不支撑外键,Innodb 能支撑
4:Myisam 能在特定环境下支撑全文索引,而 Innodb 不支撑
5:Myisam 支撑数据紧缩,Innodb 不支撑
6:在数据存储上,Myisam 占用的空间少,Innodb 相对多些
7:Myisam 在批量刺进和查询方面速度上有优势,而 Innodb 因为支撑行锁,所以在数据修正方面更胜一筹
MySQL 存储引擎
MyISAM:不支撑业务、表锁和全文索引,操作速度快
InnoDB:行锁规划、支撑外键、支撑安全业务
HEAP:数据寄存在内存中,暂时表
NDB Cluster:MySQL 的簇式数据库引擎
CSV: 存储引擎把数据以逗号分隔的格式存储在文本文件中。
FEDERATED:存储引擎表并不寄存数据,它只是指向一台长途 MySQL 数据库服务器上的表 Archive: 只支撑 INSERT 和 SELECT 操作,紧缩后存储,非常合适存储归档数据
Merge:答应将一系列等同的 MyISAM 表以逻辑办法组合在一同,并作为 1 个方针引证它们 表类型,区别表类型
优化表规划的常用思路
负载均衡的数据库规划
数据类型及详细界说,区别
26. Apache
功用优化,装备,fastCGI 等几种工作形式
27. Ajax
用 JS 完成 Ajax 功用
varcreateXHR =function(){
}
varaddURLParam =function(url, name, value){
}
varxhr = createXHR();
xhr.onreadystatechange =function(){
}
varurl =’testAjax.php’;
addURLParam(url,’name’,’linjm’);
xhr.open(‘get’,url,true);
xhr.send(NULL);
if(xhr.readyState == 4){ }if(xhr.status > 200 && xhr.status < 300 || xhr.status == 304){ } alert(xhr.responseText); url += (url.indexOf(‘?’) == -1 ?’?’:’&’); url += encodeURIComponent(name) +’=’+ encodeURIComponent(value);returnurl;if(window.XMLHttpRequest){ }returnnewXMLHttpRequest();returnnewActiveXObject(‘Microsoft.XMLHTTP’);thrownewError(‘No XMLHttpRequest available’); }else{ }else{}
28. Javascript
变量、效果域、效果域链.

未经允许不得转载:IT技术网站 » 一些腾讯PHP程序员面试题目共享
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载