开发人员面试葵花宝典:PHP面经-面试题分析01(基础部分)

先来段插曲:谈到面试,有些朋友说,面试嘛,有啥,就那样面呗,不就是简历,去公司谈一下,或者线上聊一下,成就成,不成就找下家呗。有这样想法的朋友,一定是个乐天派。请问,这样能保证很快就可以得到面试邀约吗?得到邀约能和面试官相谈甚欢,拿到offer吗?即便碰巧拿到,又怎能确保不是很快就感觉不合适而闪离呢?请问,你经验过路上2小时,面试三分钟的尴尬吗?

开发人员面试葵花宝典:PHP面经-面试题分析01(基础部分)

开发人员的面试,关涉到简历、选择公司、面试(一面、二面甚至N面)、薪资谈判、入职准备等等相关内容,即使每一段分开来说,也有相当丰富的细节需要注意。

开发人员面试葵花宝典:PHP面经-面试题分析01(基础部分)

实际上,面试,不是仅是一份工作的结束、另一份offer的开始。通过面试,拿到一个offer,仅此而已?才不是呢!开发人员面试葵花宝典:PHP面经-面试题分析01(基础部分)过面试,阶段总结,几乎是顿悟性地提提高自己的能力和水平;面试,是一个offer中长期以来的辛苦的积累从量变转为质变的过程,是厚积薄发地过程,是你duang~duang~duang地烟花炫丽地绽放地过程。
通过多年项目管理经验,及培训机构的毕业辅导经验,小编总结出,相似的事情是可以通过经验提高成功率的,越严谨,流程越规范地工作越是如此,面试也是一样可以通过合理地准备工作提高成功率及入职满意度、工作稳定性的。
小编作为互联网行业摸爬滚打10余年的老鸟,愿意把离职准备(如何优雅地离开,挥一挥手,不带走一片云彩开发人员面试葵花宝典:PHP面经-面试题分析01(基础部分))、如何准备简历、如何“看透”和选择中意的offer、如何面谈及入职的良好经验及入职后如何开展工作等与大家展开分享,当然,还有很多干活:面试题分析。涉及到的方向包括:PHP,Java,Python,前端,请大家持续关注,多沟通,如果你有面试中的困惑或者想法,请在正文下方留言小编整理解答后再分享给更多的朋友。
好了,闲言到此,今天先和大家聊聊PHP面试中的基础技术问题。下面上干货。
  • 问题:单引号和双引号区别?
解析:一般来说,这道题,或者类似于这样的题目,比如:echo,print的区别,是考验面试者的基本功和对PHP核心编程能力的掌握,所以,如果是要求比较高的面试中不会出现。因为这道题太简单,基本上去参加面试PHP的程序员都能回答出来,如果你回答不出来,那么需要在PHP核心编程上下点功夫了,如果需要指导或帮助,请在[趣学软件开发](progLife)中留言,与我取得联系。所以,如果按照普通的回答方式,可能没有啥加分印象,给面试官的感觉,顶多是,哦,基本上还可以。

开发人员面试葵花宝典:PHP面经-面试题分析01(基础部分)

解答要点:那么,这道题如何回答呢?首先,从语言类型来说,PHP是一种动态脚本语言,因此数据类型不太严格,不像有些强类型的语言,如:java中,char(字符)和string(字符串)是有区别的,在PHP中,一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节这个定义来自于php.net,所以如果觉得无聊时,偶尔看看php.net,不要一直刷美剧、吃鸡,偶尔调剂一下也不错嘛),大体意思是PHP没有字符类型,如果表达一个字符,用字符串就可以了。事实上,PHP中,不仅只有字符串可以用引号,还有日期类型也是以字符串形式书写的。因为PHP的动态脚本语言特性,在字符串的时候,可能会有变量,在这种情况下,如果使用单引号,变量不会解析,而双引号可以;另外,各种符号也是字符串,如果使用了特殊字符,比如“”,如果使用双引号,就要使用转义,而单引号则不需要;(这里可以想一想为什么);除了””之外,如果字符串中使用了引号,不论是单引号,还是双引号,都要考虑转义的问题,如果不转义,就考虑交差使用,即:如果字符串中使用的是单引号,则外层使用双引号,如果字符串中使用双引号,外层则使用单引号,大多数情况下,单引号和双引号是可以相互替换的,但由于解释变量,转义等原因,通常单引号的执行效率要比双引号要高一些。
引申:如果面试时,你把上面的要点直接很流利的一下回答出来,是否会给面试官一个好印象呢?答案是:未必。这就是面试中的另一个技巧,面试,重要的两个部分,一是展现自己,另一个是一个沟通。所以,很多朋友面试过后,感觉很尴尬,明明答得很好啊,为什么没有offer呢?很大的原因,问题可能出在沟通和展现方式上,比如,上面这个问题,你直接一次性,快速回答出来,面试官可能会有一个疑问:你是否在背书?因为现在网络发达,信息泛滥,想找几套乃至成千上百套面试题,也是毫无困难的,而实际上每个面试者都会,也应该了解几套典型的面试题。而面试官想要的是通过面试问题了解面试者的能力和功底,而不是背书能力;所以,在面试时,表现出思考,逻辑能力,组织,表达能力是非常重要的。这种技巧是可以训练出来的。

开发人员面试葵花宝典:PHP面经-面试题分析01(基础部分)

实践:如果面试问到的问题,无法在实际项目中实践,那这可能不是一个纯技术问题。而这道题,近乎于纯技术问题。关于字符串中有大量变量时,一般不直接使用字符串变量,而是用格式化的方式,如:
$buyer = "王二麻子";$goods = "深入理解PHP内核(TIPI:think in PHP)";$singlePrice = 120.045;$amount = 15;$totalFee = $amount * $singlePrice;$saleTotal = 1500;$per = $amount / $saleTotal * 100;$fmtStr = "%s购买了%d本%s,合计%.2f元,占总销售量的:%.2f%%。n";$res = sprintf($fmtStr, $buyer, $amount, $goods, $totalFee, $per);echo $res;
如果,你有兴趣,读一下一些MVC框架的原码,有一些就是采用模板解析后,再使用格式化的方式来实现的,当然实际的操作要更麻烦一些。
关于效率的问题,通常情况下,单引号要比双引号效率高,这也是可以验证的:
{//执行效率  $startTime = microtime(true);  for ($i = 0; $i < 1000000; $i++) {    // $str = 'php是一门动态脚本语言,它是很好的web开发语言';    $str = "php是一门动态脚本语言,它是很好的web开发语言";  }  $endTime = microtime(true);  $runTime = ($endTime - $startTime) * 1000 . ' ms';  echo $runTime;}
如果多次执行这段代码,会发现,有时反而是双引号的时间比较短一些,这是由于解释器和环境的原因,就不在这个篇符里讨论了。
 
由于篇幅原因,就写到这里吧。内容太多,大家看起来容易疲劳。这一系列的文章的宗旨,不是为了解析面试题而解析面试题(面试题相关的文章太多了,如果单纯的了解面试题,自行搜索,如果你有比较有趣的面试题可以在公众号联系我),而是通过面试题的解析,分析面试题的方法和思路,旨在帮大家提高面试能力。

未经允许不得转载:PHP100中文网 - 中国第一档PHP资源分享门户 » 开发人员面试葵花宝典:PHP面经-面试题分析01(基础部分)

赞 (1) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏