说在前面:
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://www.example.com: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的平方)
  6)什么?PHP低效且用起来不顺手,好的,你可以用别的语言来实现。但注意:提供给你的机器上只有python 2.4/perl 5.8/gcc[g++] 4.1
By xhttp.cn 整理:http://www.xhttp.cn/2010/05/2

解决方案 »

  1.   

    -----------------------------------------------------
    2、请列举、你能想到的所有的字符串查找算法,并加注释简单说明。   二分法可能是最快的
    -----------------------------------------------------有一个IP地址(192.168.0.1),请写出其32位无符号整数形式。
     pack和unpack可以自动计算-----------------------------------------------------1、PHP的垃圾收集机制是怎样的?
      据说是执行完自动清楚,只是sesson一节提到了具体的垃圾清理,但只对session,这个是用的是概率收集.
    很多程序都有这样的机制-----------------------------------------------------
    请写出HTTP头,并符合以下要求:这个你只能记住轮廓就算不错了,想清楚,三遍以上都记不全,第一行是请求;以下是信息;第三部分是body之间有双回车换行隔开
      

  2.   

    SERVER端模型出来(格式不重要,尽量将图画清楚,说明思路即可)
    根据http协义,链路中间有代理,网关.这具题或许只有在高性能网站才有意义.
    负载均衡,缓存服务器,缓存和加速,数据库读写分离,分步式
    -------------------------------------------------设计任务:
    1、最近总有人骚扰我们的投票模块,需要你来设计一个投票限制的东东
      1)要求每个QQ号码(假设此QQ号码在UNIT32内可以表示)10分钟这内只能投5票。
      2)我们的用户很踊跃,平均每天要有2000 万人左右通过此程序投票。数据量不大时可用在发布前计算一个10分钟内的投票次数,大于5,则返回
    数据量大时,一种方式仍是内存表,像session一样存储数据量大时,可用cookie记录投票时间,记录最近的五次或不计次数,但过期时间为10分钟.
      

  3.   

    什么server端模型,表述就有问题
      

  4.   

    server端模型 不是php的,是c或者其他c/s架构做server用的,记得有3个好像,都有套路可走的,在linux c网络编程这本书里面有介绍,
      

  5.   

    2、请列举、你能想到的所有的字符串查找算法,并加注释简单说明。
     KMP算法和BM算法有一个IP地址(192.168.0.1),请写出其32位无符号整数形式。
    笔试题哪来pack用,如果可以执行函数直接ip2long不就行了1、PHP的垃圾收集机制是怎样的?
    session的垃圾回收和PHP的gc根本一点关系都没有,PHP的gc无非就是引用计数而已,而且还有bug请写出HTTP头,并符合以下要求:
    POST /test HTTP/1.1
    HOST:www.example.com
    User-Agent: ...
    Cookie:cur_query=you%26meusername=test&pwd=test2&intro=Hello world!
      

  6.   


    你说的是socket I/O模型?阻塞、非阻塞、select、Overlapped、IOCP?
      

  7.   

    php GC简单来说就是
    1.清除符号表中的变量名,每清除一个,相应指向的zval的refcount减1
    2.清除所有refcount为0的zval。
    不知道这样回答能不能得1,2分。。汗。
    循环引用会造成,zval无符号表指向,且refount不为0,无法删除.php5.3有了一套机制处理循环引用的问题。
    同学们一起研究。链接在此。
    http://php.net/manual/en/features.gc.phphttp那个,借用一下POST /test HTTP/1.1
    HOST:www.example.com:8080
    Content-type:application/x-www-form-urlencoded  #方便读取
    Content-length: strlen('username=test&pwd=test2&intro=Hello world!')
    User-Agent: ...
    Cookie:cur_query=you%26meusername=test&pwd=test2&intro=Hello world!
      

  8.   

    请列举你能想到的UNIX信号,并说明信号用途。
    说实话,我是看不懂这个题目什么意思,“信号”什么意思?呵呵信号多了去了,指的什么信号?写出、你能想到的所有HTTP返回状态值,并说明用途
    呵呵,有5大种,而其中又有n个小状态码
    1XX,2XX,3XX,4XX,5XX一共有77个,考这样的问题,这问题你可以倒考考官。明摆是在“涮”你嘛,考这样的题腾讯就明摆着没打算招人。有一个IP地址(192.168.0.1),请写出其32位无符号整数形式
    这题目又太弱智了,用电脑我还要去手工计算,有病
    $ip = explode('.', $dotquad_ip);
    sprintf('%02x%02x%02x%02x', $ip_sep[0], $ip_sep[1], $ip_sep[2], $ip_sep[3]);
    这样就得到了我看到这几个题直接交白卷走人。
      

  9.   

    $ip_sep = explode('.', $dotquad_ip);
      

  10.   


    应该是指signal函数发送的一系列信号 ,SIGINT、SIGQUIT、SIGILL等
      

  11.   

    标题是腾讯php程序员面试题目看了下题目,想说的跟long0124一样,相当杯具。杯具的不是技术,而是腾讯这样招PHP程序员开多少工资啊,年薪十万?二十万?能及格的PHP程序员都世界有名了。
      

  12.   

    2、请写出HTTP头,并符合以下要求:
      1)这是一个post请求
      2)目标:http://www.example.com:8080/test
      3)POST变量:
        username: test
        pwd: test2
        intro: Hello world!
      4)包含以下COOKIE信息:
        cur_query: you&me
    这里 =  = 懂点,都忘记了,其他的基本不懂,学习了。。
      

  13.   

    1XX,2XX,3XX,4XX,5XX一共有88个
    100--101, 200--207,300--307, 400--449, 500--510信号太广泛了,进程、线程间通信靠信号,程序间通信也是靠信号、人机互动也是靠信号,客户、服务器也是发送信号。在广义点人与人对话发送信号,发帖也是发送信号,不指明什么信号这题有解吗?出题人自己都不明白自己要问什么,别人能回答?“惹恼了上帝”
    呵呵,我会告诉传教士世界上没有“上帝”。什么?PHP低效且用起来不顺手
    呵太搞了,如果其他语言更精通的话,我想多数人会选择应聘其他职位了。
      

  14.   

    就那个HTTP状态值的问题能答出来一部分,看来我的学习之路任重而道远啊!
      

  15.   


    我是说他考这样的题目没意义,你如果有本事在事先不知道题目的情况下,闭卷,别说79种状态码,能说出10种都算不错了。一般的网页开发最多使用4、5种状态码,像ajax通常也就要使用200这一种(注意我说的是通常情况),记得这么多干什么?用到时手册是用来干嘛的?这样的题目更像是用来考网络编程的,比如开发个下载程序相关的职位,不过就是把题目改了一下,这样的题目根本就没有用心出题,tx根本就没有要诚意招人。使用php去实时操作一个4M的文件,呵呵,再好的服务器也要被卡死。出题的老兄太有想像力了。
      

  16.   

    题目是“写出、你能想到的所有HTTP返回状态值”,不是叫你都写出来
    其实就是考你对HTTP协议的了解程度,怎么会没有意义?
    像200,206,301,302,303,304,307,400,401,403,404,500这些主要的返回状态都是有必要了解的常识。写PHP就不需要了解网络编程的知识了?这样你只能永远做个coder了。最后一题考的是算法,而且是道相当简单的算法题,如果你连这个都解不来,就安安心心做coder吧,也别抱怨薪水低了
      

  17.   

    http://www.hemono.com/?p=194
    腾讯php程序员面试题目——编程任务(附答案)
    http://www.hemono.com/?p=205
    腾讯php程序员面试题目——设计任务(附答案)
      

  18.   

    一直觉得PHP还算行,但这个真的不行
      

  19.   

    太难了啊,PHP咋还有这么多的要求呢,不就是做网站吗。
    用得着这么复杂么。PS:可不可以网络查询啊~~~~~
      

  20.   


    用Memcached::cas,乐观锁即可。
    如果有并发冲突,那就说明这个号码有人在刷票,直接丢弃请求
      

  21.   

    完蛋了  难倒CSDN这么多人!!!
      

  22.   

    招的是天才PHP,这样没有10几年的经验是不行的
      

  23.   

    太难了吧!比我用PHP 写的一个木粉机的网站难多了!
      

  24.   


    这些题目肯定都是世界有名的PHP大师出的题目。
      

  25.   

    除了开始两道题,php很少用到,别的都不怎么难1 UNIX信号?啊
    2 字符串查找算法,啊,strpos?
    3 注意32位机会是负数,要用sprintf函数
    4 考http协议呢,下面还一道http协议的高级题
      

  26.   


    编 程 任 务,记 得 要 求 是 飞 快 噢,就 是 不 知 道 他 们 提 供 的 机 器 ub untu 9.10 里 面 有 没 有 装 my sql ,哈您的回复正文中有非法词或词组! 
      

  27.   

        说起来自己写代码已经6年了~~今天下午请假去了趟腾讯的北京分公司面试,地址在苏州街的银科大厦。
    我做的那套题目总共有6,7页!前面2页基本上都是JS的题目,我回答的一般,有些细节记不清楚了。主要是其中一些方法用的比较少,一般都是临时查下手册。后面都是关于Lamp的知识点考察,其中有道题目是楼主说的关于模拟http的post请求的,正好前两天做的项目里和ku6有个技术接口是用这个做的,所以写的还算比较清楚,但是细节也还是有些模糊(所有做过的项目中涉及到的知识点都记住的话对我来说基本不可能),和我面试的负责技术的那人后来说对我印象不错,让我等等。结果后来人力的给我说他们领导没在,让我2周内等通知!
        不知道这是忽悠呢还是有其他原因(还有其他面试的),我之前也有面试过人,觉得不行的基本也都是说“我们会在一周内通知你!”.我很蛋定,至少我是在骑驴找马!
      

  28.   

    各位的薪资待遇都如何?
    我先自报家门:  编成经验6年,php3年.  月薪:8k  地点:北京
    大家都多少!