设为首页 收藏本站
查看: 910|回复: 0

[经验分享] 2016某知名互联网公司PHP面试题及答案

[复制链接]

尚未签到

发表于 2017-12-30 08:41:26 | 显示全部楼层 |阅读模式
  1 字符串”\r”,”\n”,”\t”,”\x20”分别代表什么
  答案: “\r”代表的含义是:
  在Linux、unix 中表示返回到当行的最开始位置,在Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 \n 的效果。
  “\n”代表的含义是:
  在Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r 的效果,在Linux、unix 中只表示换行,但不会回到下一行的开始位置。
  “\t”所代表的含义是:
  键盘上的“TAB”键,跳格(移至下一列)。
  “\x20”所代表的含义是:是32在ASCII表中16进制的表示。
  2 以下语句输出的结果是什么
  

$a = 3;  
echo "$a",'$a',"\\\$a","${a}","$a"."$a","$a"+"$a";
  


  • 1
  • 2


  • 1
  • 2
  得到的结果是:
  3$a\$a3336
  3 以下语句输出的结果是什么
  

setcookie("a","value");  
print $_COOKIE['a'];
  


  • 1
  • 2


  • 1
  • 2
  得到的结果是:
  value(若只是这两段编码运行,则会提示PHP Notice: Undefined index: a)
  4 php中将当前页面重定向到另一个页面怎么写?
  header();
  5 什么是魔术引号(magic_quotes_gpc)?
  魔术引号(Magic Quotes)是一个自动将进入 PHP 脚本的数据进行转义的过程。提示:最好在编码时不要转义而在运行时根据需要而转义。
  6 在类的方法中,如何调用其父类的同名方法?
  parent::方法名
  7 php中如何取得get,post参数,和上传的文件
  

$_GET,$_POST,$_FILES  


  • 1


  • 1
  8 如何取得客户端的ip(要求取得一个int)
  

$_SERVER["REMOTE_ADDR"];ip2long进行转换  


  • 1


  • 1
  9 include和require的区别
  require:出现错误后直接终止退出,程序不再执行
  include:包含一个不存在的文件,会提示警告程序会继续执行
  10 extends的作用是什么
  类的继承
  11 @test()和&test()的区别
  @test()的作用是屏蔽test()方法中警告的作用
  &test()引用test()方法
  12 array+array与array_merge()的区别
  二者之间的区别是:
  1 键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)
  2 键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值
  13 请列举最少3个php对象的魔术方法和说明它们的用途
  构造方法: __construct()
  析构方法__destruct()
  __get() 控制私有的受保护的未定义的成员属性的访问
  __set() 对私有的受保护的未定义的成员属性进行赋值控制
  __isset() 对私有的受保护的未定义成员属性进行isset和empty的判断控制
  等等
  14 什么是fpm
  FastCGI Process Manager:FastCGI进程管理器
  15 描述一下php开发中常见的几种攻击以及解决方案
  SQL注入:
  解决这个问题的办法是,将 PHP 的内置 mysql_real_escape_string() 函数用作任何用户输入的包装器。这个函数对字符串中的字符进行转义,使字符串不可能传递撇号等特殊字符并让 MySQL 根据特殊字符进行操作。
  跨站点脚本攻击(XSS):
  strip_tags() 函数,这个函数可以清除任何包围在 HTML 标记中的内容
  或者使用htmlspecialchars() 函数。
  16 echo intval(0.58*100) 输出的结果是57,试分析这是为什么?
  原因就是浮点数精度的问题。
  简单的十进制分数如同 0.1 或 0.7 不能在不丢失一点点精度的情况下转换为内部二进制的格式。这就会造成混乱的结果:例如,floor((0.1+0.7)*10) 通常会返回 7 而不是预期中的 8,因为该结果内部的表示其实是类似 7.9999999999…。这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数。例如,十进制的 1/3 变成了 0.3333333…。所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者 gmp 函数
  1 写出MySQL中,插入数据,读出数据,更新数据的语句
  INSERT INTO 表名 VALUES (””,””);
  SELECT * FROM 表名;。
  UPDATE 表名 SET 字段名1=’a’,字段名2=’b’ WHERE 字段名3=’c’;。
  2 写入数据时,聚簇索引所在的列的内容是随机的,会引起什么性能问题?
  聚簇索引情况下,写入数据时,插入速度严重依赖插入顺序,按照主键的顺序插入是加载数据到InnoDB表中速度最快的方式。但如果不是按照主键顺序加载数据,那么在加载完成后最好使用OPTIMIZE TABLE命令重新组织一下表。
  基于聚簇索引的表在插入新行,或者主键被更新导致需要移动行的时候,可能面临“页分裂”的问题。当行的主键值要求必须将这一行插入到某个已满的页中时,存储引擎会将该页分裂成两个页面来容纳该行,这就是一次分裂操作。页分裂会导致表占用更多的磁盘空间。
  聚簇索引可能导致全表扫描变慢,尤其是行比较稀疏,或者由于页分裂导致数据存储不连续的时候。
  3 请描述一下mysql主从服务器之间是如何同步数据的,什么样的sql会造成主从无法正确同步?
  4 如何查看当前Linux服务器的磁盘io状态?
  iostat -x -k
  5 如何查看linux服务器的cpu负载
  top(top程序提供了一个动态的、实时的、直观的运行中的系统。它能显示系统的主要信息,并且把由内核管理的任务列表显示出来。top命令监控CPU利用率,进程状态和内存利用率。顶部区域包含了整个系统状态的信息,从左到右,从上到下,依次是:当前时间,正常运行时间,负载均衡,进程总数和概况,CPU状态,内存占用情况,swap占用情况。)
  mpstat/sar/….
  6 如何查看一个进程当前打开的文件?
  查看所有进程的文件打开数
  lsof |wc -l
  查看某个进程打开的文件数
  lsof -p pid |wc -l
  7 什么是管道命令?
  其实这个管道命令“|”仅能处理经由前面一个命令传来的正确信息,也就是standard output的信息,对于stdandard error并没有直接处理能力。在每个管道后面接的第一个数据必定是“命令”,而且这个命令必须要能够接受standard input的数据才行,这样的命令才可以是“管道命令”,例如Less、more、head、tail等都是可以接收standard input的管道命令。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-429588-1-1.html 上篇帖子: sublime text怎么格式化PHP代码 下篇帖子: PHP导出生成CSV文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表