非常好的答案... 也许是太好了

英文原名: Good Answer... Perhaps TOO Good

Peter B. 是一个失业的PHP开发者,他在2005年初时想找一份合同制工作. 曾经和他共事过的一个做招聘工作人员邮寄给他了一些可以考虑的职位信息. 读了工作描述后,Peter想自己应该适合这份工作,所以他提交了一份简历,几天后,收到了一份回信.

人 事经理描述了常规的招聘流程;Peter需要先回答一些测试问题来显示技术水平,如果回答的令人满意,他们会定时间进行面试. 带着一点惊恐,Peter说他已经准备好回答问题了. 他担心这测试的将会是一个复杂的问题,他可能根本不熟悉. 一个小时后,一份标题为"测试问题"的邮件发了过来,并带着非常重要标志.

他的鼠标在邮件上悬停,他想象,打开它后,就需要面对"在一个PB349微处理器上,如果在内存地址为0xa9f00c的地方有个MOV指令,目标是内存地址0x8ad9da,那么在一个64KB的内存模块上如何为下600个指令分配地址? 你有三十分钟的回答时间."

Peter做了个深呼吸,点开了邮件. 这里的确有个问题需要他来回答:"请描述一下连接操作是什么,PHP里是怎样运用它的,以及你在将来打算如何运用它."

Peter很惊讶. 这个问题是任何一个对任何一种现代编程语言有所了解的人都能回答的. 这个问题甚至容易于描述乘法的运用和如何在将来使用.

然而,为了显示他对这个概念的理解,他还是配合了. 他完成了一篇详尽的回复.

连 接操作是一个顺序的连接多个数据片段的过程,通常是连接字符串和非字符串数据(绝大多数是变量或其它字符). 这种操作符依编程语言的不同而不同. 例如Javascript重载了加号( ),让它既是连接操作符,也是算数加法的操作符. PHP使用句点号作为它的操作符.

字符串连接经常用于在PHP里构造用于向客户端(浏览器)输出的HTML字符串.这在基于过程的PHP代码里很常见.然而,我需要说明一下,很多情况使用连接操作来生产HTML代码是效率很低的,使用其它的设计模式也许会有更好的效果 - 特别的当开发者在一个echo操作里使用连接操作时(在这种情况下,用comma-separating这些字串会更快).

字符串连接的另外一个常见的用法是构造动态的SQL查询语句.例如,如果我有一个CMS系统需要取出一个特定用户所写的所有文章,那么代码应该看起来像这个样子

$sql = "SELECT article_id, article_body FROM Articles WHERE author_id = " . $User->getID() . " ORDER BY article_date DESC";
?>

就像你看到的,上面的代码用三段字串组成了一个完整的SQL查询语句.

1. 一个SQL片段
2. 从一个客户对象里取出的客户ID
3. 一个SQL片段

人们构造SQL查询语句时大多数都会用一些动态的数据来改变他们的结构,这在我开发的Web应用程序中是十分常见的.还有一些用法,例如构造cookie,构造错误报告消息,email header,以及动态URL.

我希望这些能够充分的解释连接操作符的基本概念和在PHP里的作用,以及我对这个基本操作的经验.

彼得发出了这封邮件,并在几天后接到一个电话.

Peter:你好
Lisa: 你好, 是Perter吗?? 我是Concatcorp公司的Lisa.
Peter: 哦, 你好! 听见你很高兴! 我希望你能给我带来关于工作的消息.
Lisa: 嗯, 是的, 但是...
Peter: 但是什么?
Lisa: 我们决定把这个职位留给其它候选人.
Peter: 我明白了... 我可以问问是为什么吗? 我认为对于测试的问题我给了一个十分漂亮完备的职业解答.
Lisa: 是的, 你回答的很好. 但问题是你的回答太好了, 他们认为你在剽窃. 我很抱歉.

这时Peter认识到,没有得到这份工作也许是件好事.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值