三道PHP面试题

有三道PHP的面试题,除了第三题需要一些经验和对HTTP协议理解外,前面两题其实很简单,但是很少遇到有人答正确的,大部分人我想都不是技术问题,而是思考是否严谨的问题。

1. 下面语句输出什么?为什么?
if ($a=$b)  printf(“a==b”);
else  printf(“a!=b”);
2. $array[‘anykey’]和$array[anykey]有什么区别?
3. 写出使用telnet命令通过GET的方式访问http://www.toplee.com/index.php 得到页面返回的方法(不是用PHP实现,用dos或者unix命令行实现)。
Category: PHP / Zend  Tags:
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
25 Responses
  1. blankyao says:

    得到结果时才恍然大悟…

  2. kevin says:

    不懂PHP的我,永远都不能得到结果,永远没机会恍然大悟

  3. suchasplus says:

    1. $b赋值给$a…当然不可能是else了..
    2. key2value ‘anykey’是key, anykey是value
    3. 只会命令行的,不会php的

  4. D says:

    1 $a!=b. 其实是取决于B的值

  5. fanxiaowen says:

    收了,以后拿这个去考一下师弟师妹

  6. callaly says:

    第二题可以查看PHP查考里数组的\”数组做什么和不做什么\”

  7. weird says:

    第一题
    if ($a=$b) printf(“a==b”);
    else printf(“a!=b”);
    程序把$b赋值给$a,然后判断$a值~~~因为$=null 所以$a自然为false
    第二题
    不用多说~~~
    第三题
    open http://www.toplee.com 80
    get index.php HTTP/1.1

  8. jeff says:

    1.将b的值赋予a 因为b是null 所以else
    2.这样写的话在警告没有打开的条件 不会出现提示错误的 anykey 只要没有定义成常量 效果一样 (节约了两个单引号) :)
    3.貌似这样没有什么好处吧 :) curl更强大

  9. xiaodouban says:

    哈哈,真nb,虽然没玩过php,对php的语法不属悉,但是这两个题目mao似还能答上来,可能是我c学得太好了。

  10. ju says:

    呵呵,machael
    奇怪我不会PHP竟然也能回答上来头两道…

  11. Michael says:

    [Comment ID #30114 Will Be Quoted Here]

    🙂 高!

  12. Gabriel says:

    Michael兄,

    有个ZF性能问题请教下,我以前是搞JAVA的,最近开始准备学习ZF。昨天刚刚下了ZF1.6,测试性能发现不是一般的差。你有没有这方面的测试数据。

    安装环境:apache2.2, php5.2.6,xcache1.2.2
    我按照ZF官网的例子Quickstart做了一个最简单的例子,不访问数据库,没有业务逻辑,就是输出一个’hello world’,只是走通了MVC的概念。然后用AB做了一个10个用户,1000笔请求的测试,结果吓我一跳。每秒请求数在13-15左右。

    不用ZF,只写一个简单的hello.php,用AB做同样10*1000测试,每秒在1300,相差了将近100倍。

    我检查了XCACHE,确认缓存是命中的。

    有没有什么建议?谢谢。

  13. gabriel says:

    Michael兄,

    以前没有采用php,是因为企业应用,对分层要求比较高,所以没有使用php,但对php, ror一直抱有好感。如果没有使用ZF,php的性能还是可以接受的,基本上在java的70%,不是问题。

    但是ZF目前的表现是在是不敢用。可能我什么地方配置有问题?不过ZF的配置确实十分简单啊。

    今天我用spring mvc,做了同样的一个例子,在同样的硬件环境下做了同样的测试。
    机器:DELL 笔记本,core 2, 1.73GHZ, 2G内存。
    操作系统: WINDOWS
    服务器:TOMCAT 6.0

    禁止session,采用share nothing的路子,测试。结果如下:
    10并发 1000笔时:每秒1800以上
    100并发10000笔时:每秒1800左右
    500并发10000笔时:每秒1400左右

    写这个问题的目的确实是想得到一个ZF应用的性能答案。如果是可接受的范围,很想切换到ZF上,因为ZF开发确实方便。

  14. Michael says:

    [Comment ID #30152 Will Be Quoted Here]

    实话实说,纯粹的ZF框架,如果要用到商业的大型高并发应用上,还是不建议用,纯粹的ZF适合用在企业应用和网站的内部后台系统开发上,因为无论如何,不可想象一个大型应用会基于一个index.php来做Router和Rewrite

    我应用的方法,更多的只是采用ZF的部分模块或者使用ZF的代码组织方式和编码风格,吸取长处的地方到具体的项目中。

  15. gabriel says:

    说得好。

    我也有同样的想法,吸取ZF和ROR的简洁化,准备在SPRING上做同样的约定代替配置的工作。

    ZF等真的成熟了再说吧。谢谢。看过你的大容量并发架构的博文,写的很好,获益非浅。

  16. Spirit_MLY says:

    第一个,if里面的判断,嘿嘿,因为$a = $b是赋值,如果$b非零,则if为真,否则为假;
    第二个,考察的是数组中键,单引号与无引号的性能,当然是用单引号的性能会高于无引号的,因为无引号的,PHP会把它当成常量,找不到了再做键
    第三个,不懂^_____^

  17. justin says:

    第一題出的水平真是高,暗藏玄機啊!請各位注意輸出語句裏面的引號,注意用中文引號(半角)和英文引號的區別。

  18. Michael says:

    提示一下,和全角半角没有关系。 🙂

  19. 纸黄金网 says:

    没看题就是觉得博主的胡子好性感啊

  20. 小猪 says:

    [Comment ID #31103 Will Be Quoted Here]
    说的好,我试了下,确实是有区别的。

  21. leetman says:

    [Comment ID #31103 Will Be Quoted Here]
    大哥那个是叫引号吗(输出语句后面)?

  22. ninstein says:

    呵呵 博主的胡子照是在哪里CS拍的?

  23. Michael says:

    [Comment ID #31778 Will Be Quoted Here]

    我这样回复你,岂不是替他们打广告了? 嘿嘿

    我就用蹦心的广告来回复你吧,那个cs的地方在这里: http://www.bengxin.com/shop/391586.html?f=998

  24. says:

    面试这种问题 没有任何意义
    是骡子是马拉出来溜溜就知道了

  25. broad you are so amazing. I like it. Th

Leave a Reply

Your email address will not be published. Required fields are marked *

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Anti-spam image