腾讯PHP开发工程师面试试卷

2024-06-26

腾讯PHP开发工程师面试试卷(精选3篇)

篇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 脚本传递参数?

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 属性值,请自行构建包含该标签的串

篇2:腾讯PHP开发工程师面试试卷

说在前面:

1、以下题目,除了编程任务外其他都需要写在给你提供的草纸上。纸张是珍贵的地球资源,请节约使用。编程任务在有相应的环境时,会要求上机书写,实在没有条件,就只能写在草纸上了。2、时间:

基础任务+进阶任务+设计任务 = 90分钟 编程任务 = 60分钟 基础任务:

1、请列举你能想到的UNIX信号,并说明信号用途。

2、请列举、你能想到的所有的字符串查找算法,并加注释简单说明。3、有一个IP地址(192.168.0.1),请写出其32位无符号整数形式。

4、写出、你能想到的所有HTTP返回状态值,并说明用途(比如:返回404表示找不到页面)

基础任务-选作(会得到额外分数):

1、画几个你最熟悉的SERVER端模型出来(格式不重要,尽量将图画清楚,说明思路即可)进阶任务:

1、PHP的垃圾收集机制是怎样的?

说明:

1)如果,你熟悉PHP源码,那么请从源码入手,回答些问题,会获得额外加分

2)如果,你不熟悉PHP源码,那么尽你所能,多写点东西,包括利用自己的编程直觉得到的信息,都可以。

3)对,则有分,错误不扣,不写无分。2、请写出HTTP头,并符合以下要求:

1)这是一个post请求

2)目标:http://:8080/test

3)POST变量:

username: test

pwd: test2

intro: Hello world!

4)包含以下COOKIE信息:

cur_query: you&me

说明:

1)如果,你记不得某个HTTP协议中的指令字了,那么,无奈这举是用“汉字”代替。

2)如果,你能记住更多的HTTP协议指令字,那么多写几句,总是没坏处,对吧?

3)最关键的,只需要画出正确的“轮廓”(还记得httpwatch等工具打印出来的头部吗?那就是“轮廓”的含义),也会有分数,但如果,连“轮廓”都写错了,那么就很遗憾了。设计任务:

1、最近总有人骚扰我们的投票模块,需要你来设计一个投票限制的东东

要求如下:

1)要求每个QQ号码(假设此QQ号码在UNIT32内可以表示)10分钟这内只能投5票。

2)我们的用户很踊跃,平均每天要有2000万人左右通过此程序投票。

说明:

1)无需写代码,只需要图跟文字即可。

2)对于关键逻辑,请用图加代码表示出来,这也是对你文字表达能力的一个考验。

3)对你能想到的所有的边界条件列出来,这是对你逻辑思维全面与敏捷性的考验。

4)存储部分,尽你所能吧。如果,你需要一个自己设计的存储层,那么把这个存储层的实现,用文字+图片方式描述清楚,要是设计合理,你会获得华丽的奖分。编程任务:

1、我们碰到了大麻烦,一个新来的传教士惹恼了上帝,上帝很愤怒,要求我们把圣经(bbe.txt)背熟,直至他说哪个单词,我们就要飞快的回答出这个单词在第几行第几个单词位置。听说你是个优秀的程序员,那么髟助我们完成这个不可能的任务吧。

要求如下:

1)/myworks/example/bbe.txt,98版本英文圣经一本

2)输入部分要求如下:php./example.php [单词]

3)输出部分如下:[单词] 1,2 2,4 5,6 表示:此单词在1行2列(第二个单词),2行4列...说明:

1)此文本4MB之巨...2)单词的含义:由英文字母(大小写),数字(0-9)组成的串

3)提供给你的机器OS为ubuntu 9.10,内存只有1G,而且,很不幸的,其中700M用来做了别的

4)上机考试不允许上网,但我装了man文档以及读取CHM以及PDF的阅读器,在电脑的桌面的CHM文件夹中,有相应的PHP参考手册

5)算法复杂度要求不能大于O(N^2)(就是N的平方)

篇3:腾讯PHP开发工程师面试试卷

腾讯一面

一面的人还真的很多呀,在面试地点看到了很多牛人,比如说我的研究所师兄,我们班的百度牛人。签到完以后我就走到了一个房间门口,乍一看,哇那么多人在排队,最后一个MM告诉我她们面试的是产品的,幸好,不然会等死人的。我面试的是前端js,大概5点左右的时候一个gg把我叫了进去,进去以后就感觉一种亲切感没有之前的紧张感,然后面试官叫我等等,估计他还有些事情处理,之后我看到我的笔试成绩丢人啊(不好意思说了)!然后面试官叫我自我介绍一下,然后我就balabala的说了一下自己对web开发的兴趣以及一些自己开发的项目,然后我就把笔记本带来的项目一一介绍给他看,似乎他只看我运行的结果。然后就开始问我一些简历上的.问题.

面试官:你讲一下你的学生实践工作吧。然后我就说了一下自己担任过学生处助理、院的团委副部长,然后就是讲了一下自己的学生工作的体验和感受。

面试官:你有学过数据结构是吗?那我就问你一些问题。

然后他问了我一些基本的:二叉树是什么、平衡二叉树是什么、有哪些排序算法、讲解一个你最熟悉的排序算法、还有就是二分查找。

然后我就向面试官借笔,给他说了上面的问题比如说什么是二叉树等,然后在讲解快排的时候我辶耍自己给自己出难题,我列举了一组数据然后有两个相同的数字,忽然忘记相同数字怎么处理了,最后我就说去掉相同的,然后给他讲解了一下基本思路。他说:嗯嗯,最后就那样说了一下,这些还是很基本的东东的,最后就没有问其他方面的问题了,大概整个面试时间为40分钟,然后我就很安静的走了。

腾讯二面

一直都在等二面,等的我好着急,大概是第二天晚上左右吧,听到有同学说收到了二面的通知了,我那个心里着急啊,难道又被鄙视了,感觉自己还行的,我就一直等到晚上11点30左右,看到手机来短信了,一打开那个高兴啊(下午17:20华工大学城酒店),然后又是一阵翻看面经,

上一篇:体音美教研活动记录下一篇:给老师的一封信教案