欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年PHP架构师面试题目和答案 .pdf

    • 资源ID:34266869       资源大小:76.78KB        全文页数:6页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年PHP架构师面试题目和答案 .pdf

    一、MySQL 相关知识1、请列举 mysql 优化方式选取最适用的字段属性、事务、锁定表、使用外键、使用索引、优化的查询语句使用连接( JOIN )来代替子查询(Sub-Queries) 使用联合 (UNION) 来代替手动创建的临时表2、请列举分库分表的常用方法有一个 1000 多万条记录的用户表members, 查询起来非常之慢?php for($i=0;$i 100; $i+ ) /echo CREATE TABLE db2.members$i LIKE db1.members; echo INSERT INTO members$i SELECT * FROM members WHERE mid%100=$i; ? 3、 Mysql+ 如何做双机热备和负载均衡1.主服务器授权2.数据复制3.配置主服务器4.重启 master 5.配置 slave 6.重启 slave 7.查看 master 的状态与设置的是否一致8.查看 slave 4、数据表类型有哪些MyISAM 、InnoDB 、HEAP 、BOB,ARCHIVE,CSV等MyISAM :成熟、稳定、易于管理,快速读取。一些功能不支持(事务等),表级锁。InnoDB :支持事务、外键等特性、数据行锁定。空间占用大,不支持全文索引等。5、防 sql 注入的方法 ? mysql_escape_string(strip_tags($arr$val); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 6、mysql 把一个大表拆分多个表后, 如何解决跨表查询效率问题php view plaincopy1. /* 2. * 函数名称: post_check() 3. * 函数作用:对提交的编辑内容进行处理4. * 参数:$post: 要提交的内容5. * 返回值:$post: 返回过滤后的内容6. */ 7. function post_check($post) 8. if(!get_magic_quotes_gpc()/ 判断 magic_quotes_gpc 是否为打开9. $post = addslashes($post);/ 进行 magic_quotes_gpc 没有打开的情况对提交数据的过滤10. 11.$post = str_replace(_,_, $post);/ 把_ 过滤掉12.$post = str_replace(%,%, $post);/ 把% 过滤掉13.$post = nl2br($post);/ 回车转换14.$post = htmlspecialchars($post);/ html 标记转换15.return $post; 16. 7、索引应用7.1 什么情况下考虑索引7.2 什么情况不适合索引7.3 一个语句是否用到索引如何判断名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 8、mysql 对于大表 ( 千万级 ), 要怎么优化第一优化你的sql 和索引;第二加缓存,memcached,redis;第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高, 也可以用三方工具, 第三方工具推荐360 的 atlas, 其它的要么效率不高,要么没人维护;第四如果以上都做了还是慢,不要想着去做切分,mysql 自带分区表,先试试这个,对你的应用是透明的,无需更改代码,但是 sql 语句是需要针对分区表做优化的,sql 条件中要带上分区条件的列, 从而使查询定位到少量的分区上,否则就会扫描全部分区,另外分区表还有一些坑,在这里就不多说了;第五如果以上都做了,那就先做垂直拆分,其实就是根据你模块的耦合度,将一个大的系统分为多个小的系统,也就是分布式系统;第六才是水平切分,针对数据量大的表,这一步最麻烦, 最能考验技术水平,要选择一个合理的 sharding key, 为了有好的查询效率,表结构也要改动,做一定的冗余,应用也要改,sql 中尽量带sharding key ,将数据定位到限定的表上去查,而不是扫描全部的表;mysql 数据库一般都是按照这个步骤去演化的,成本也是由低到高;9、如何理解 mysql 的慢查询其实通过慢查询日志来分析是一种比较简单的方式,如果不想看日志, 可以借助工具来完成,如 mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter等,感觉自己来分析一个需要丰富的经验,一个浪费时间。10、关于用户登录状态存session,cookie还是数据库或者 memcache 的优劣11、事务应用极端情况处理12、sql 语言分 4 大类请列举DDL-CREATE,DROP,ALTER DML-INSERT,UPDATE,DELETE DQL-SELECT DCL-GRANT,REVOKE,COMMIT,ROLLBACK 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 二、php基础session 的跨域共享是什么,如何实现php 连接 mysql 数据库的几种方式及区别mysql: 面向过程mysqli: 面向对象pdo: 可移植性高三、php高级长连接和短连接的使用,区别是什么socket 的使用,简述过程支付安全问题,如何保证面向对象的概念三大特性:封装、继承、多态(方法重写)。抽象类: abstract, 至少有一个方法是抽象方法,不能被实例化,为子类定义公共接口。接口: interface, 解决 php 的单继承问题,所有方法都是public 访问权限的抽象方法,不能声明变量只能声明常量。继承一个类的同时实现多个接口class A extends B implements 接口 1,接口 2.,接口 n() /实现所有接口中的方法lamp 和 lnmp 网站架构性能差异的原因分析解释性语言和编译性语言的性能分析,请举例名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - 四、正则表达式:请用js 实现正则表达式验证邮箱function check( email_address )var regex = /(0-9A-Za-z-_.+)(0-9a-z+.a-z2,3(.a-z2)?)$/g;if ( regex.test( email_address ) )var user_name = email_address.replace( regex, $1 );var domain_name = email_address.replace( regex, $2 );var alert_string = 您输入的电子邮件地址合法nn;alert_string += 用户名: + user_name + n;alert_string += 域名: + domain_name;window.alert( alert_string );return true;elsewindow.alert( 您输入的电子邮件地址不合法 );return false;五、开发基础:简述进程和线程定义,区别和联系进程的状态:运行run、就绪 ready 、等待 wait 六、Nosql 数据库:简述 memcached 、redis 、mongodb 的区别联系3 个场景完全不同的东西。1.memcached:单一键值对内存缓存的,做对象缓存无可替代的分布式缓存; 2.redis:是算法和数据结构的集合,快速的数据结构操作是他最大的特点,支持数据持久化;3.mongodb 是 bson 结构、介于rdb 和 nosql 之间的,更松散更灵活的,但是不支持事务,只用作非重要数据存储。七、常用 linux命令:如何建立软链接名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 八、架构相关项目上线前如何进行压力测试,单台服务器支持的并发数,pv 数? 服务器资源怎么分配合理CPU :Apache MySQL 处在高负载环境下,磁盘 IO 读写过多, 肯定会占用很多资源,必然会 CPU占用过高。内存:内存库,数据库软件硬盘:文件web2.0 架构选择有?MongoDB+Redis 或者 MySQL+Memcached 比较好的组合,逻辑简单的就用NOSQL 当前流行主要网站架构有?LAMP 、LNMP 、LLMP 现在网络上还有一种LNAMP 构架,也就是综合了nginx 和 Apache 的优点, 使用 Apache 负载PHP ,nginx 负责解析其他Web请求,使用nginx 的 rewrite模块,但是Apache 端口不对外开放, Apache 的许多模块都可以不加载减少资源。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -

    注意事项

    本文(2022年PHP架构师面试题目和答案 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开