php语言 百分网手机站

高级php程序员面试题

时间:2017-05-11 澳门金沙娱乐场 我要投稿

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

  一、mysql相关知识

  1、 mysql优化方式

  MYSQL 优化常用方法

  mysql 性能优化方案

  2、如何分库分表

  参考:

  http://amjsylc.sbc788.com/s/blog_6e322ce70100zs9a.html

  http://amjsylc.sbc788.com/article/29771.htm

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

  http://amjsylc.sbc788.com/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://amjsylc.sbc788.com/question/19719997

  9、mysql的慢查询问题

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

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

  10、关于用户登录状态存session,cookie还是数据库或者memcache的优劣 http://amjsylc.sbc788.com/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面试题推荐:

1.2017年PHP面试题与答案

2.高级php程序员面试题

3.2017年PHP面试之编程题及答案

4.一套PHP面试题2017

5.十个值得深思的PHP面试问题

6.PHP面试之php自带的几个防止sql注入的函数

7.2017年PHP面试题之HTTP状态码出现问题

8.2017年PHP工程师面试题集

9.2017年PHP面试编程题

10.英文题目的PHP面试题及答案

网站地图 现金网百家乐 太阳城亚洲开户 申博会员登入 申博手机版
申博代理开户登入 申博真人官网登入 www.183msc.com 申博太阳城直营网
盛618网址 申博现金网址 申博登录不了 777老虎机游戏登入
百家乐登入网址 申博太阳城现金网 澳门大三巴赌场 ag真人娱乐
申博娱乐 申博游戏 申博娱乐手机登入 太阳城亚洲开户