资源描述:
《腾讯PHP开发工程师面试试卷》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、腾讯PHP开发工程师面试试卷 1.请对pOSIX风格和兼容perl风格两种正则表达式的主要函数进行类比说明 eregpreg_match ereg_replacepreg_replace 2.请说明在中safe_mode开启之后对于pHp系统函数的影响 3.pHp5中魔术方法函数有哪几个,请举例说明各自的用法 __sleep __wakeup __toString __set_state __construct, __destruct __call, __get, __s
2、et, __isset, __unset __sleep, __wakeup, __toString, __set_state, __clone __autoload 4.请写出让,并说明如何在命令行下运行pHp脚本(写出两种方式)同时向pHp脚本传递参数? 5.pHp的垃圾收集机制是怎样的 6.使对象可以像数组一样进行foreach循环,要求属性必须是私有。 (Iterator模式的pHp5实现,写一类实现Iterator接口) 7.请写一段pHp代码,确保多个进程同时写
3、入同一个文件成功 8.用pHp实现一个双向队列 9.使用正则表达式提取一段标识语言(html或xml)代码段中指定标签的指定属性值(需考虑属性值对不规则的情况,如大小写不敏感,属性名值与等号间有空格等)。此处假设需提取test标签的attr属性值,请自行构建包含该标签的串 10.请使用socket相关函数(非curl)实现如下功能:构造一个post请求,发送到指定httpserver的指定端口的指定请求路径(如http://:8080/test)。请求中包含以下变量: 用户名(usernam
4、e):温柔一刀 密码(pwd):&123=321&321=123& 个人简介(intro):Helloworld! 且该httpserver需要以下cookie来进行简单的用户动作跟踪: cur_query:you&me last_tm:...(上次请求的unix时间戳,定为当前请求时间前10分钟) cur_tm:...(当前请求的unix时间戳) 设置超时为10秒,发出请求后,将httpserver的响应内容输出。 Functionencode($data,$sep=‘&’){
5、while(list($k,$v)=each($data)){ $encoded.=($encoded?"$sep":""); $encoded.=rawurlencode($k)."=".rawurlencode($v); } Return$encoded; } Functionpost($url,$post,$cookie){ $url=parse_url($url); $post=encode($data,‘&’); $cookie=encode($cookieArray,‘
6、;’); $fp=fsockopen($url,$url?$url:80,$errno,$errstr,10); if(!$fp)return"Failedtoopensocketto$url"; fputs($fp,sprintf("pOST%s%s%sHTTp/",$url,$url?"?":"",$url)); fputs($fp,"Host:$url"); fputs($fp,"Content-type:application/x-www-form-urlencoded
7、"); fputs($fp,"Content-length:".strlen($encoded).""); fputs($fp,"Cookie:$cookie"); fputs($fp,"Connection:close"); fputs($fp,"$post"); while(!feof($fp)){ echofgets($fp,128); } fclose($fp); } $url=‘http://:8080/test’; $encoded=user
8、name=温柔一刀&pwd= $post=array( ‘username’=>‘温柔一刀’, ‘pwd=>‘&123=321&321=123&’, ‘intro=>‘Helloworld!’ ); $cookie=array( ‘cur_query’=>‘you&me, ‘last_tm’=>time()-600, ‘cur_tm‘=>time() ); post($url,$post,$cookie); 11.你用什么方法检查pHp脚本的执