高级php程序员面试题

php程序员就是从事开发计算机语言的人,下面是百分网小编精心为大家整理的关于高级php程序员面试题,希望对大家有帮助,更多内容请关注应届毕业生网!

一、mysql相关知识

1、 mysql优化方式

MYSQL 优化常用方法

mysql 性能优化方案

2、如何分库分表

参考:

http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html

http://www.jb51.net/article/29771.htm

3、 Mysql+如何做双机热备和负载均衡

http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡

4、数据表类型有哪些

MyISAM、InnoDB、HEAP、BOB,ARCHIVE,CSV等

MyISAM:成熟、稳定、易于管理,快速读取。一些功能不支持(事务等),表级锁。

InnoDB:支持事务、外键等特性、数据行锁定。空间占用大,不支持全文索引等。

myisam和Innodb引擎的主要特点

MySQL的存储引擎MyISAM与InnoDB有什么区别?

5、防sql注入方法

mysql_escape_string(strip_tags($arr["$val"]));

/**

* 函数名称:post_check()

* 函数作用:对提交的编辑内容进行处理

* 参  数:$post: 要提交的内容

* 返 回 值:$post: 返回过滤后的内容

*/

function post_check($post){

if(!get_magic_quotes_gpc()){// 判断magic_quotes_gpc是否为打开

$post = addslashes($post);// 进行magic_quotes_gpc没有打开的情况对提交数据的过滤

}

$post = str_replace("_","\_",$post);// 把 '_'过滤掉

$post = str_replace("%","\%",$post);// 把 '%'过滤掉

$post = nl2br($post);// 回车转换

$post =htmlspecialchars($post);// html标记转换

return $post;

}

6、mysql把一个大表拆分多个表后,如何解决跨表查询效率问题

7、索引应用

什么情况下考虑索引

什么情况不适合索引

一个语句是否用到索引如何判断

经常发生的用不到索引的场景:

like '%.....'

数据类型隐式转换

or 关键字加其它条件约束

全文索引:

只能用于MYIsAM表,在CHAR,VARCHAR,TEXT类型的列上创建。

8、mysql对于大表(千万级),要怎么优化呢?

参考http://www.zhihu.com/question/19719997

9、mysql的慢查询问题

其实通过慢查询日志来分析是一种比较简单的方式,如果不想看日志,可以借助工具来完成,

如mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter等,感觉自己来分析一个需要丰富的经验,一个浪费时间。

10、关于用户登录状态存session,cookie还是数据库或者memcache的优劣 http://www.dewen.org/q/11504/

关于用户登录状态存session%2Ccookie还是数据库或者memcache的`优劣

11、事务应用极端情况处理

12、sql语言分4大类请列举

DDL--CREATE,DROP,ALTER

DML--INSERT,UPDATE,DELETE

DQL-SELECT

DCL--GRANT,REVOKE,COMMIT,ROLLBACK

二、php基础

session的跨域共享 php连接mysql数据库的几种方式及区别

mysql:面向过程

mysqli:面向对象

pdo:可移植性高

请参考:php基础系列:PHP连接MySQL数据库用到的三种API

三、php高级

长连接和短连接的使用socket的使用支付安全问题

面向对象

三大特性:封装、继承、多态(方法重写)。

抽象类:abstract,至少有一个方法是抽象方法,不能被实例化,为子类定义公共接口。

接口:interface,解决php的单继承问题,所有方法都是public访问权限的抽象方法,不能声明变量只能声明常量。

继承一个类的同时实现多个接口

class A extends B implements 接口1,接口2...,接口n(){

//实现所有接口中的方法

}lamp 和 lnmp 网站架构性能差异的原因分析解释性语言和编译性语言的性能分析,举例。

四、正则

email,html,js等匹配

五、开发基础

进程和线程定义,区别和联系。

进程的状态:运行run、就绪ready、等待wait六、Nosql数据库

memcached、redis、mongodb的区别联系

3个场景完全不同的东西。1.memcached:单一键值对内存缓存的,做对象缓存无可替代的分布式缓存;2.redis:是算法和数据结构的集合,快速的数据结构操作是他最大的特点,支持数据持久化;3.mongodb是bson结构、介于rdb和nosql之间的,更松散更灵活的,但是不支持事务,只用作非重要数据存储。

参考 MongoDB 或者 redis 可以替代 memcached 吗?

七、常用linux命令

比如软链接

八、架构相关

项目上线前的压力测试,单台服务器支持的并发数,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的许多模块都可以不加载减少资源。

更多php面试题推荐:

【高级php程序员面试题】相关文章:

php 资深面试题,高级php程序员面试题相关推荐

  1. java程序员语录_「java程序员面试题」2018java程序员面试题整理 - seo实验室

    java程序员面试题 1.@PathVariable注解和@requestParam注解的区别. @RequestParam注解是获取静态URL传入的参数 @PathVariable是获取请求路径中的 ...

  2. 高级php程序员面试题2019,2019最新PHP模拟面试题及答案

    原标题:2019最新PHP模拟面试题及答案 PHP模拟面试题汇总如下: 1.如何防止form表单重复提交? 2.Cookie被禁用了session还可以使用吗? 3.你了解的或者用过的版本控制工具有哪 ...

  3. 2020年高级Java程序员面试题汇总,含答案总结

    文章目录 JDK Dubbo Zookeeper Spring系列 Redis系列 Mysql系列 Java多线程 消息中间件 线程池 JVM 设计模式 其他 程序设计 基础知识 算法题 面试技术外的 ...

  4. 高级JAVA程序员面试题

    一.Java基础 1.JVM:一般从JVM组成开始介绍,然后单独介绍每一块,然后就会慢慢衍生出垃圾回收方式,垃圾回收器,还可以衍生出volatile之类的. 重点:栈帧.堆,垃圾回收方式,垃圾回收器的 ...

  5. php高级程序员笔试题,PHP程序员笔试题含答案

    入门级php程序员笔试题(总100分/47题) 简述题(50分) 1.用php打印出前一天的时间格式是2006-5-10 22:21:21(2分) echo date("Y-m-d G:i: ...

  6. 高级 Java 程序员都在学什么?

    我曾在某乎的一条回答下看到这样一条评论: 确实,Netty 大家肯定都会,不会的绝对是初级或者XX 上面的说有失偏颇,学习技术没必要上升到人身攻击,更重要的是如何学会技术,面好的大厂,拿到高的薪资. ...

  7. Java程序员面试题

    下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题目和无价值的题目,还有不少的参考答案也是错误的,修改后的Java面试题集参照了JDK最 ...

  8. 6本适合初级到高级HTML5程序员阅读的书籍推荐,读完事半功倍

    随着移动互联网的日益兴起,IT行业对于前端的需求也在不断的提高,那么从前端小白修炼成为HTML5前端大神的这个过程之中,一些必备的枕边书也是必不可少的. 俗话说书籍是人类进步的阶梯,对HTML5程序员 ...

  9. 程序员面试题精选算法58题加答案

    这篇文章总结的非常好,以防以后找不到,在此转载. 程序员面试题精选(01)-把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表.要求不能创建任何新的结点 ...

  10. java 用程序代码解释继承_关于初级java程序员笔试题

    关于初级java程序员笔试题 Sun 认证Java程序员考试内容涉及Java所有相关知识.编程概念及applet开发技巧.下面是小编整理的关于初级java程序员笔试题,欢迎大家参考! 第一题:判断题 ...

最新文章

  1. 关于学习Python的一点学习总结(44->类中的比较操作符号重写)
  2. nodejs 截断字符串_node.js – nodejs:字符串操作
  3. 第三方登录 (faceBook )
  4. springboot启动总是启动不起来UnsatisfiedDependencyException异常
  5. Spring任务调度
  6. Spring事务传播行为详解
  7. 阿里巴巴天池大数据竞赛黄金联赛全面开战,全球同步报名,只为寻找最聪明的你!...
  8. 用VS studio 2008做sql server 报表出现乱码
  9. sqlsugar 批量删除guid类型主键_SAP使用MASS批量修改主数据
  10. c语言程序的执行起点是,c语言试题及答案
  11. 不是HR,Leader你会面试应聘者吗(如何起好手中的扑克牌)
  12. Codeforces Round #622 (Div. 2) C2. Skyscrapers (hard version)(单调栈)
  13. Pathon的安装过程
  14. html中的==$0是什么意思
  15. [react] This synthetic event is reused for performance reasons. If you‘re seeing this, you‘re access
  16. camera.swf java,ipcamera-for-android 手机变成IP Camera
  17. 你眼中的程序员 VS 程序员眼中的自己,是时候打破代沟了
  18. 经济基础知识(初级)【9】
  19. HTML5网页动画效果
  20. android更新UI(界面)的方法;android刷新界面数据的方法;android定时器更新界面

热门文章

  1. Android 工具:TraceView
  2. uploadify php 重命名,自定义uploadify服务器端上传脚本
  3. 2019年7月Github上最热门的Java开源项目
  4. 计算机的发展导致了计算思维的诞生,尔雅电子计算机的诞生(上)
  5. 苹果手机运行html游戏,苹果手机如何运行PSP游戏方法
  6. C#【必备技能篇】注册dll+批量注册dll
  7. VSTO打包加载项 WPS可用 Advanced Installer
  8. 公众号的服务器位置和ip地址,怎么查看公众号服务器ip地址吗
  9. Javashop B2B2C 系统之社区团购商城
  10. 分享多款从淘宝购买的EXCEL进销存模板,可直接用于小企业的进销存管理与仓库管理