PHP架构师面试题目和答案教程文件.docx
《PHP架构师面试题目和答案教程文件.docx》由会员分享,可在线阅读,更多相关《PHP架构师面试题目和答案教程文件.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流PHP架构师面试题目和答案【精品文档】第 6 页一、MySQL相关知识1、请列举mysql优化方式选取最适用的字段属性、事务、锁定表、使用外键、使用索引、优化的查询语句使用连接(JOIN)来代替子查询(Sub-Queries)使用联合(UNION)来代替手动创建的临时表2、请列举分库分表的常用方法有一个1000多万条记录的用户表members,查询起来非常之慢?phpfor($i=0;$i 100; $i+ )/echo CREATE TABLE db2.members$i LIKE db1.members;echo INSERT INTO member
2、s$i SELECT * FROM members WHERE mid%100=$i;?3、 Mysql+如何做双机热备和负载均衡1.主服务器授权2.数据复制3.配置主服务器4.重启master5.配置slave6.重启slave7.查看master的状态与设置的是否一致8.查看slave4、数据表类型有哪些MyISAM、InnoDB、HEAP、BOB,ARCHIVE,CSV等MyISAM:成熟、稳定、易于管理,快速读取。一些功能不支持(事务等),表级锁。InnoDB:支持事务、外键等特性、数据行锁定。空间占用大,不支持全文索引等。5、防sql注入的方法? mysql_escape_strin
3、g(strip_tags($arr$val);6、mysql把一个大表拆分多个表后,如何解决跨表查询效率问题php view plain copy1. *函数名称:post_check()2. *函数作用:对提交的编辑内容进行处理3. *参数:$post:要提交的内容4. *返回值:$post:返回过滤后的内容5. functionpost_check($post)6. if(!get_magic_quotes_gpc()/判断magic_quotes_gpc是否为打开7. $post=addslashes($post);/进行magic_quotes_gpc没有打开的情况对提交数据的过滤8.
4、 $post=str_replace(_,_,$post);/把_过滤掉9. $post=str_replace(%,%,$post);/把%过滤掉10. $post=nl2br($post);/回车转换11. $post=htmlspecialchars($post);/html标记转换12. return$post;7、索引应用7.1什么情况下考虑索引7.2什么情况不适合索引7.3一个语句是否用到索引如何判断8、mysql对于大表(千万级),要怎么优化第一优化你的sql和索引;第二加缓存,memcached,redis;第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用
5、层做,效率高,也可以用三方工具,第三方工具推荐360的atlas,其它的要么效率不高,要么没人维护;第四如果以上都做了还是慢,不要想着去做切分,mysql自带分区表,先试试这个,对你的应用是透明的,无需更改代码,但是sql语句是需要针对分区表做优化的,sql条件中要带上分区条件的列,从而使查询定位到少量的分区上,否则就会扫描全部分区,另外分区表还有一些坑,在这里就不多说了;第五如果以上都做了,那就先做垂直拆分,其实就是根据你模块的耦合度,将一个大的系统分为多个小的系统,也就是分布式系统;第六才是水平切分,针对数据量大的表,这一步最麻烦,最能考验技术水平,要选择一个合理的sharding key
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 架构 面试 题目 答案 教程 文件
限制150内