面试记录

1.$GLOBALS['HTTP_RAW_POST_DATA'] 和$_POST的区别

$_POST:通过 HTTP POST 方法传递的变量组成的数组。是自动全局变量。

$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生$HTTP_RAW_POST_DATA变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA对于enctype="multipart/form-data"表单数据不可用。

也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的。

但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。

补充说明:PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型。

2.常用的http方法

GET:用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器

POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。

PUT:传输文件,报文主体中包含文件内容,保存到对应URI位置。

HEAD:获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。

DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。

3.请求报文头常用字段

4.分别用php和linux实现:遍历文件夹下面的所有文件夹和文件,返回带有关键字的文件

grep -r constants ./

5.nginx apache 怎么判断入口文件是index。php

6.php mysql的长链接和短链接

7.php 定时回调

8.php socket编程

9.header头里的post参数 php怎么获取

10.框架结构是weibo.com/a/b/c 现在要向中间插入用户的uid 怎么修改框架结构

11.详细描述phpcgi和phpfpm的区别

12.mysql的隔离级别

13.php实现确保多个进程可以同时写入一个文件

14.socket实现post请求

15.cassandra hbase 和 redis的区别

16.手写curl请求 curl的那些参数

17.Linux查看当前机器启动的端口号

netstat

lsof -i:端口号

18.一个页面上面会同时调用10+个其他业务的接口,平均每个200ms,总共2s。用php怎么优化,减少耗时

你可能感兴趣的:(面试记录)