腾讯PHP开发工程师面试试卷
“Xyyyyyy”通过精心收集,向本站投稿了10篇腾讯PHP开发工程师面试试卷,下面是小编为大家整理后的腾讯PHP开发工程师面试试卷,仅供参考,欢迎大家阅读,一起分享。
篇1:腾讯PHP开发工程师面试试卷
1. 请对pOSIX风格和兼容perl风格两种正则表达式的主要函数进行类比说明
ereg preg_match
ereg_replace preg_replace
2. 请说明在php.ini中safe_mode开启之后对于pHp系统函数的影响
3. pHp5中魔术方法函数有哪几个,请举例说明各自的用法
__sleep
__wakeup
__toString
__set_state
__construct,
__destruct
__call,
__get,
__set,
__isset,
__unset
__sleep,
__wakeup,
__toString,
__set_state,
__clone
__autoload
4. 请写出让,并说明如何在命令行下运行pHp脚本(写出两种方式)同时向pHp脚本传递参数?
5. pHp的垃圾收集机制是怎样的
6.使对象可以像数组一样进行foreach循环,要求属性必须是私有。
(Iterator模式的pHp5实现,写一类实现Iterator接口)
7.请写一段pHp代码,确保多个进程同时写入同一个文件成功
8. 用pHp实现一个双向队列
9. 使用正则表达式提取一段标识语言(html或xml)代码段中指定标签的指定属性值(需考虑属性值对不规则的情况,如大小写不敏感,属性名值与等号间有空格等)。此处假设需提取test标签的attr属性值,请自行构建包含该标签的串
10.请使用socket相关函数(非curl)实现如下功能:构造一个post请求,发送到指定http server的指定端口的指定请求路径(如www.example.com:8080/test)。请求中包含以下变量:
用户名(username):温柔一刀
密码(pwd):&123=321&321=123&
个人简介(intro):Hello world!
且该http server需要以下cookie来进行简单的用户动作跟踪:
cur_query:you&me
last_tm:...(上次请求的unix时间戳,定为当前请求时间前10分钟)
cur_tm:...(当前请求的unix时间戳)
设置超时为10秒,发出请求后,将http server的响应内容输出。
Function encode($data, $sep = ‘&’){
while (list($k,$v) = each($data)) {
$encoded .= ($encoded ? “$sep” : “”);
$encoded .= rawurlencode($k).“=”.rawurlencode($v);
}
Return $encoded;
}
Function post($url, $post, $cookie){
$url = parse_url($url);
$post = encode($data, ‘&’);
$cookie = encode($cookieArray, ‘;’);
$fp = fsockopen($url[host], $url[port] ? $url[port] : 80, $errno, $errstr, 10);
if (!$fp) return “Failed to open socket to $url[host]”;
fputs($fp, sprintf(“pOST %s%s%s HTTp/1.0\n”, $url[path], $url[query] ? “?” : “”, $url[query]));
fputs($fp, “Host: $url[host]\n”);
fputs($fp, “Content-type: application/x-www-form-urlencoded\n”);
fputs($fp, “Content-length: ” . strlen($encoded) . “\n”);
fputs($fp, “Cookie: $cookie\n\n”);
fputs($fp, “Connection: close\n\n”);
fputs($fp, “$post \n”);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
$url = ‘www.example.com:8080/test’;
$encoded = username=温柔一刀& pwd=
$post = array(
‘username’=>‘温柔一刀’,
‘pwd =>‘&123=321&321=123&’,
‘intro =>‘Hello world!’
);
$cookie = array(
‘cur_query’ =>‘you&me,
‘last_tm’ =>time - 600,
‘cur_tm ‘=>time()
);
post($url, $post, $cookie);
11.你用什么方法检查pHp脚本的执行效率(通常是脚本执行时间)和数据库SQL的效率(通常是数据库Query时间),并定位和分析脚本执行和数据库查询的瓶颈所在?
1.脚本执行时间,启用xdebug,使用WinCacheGrind分析。
2.数据库查询,mysql使用EXpLAIN分析查询,启用slow query log记录慢查询。
[腾讯PHP开发工程师面试试卷]
篇2:腾讯php开发工程师面试问题
一、PHP开发部分
1.合并两个数组有几种方式,试比较它们的异同
2.请写一个函数来检查用户提交的数据是否为整数(不区分数据类型,可以为二进制、八进制、十进制、十六进制数字)
3.PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode文字的字符串大小写转换
4.PHP的is_writeable()函数存在Bug,无法准确判断一个目录/文件是否可写,请写一个函数来判断目录/文件是否绝对可写
5.PHP的chmod()函数存在Bug,无法保证设置成功,请写一个函数在指定路径下创建一个目录/文件并确保可以正确设置权限掩码
6.PHP处理上传文件信息数组中的文件类型$_FILES['type']由客户端浏览器提供,有可能是 伪造的信息,请写一个函数来确保用户上传的图像文件类型真实可靠
7.PHP通过对数据的URL编码来实现与Javascript的数据交互,但是对于部分特殊字符的编解码与Javascript的规则不尽相同,请具体说明这种差异,并针对UTF-8字符集的数据,写出PHP的编解码函数和Javascript的编解码函数,确保PHP编码数据可以被 Javascript正确解码 、Javascript编码的数据可以被PHP正确解码
8.试阐述Memcache的key多节点分布的算法?当任一节点出现故障时PHP的Memcache客户端将如何处置?如何确保Memcache数据读写操作的原子性?
9.如何实现PHP的安全最大化?怎样避免SQL注入漏洞和XSS跨站脚本攻击漏洞?
10.请设计一个数据结构可以实现无限级子菜单的树型菜单功能并提供菜单生成算法,用UML描述设计并写出相关PHP代码
二、系统相关部分
1.请简述Linux、FreeBSD、Soalaris、Mac OS、Windows几种系统下进程与线程的内核实现方式、管理机制的异同
2.请简述Linux/BSD系统下进程间通讯的方式有哪些,并具体说明在PHP下如何实现
3.请简述Linux/BSD系统下系统的消息/事件异步通知机制有几种,并加以比较
4.简单比较TCP/UDP协议的异同,对于PHP的'Socket扩展与Stream扩展,试比较两者基于TCP/UDP协议的SOCKET编程差异?
5.为什么会出现僵死进程(孤儿进程)?怎样查看僵死进程?如何解决僵死进程问题?
6.对于System-V消息队列,如何解决系统本身对于消息队列条数、总容量(字节数)的限制?如何设置消息的优先级别?请比较阻塞模式和非阻塞模式的异同,并说明如何避免非阻塞模式下的消息队列堵塞?
7.请描述Apache 2.x版本的MPM(Multi-Processing Module)机制,并具体说明在不同的MPM机制下如何支持PHP?
8.请简述PHP在Apache下的几种运行方式并加以比较?如何让PHP在Linux+Apache下以Fast CGI方式运行?
9. 请写出让PHP能够在命令行下以脚本方式执行时安装PHP所必须指定的configure参数,并说明如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数?
10.请简述PHP 5.2的内存池及其内存管理机制、垃圾回收机制
篇3:腾讯php开发工程师面试问题
1 . 请对 posix 风格和兼容 perl 风格两种正则表达式的主要函数进行类比说明
ereg preg_match
ereg_replace preg_replace
2 . 请说明在 php .ini 中 safe_mode 开启之后对于 php 系统 函数的影响
3 . php5 中魔术 方法 函数有哪几个,请举例说明各自的用法
__sleep
__wakeup
__tostring
__set_state
__construct,
__destruct
__call,
__get,
__set,
__isset,
__unset
__sleep,
__wakeup,
__tostring,
__set_state,
__clone
__autoload
4 . 请写出让,并说明如何在命令行下运行 php 脚本(写出两种方式)同时向 php 脚本传递参数?
1. php filename.php $agr1 $agr2
2. php –r “”
5 . php 的垃圾收集机制是怎样的
6 .使对象可以像数组一样进行 foreach 循环,要求属性必须是私有。
(iterator 模式的 php5 实现,写一类实现 iterator 接口 )
7 .请写一段 php 代码 ,确保多个进程同时写入同一个文件 成功
8 . 用 php 实现一个双向队列
9 . 使用正则表达式提取一段标识语言( html 或 xml )代码段中指定标签的指定属性值(需考虑属性值对不规则的情况,如大小写不敏感,属性名值与等号间有空格等)。此处假设需提取 test 标签的 attr 属性值,请自行构建包含该标签的串
篇4:php开发工程师简历
姓名 李立全 性别 男 出生日期 1979年01月23日 居住地 广州市 工作年限 三年以上 户口 广东 目前年薪 5-8万人民币
目前住址 电子邮件 家庭电话 020-3626-6450 移动电话
个人简历之自我评价
1.网络编程:
从开始学习php编程,熟练掌握并实践:php+mysql+smarty,phplib template,熟悉prototype,jquery,xajax等ajax框架,熟悉xhtml和css,熟悉javascript,xml,熟悉mvc,oop开发模式,熟悉b/s构架开发.
2.网页美工:
熟悉使用photoshop,fireworks等图像编辑和处理软件,熟悉dreamweaver
3.缺点:
对linux系统不熟悉,对flash不熟悉.
工作经验1. 茂名探索网吧
主要负责:主要负责局域网组建和维护,电脑故障的处理,同时协助解决互联网接入问题
2.--08 广州华一五金饰品厂
主要负责网页设计制作,期间开发了基于工厂生产流程的产品,订单和库存的管理系统
3.9月-9月 在家soho
给一些企业制作一些网站.以及接一些朋友的php程序单.
4.月15日-2月5日 广州嘉昂广告有限公司任职php程序员
主要负责公司客户网站php程式编写,以及公司以前程式修改
5.2月- – 一美国公司国内分公司兼职php程序员
篇5:php工程师面试问题
1. 下列哪一句不能将'john'添加到数组$user? 答:BD
A. $user[] = 'john';
B. array_add($user, 'john');
C. array_push($user, 'john');
D. $user ||= 'john';
2. 比较sort, asort(), ksort()三个函数的用法以及使用环境,
答:sort -- 将数组的值由a-z重排,并自动替换索引从0...结束
asort --- 此函数将数组的元素由a-z重新排列,且保持原先索引值和元素的对应关系,这个函数主要是用于
需要将数组的元素重新排列。这个函数比较常用。
ksort --- 此函数将数组依照索引值由a-z重新排列
例子:
对array('a'=>111, '9'=>“orange”, 6=>2, “apple”);排序。
sort则返回: Array ( [0] =>apple [1] =>orange [2] =>2 [3] =>111 )值由a-z重排,索引也变了。
asort则返回:Array ( [10] =>apple [9] =>orange [6] =>2 [a] =>111 )值由a-z重排,保持索引以应
ksort则返回: Array ( [a] =>111 [6] =>2 [9] =>orange [10] =>apple )索引值由a-z重新排列,保持索
引以应
3. 以下代码输出什么内容, 为何。
$num = 10;
function foo(){
$num = $num * 10;
}
foo();
echo $num;
答:
结果为10.因为foo()中的$num是访问不到函数外的变量的。要想访问加上global $num;结果就成100了。
4. 引用和普通变量的区别。
答:普通变量是开辟了一块新的存储空间,引用是直接指向其他的存储空间。
如:
$num = 10;
function foo($num){
$num = $num * 10;
}
foo($num);
echo $num;
调foo($num);函数时以变量传递,则返回10;
如果改成引用传递,返回100;
$num = 10;
function foo(&$num){
$num = $num * 10;
}
foo($num);
echo $num;
5. 加载类库的方法,
答:
function __autoload($class){
require_once(“./lib/”.$class.'.php');
}
6. foo()和@foo()的区别。
答:加上@符号会屏蔽报错提示。
如下:
$num = 10;
function foo(&$num){
$num = $num / 0;
}
foo($num);
echo $num;
大家都知道除数不能为0。如果加上@符号后就没有Warning: Division by zero
7. 你平时如何调试PHP代码。
答:用echo打出调试或用exit调试。再加上火狐浏览器调。
8. === 的作用是什么?举一个例子,使用 == 返回true,但是使用 === 返回false。
答:=== 的作用是比较变量的'值还比较变量的类型。==只比较值。
如下:
$str = '111';
if($str==111){//如果改成===则返回“失败了”;
echo “成功了”;
}else{
echo “失败了”;
}
9. 声明一个不含方法和属性的类。
答:class Db {}
10. 创建一个对象myclass的实例。
答:$db = new myclass();
11. 从类的内部访问或者设置属性。
答:
class DB{
private $username; //用户名
private $userpwd; //密码
public function test(){
$this->username='root';//给变量赋值
self::test2();//相当于$this->test2();//调用本类test2方法
//parent::test2();这样的话就调用了父类的test2方法
}
public function test2(){
}
}
篇6:PHP开发工程师的岗位职责
职责
1、负责公司产品的软件系统的开发与维护,对整个平台的安全、稳定、性能和架构先进性负责;
2、负责公司环境管理运营平台的开发管理,服务器实施;
3、负责公司软件系统的架构设计,核心代码编写,与系统日常维护;
4、按照部门经理制定的项目计划,按时并高质量的完成开发任务;
5、参与技术难题攻关,对相关系统的接口进行设计和规划;
6、按时完成领导交办的其他工作事项。
任职资格:
1、计算机相关专业,具有三年以上PHP项目开发经验;
2、熟悉PHP+MySQL,熟练掌握主流的PHP开发框架;
3、熟练使用mysqL等数据库,熟悉sql语言,掌握mysql的常规优化;
4、优秀的代码编程习惯及文档编写能力。
篇7:PHP开发工程师的岗位职责
职责:
1. 负责游戏后台的完善和维护,以及新增代码的代码编写和测试、游戏数据处理、游戏接口对接;
2. 根据项目进度和需求按要求完成代码编写、注释、优化;
3. 配合项目完成相关功能测试工作
4. 能独立完成产品需求,对突发性出现的问题能够及时追踪、定位和解决
岗位要求:
1. 熟练掌握PHP语言, 熟练应用PHP+MySQL,熟悉LAMP或LNMP平台;
2. 熟悉Linux开发环境,熟练使用shell、python脚本,熟悉Nginx等Web服务器的配置及优化,可以独立配置LNMP环境;
3. 熟悉MVC开发,熟练使用laravel等框架;
4. 熟练使用HTML、XML、CSS、Ajax、Json等前端技术;
5. 有渠道接入经验、游戏开发经验者优先
篇8:PHP开发工程师的岗位职责
职责:
1、根据开发进度和任务分配,完成相应模块的开发、编程任务;
2、参与维护并不断发现和改进存在的问题、不断提升系统性能;
3、积极参与产品、功能与技术架构的改进、参与技术规范的实施。
任职要求:
1.、1-3年以上PHP开发经验,热爱软件开发工作;
2、精通PHP语言,熟悉常用主流框架Laravel、thinkphp等;
3、熟悉MVC开发模式,深入了解php的性能和安全,能独立完成模块设计和开发;
4、精通MySQL数据库,熟悉数据库设计和性能优化;
5、熟练使用linux系统,熟悉nginx等web服务器的配置和优化。
6、熟悉并开发过微信公众平台的优先
篇9:PHP开发工程师的岗位职责
职责:
1、负责公司产品的开发工作;
2、负责系统相关业务模块的设计与开发;
3、负责相关开发文档的整理与编写;
4、与前端配合开发公司APP以及其他项目;
任职资格:
1、大专及以上学历,两年以上 PHP工作经验,自学能力强;
2、至少熟悉一种数据库开发MySQL/SQL/ORCAL。 对数据库性能有开发、配置、维护、性能优化经验;
3、有打包封装APP开发经验(必须);
4、熟悉主流PHP开发框架,熟悉Laravel 优先。;
5、良好的沟通,理解和逻辑能力;
6、具有Web前端开发经验优先;
篇10:PHP开发工程师的主要职责
职责:
1、负责快速迭代产品线开发、升级、维护;
2、参与或主导需求分析,并实现新需求(功能);
3、独立或分组进行项目分解开发及优化;
4、负责核心功能板块开发;
5、独立解决技术难题,及时定位并驱动落实。
任职要求:
1、计算机相关专业专科及以上学历,3年以上开发经验;
2、熟练掌握PHP语言知识,至少熟练使用一个流行框架TP5、Laraval、Phalcon;
3、熟练掌握MySQL数据库操作、熟练使用存储过程、事务;
4、熟练完成第三方接口接入,微信、支付宝、短信、云存储等;
5、熟练使用git、SVN等开发工具,掌握Linux环境操作;
6、有高并发、大数据开发经验,有较好的学习能力和沟通能力,有创新能力和责任感,熟悉软件工程,具有良好的代码编写规范和书写文档的习惯。
【腾讯PHP开发工程师面试试卷】相关文章:
5.开发工程师简历






文档为doc格式