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的管道命令。

2016某知名互联网公司PHP面试题及答案的更多相关文章

  1. 2016某知名互联网公司PHP面试题及答案(续)

    1 写出mysql中,插入数据,读出数据,更新数据的语句 INSERT INTO 表名 VALUES ("",""): SELECT * FROM 表名:. U ...

  2. [ZZ]知名互联网公司Python的16道经典面试题及答案

    知名互联网公司Python的16道经典面试题及答案 https://mp.weixin.qq.com/s/To0kYQk6ivYL1Lr8aGlEUw 知名互联网公司Python的16道经典面试题及答 ...

  3. 腾讯网2016回响中国:华清远见荣获2016年度知名IT培训品牌

    12月1日,由腾讯网主办的“2016回响中国·腾讯网教育年度盛典”上,揭晓了“2016腾讯网教育年度总评榜”榜单.高端IT就业培训专家——华清远见教育集团凭借自身优质的高薪IT就业服务优势成功入围,荣 ...

  4. 知名互联网公司校招 Java 开发岗面试知识点解析

    天之道,损有余而补不足,是故虚胜实,不足胜有余. 本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几 ...

  5. 2016最全的web前端面试题及答案整理

    面试web前端开发,不管是笔试还是面试,都会涉及到各种专业技术问题,今天小编整理了一些常见的web前端面试题及答案,希望对大家有所帮助. 1.常用那几种浏览器测试?有哪些内核(Layout Engin ...

  6. Android 面试题及答案(2)

    1.Activity相关.launchmode,OnSaveInstnceState,生命周期等. 4种默认的launchmode,以及OnNewIntent的回调. OnNewIntent-> ...

  7. Java并发编程75道面试题及答案

    1.在java中守护线程和本地线程区别? java中的线程分为两种:守护线程(Daemon)和用户线程(User). 任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon( ...

  8. 606页Android最新面试题含答案,助力成为offer收割机

    如何才能通过一线互联网公司面试?相信这是很多人的疑惑,希望看完本篇文章能给大家一些启发. 下面是我花了将近一个月的时间整理的一份面试题库.这些面试题,包括我本人自己去面试遇到的,还有其他人员去面试遇到 ...

  9. java常见面试题及答案 1-10(基础篇)

    java常见面试题及答案 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程.Java 源文件被 ...

随机推荐

  1. poj1157LITTLE SHOP OF FLOWERS

    Description You want to arrange the window of your flower shop in a most pleasant way. You have F bu ...

  2. 循序渐进Python3(十)-- 4 -- paramiko

    paramiko模块,基于SSH用于连接远程服务器并执行相关操作. 使用 (1)SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: , ))transport.connect( ...

  3. Android笔记之——事件的发生(2)

    Java: package com.example.helloworld;import android.os.Bundle;import android.view.KeyEvent;import an ...

  4. Win10怎么设置始终以管理员身份运行应用程序

    第一步.对着Win10应用程序桌面图标单击鼠标右键,菜单中选择“属性”; 第二步.在程序属性对话框,点击切换到“兼容性”选项卡,找到并勾选“设置”项目下的“以管理员身份运行此程序”后,点击确定即可. ...

  5. Endless Sky源码学习笔记-1

    难得遇到一个比较有趣的开源游戏,又是比较偏爱的太空背景,所以打算学习下源码. Endless Sky的作者是Michael Zahniser,是一个2D太空游戏.整个程序比较简洁明了,数据没有打包,游 ...

  6. lua 学习笔记一

    参考: http://www.kancloud.cn/digest/luanote/119924 1.基础概念 1.lua八种基本数据类型:nil.boolean.string.function.ta ...

  7. mysql 行转列 和 列转行

    我们有时会将一些数据已逗号的连接方式存在数据库,当取出时我们又想单独一个个取出来 利用help_topic 的自增性 LENGTH(wu.`password`) - length(replace(wu ...

  8. linux 账号管理与ACL权限设定

    此文涉及命令:useradd.usermod.userdel.passwd.chage.setfacl.getfacl.su.sudo.fingr.chfn.chsh.id.groupadd.grou ...

  9. .net字符串Gzip压缩和base64string转换:

    class Program { static void Main(string[] args) { //要压缩的字符串 string data = "13800138000,验证码:1234 ...

  10. selenium第二课(脚本录制seleniumIDE的使用)

    一.Selenium也具有录制功能,可以web中回放,录制的脚本可以转换为java.python.ruby.php等多种脚本语言.seleniumIDE是Firefox的一个插件,依附于Firefox ...