查看原文
其他

“最好编程语言” PHP面试的两三事

IT服务圈儿 2022-09-11

The following article is from 脚本之家 Author 风中纸鹞

IT服务圈儿

有温度、有态度的IT自媒体平台


经过近2个月的面试,总算顺利拿到了offer。每天在Boss直聘上刷简历,不断地前程无忧上海投的事情总算可以告一段落了。不得不说,最终还是在前程无忧上的1家公司找到了归属。

这里,简单地分享下PHP面试的几个小事及注意事项,仅供参考。


01

小处见端倪

不得不说Boss直聘是个很不错的平台,只是我不怎么适应这种模式。基本上每天都会有5-6个BOSS会自动跟你联系,但是不排除一些BOSS的性情不怎么好。

在最开始的,当BOSS联系你的时候,我犯下1个错误就是直接询问对方如下一些情况:

  • 贵公司是否双休

  • 贵公司是否五险一金齐全

有些BOSS会直接如实回复你。

但是不排除如下一些BOSS直接反问你,你就只是想找双休的工作?甚至有些直接跟你说,我们现在前2个月996,你接不接受?

而以上一些特殊的情况,主要发生在一些小型游戏公司、外贸公司比较多。

不知道从什么时候起,PHP工作待遇的标配就是:

  • 大小周或单休

  • 五险

实际上,我的期望并不是很高,只是双休加齐全的五险一金就好,至于公司给你购买的基数是多少也不大想太多过问。在这个过程中,还有家搞区块链的公司直接跟我说,公司实际上也不会给你太多的公积金,所以有跟没有差别不是很大。

这样回复的公司,倘若是你,你会选择去面试?

记得有家游戏公司问我会不会Yaf,我跟她简单说了下Yaf的优势。结果她得知我在项目中没怎么使用过,就直接拒绝了我。实际上,谁家公司项目会用Yaf,开发起来还不如用原生PHP的7.0。当然,那家公司是单休。


02

学历是道硬伤

不知道从什么时候开始,连PHP的开发都要本科学历了。而我朋友给我介绍的外包公司,也必须要本科学历才能考虑是否让你过来面试。当然,随着这几年大学生毕业,就业门槛提高是在所难免的。

印象最深的就是,投了某家电子商务的公司的职位。那天人事助理联系了我,结果得知我还不是本科学历,直接跟我说不好意思,因为公司方面强制要求最低本科学历,而那家公司在2016年才刚成立。

因此没事还是多提升下自己的学历,读个继续教育拿个本科学历,至少在未来一段时间内不会因为学历而被拒之门外。


03

细节决定成败

你的工作年限只是过去,没有1家公司会因为你工作了5年就觉得你靠谱。在天安科技园某家公司笔试的时候,有这么一道笔试题目:

  1. $array1 = array(

  2. 'a'=> '1',

  3. 'b'=> '1',

  4. '2'=> 'c',

  5. '1'=> 'c'

  6. );

现在希望得到下面这样2个二维数组:

  1. $array2 = array(

  2. '1'=> array(

  3. 0=> 'a'.

  4. 1=> 'b'

  5. ),

  6. 'c'=> array(

  7. 0=> '1',

  8. 1=> '2'

  9. )

  10. );

最开始的时候,真没看出什么端倪。后来发现,把1个数组中的键值作为键名,进行反向处理即可。

于是编写了类似如下的代码:

  1. $array2 = array();

  2. foreach($array1 as $key=>$value){

  3. if(array_key_exists($array2,$value)){

  4. $array2[$value] = array();

  5. }else{

  6. $array2[$value].push($key);

  7. }

  8. }

然而正是上述的代码让面试官询问我是否发现一些问题。当时真的没发现什么问题,在他给我稍微提醒下才发现把数值给丢失了。于是我也失去了这份offer的机会。


04

说清楚简历上的内容

自己之前工作的老东家,由于数据量比较大,因此会对数据库进行一些优化处理,比如分表、加索引什么的。于是在简历上有这么一条:

  1. 200GB大小的原始数据库进行相关指标的计算

于是问题就来了,面试官首先会问如下几个问题:

  • 首先这么大的数据量,你使用的是什么数据库进行存储

  • 最大的一张表是哪张,最大记录数是多少

  • 你做了哪些数据优化

我觉得自己在这里犯下的错误都快可以写成一本书了。当时回答使用的是Oracle数据库,使用pdo_oci8.dll完全是可以进行操作的。而后想想,自己并没有说清楚其中的缘由。实际上,为什么那个库会达到200GB的原因,自己并没有解释清楚。

由于数据库人员为了加快数据的查询,添加了不少的索引,而那些索引就占据了差不多85%的磁盘空间。而后近2W张大大小小的表,自然而言可以达到10几到20个G的大小。

于是我又一次与拿到Offer的机会擦肩而过了。


05

需要熟悉的技能

如果说PHP需要熟悉哪些技能,最常见的有:

  • 熟悉Laravel

  • 使用过Swoole

  • 熟悉Redis或Memcached

为什么把熟悉Laravel放在第一位呢?因为这个框架基于组件化的方式进行开发,基本拿来即可用。直接使用composer安装相关的依赖就可以开箱使用了。

对于熟悉Swoole的,基本都是游戏公司或者一些想做IM的产品的。实际上,Swoole是个很麻烦的东西,安装起来极其不容易。虽然提供了Windows和Linux的集成包,但是你要让它与curl一起使用的话,只能从头编译。而Swoole版本4.3要求gcc>=4.8,对于使用Centos 6服务器的公司来说,你就哭着升级GCC吧。

在刚工作的前几年,特别是2015的时候,面试问的最多的就是Redis跟Memcached有什么区别。其次是读写分离、主从复制相关的内容。


06

把精力投放在有把握的职位

不得不说,从事PHP开发不怕找不到工作,因为满大街都是招聘信息,只是要懂得筛选

至于怎么筛选,就要结合自身情况和能力。如果是当毕业想积累项目经验,可以选择一些微信公众号、小程序开发相关的岗位。当然还可以接收一些APP接口的开发,而这方面的职位一般都比较少。要么对应的公司注销了,要么是没什么职位空缺。

对于我这种有多年工作经验的,一般就不考虑上述职位了。更多的会关注的是薪资方面,或者深入一些底层或协议相关的内容。此时找些使用Swoole、Workman的职位就比较妥当。

很多公司招聘岗位跟实际用人的要求还是有差距的,你投递了简历一般都会约你过来面试了解下情况,如果每天不针对性的选择一些职位,而只是让BOSS主动联系你是比较难找到合适的职位的。一些公司根本不知道想找个怎样的人,毕竟他们也不懂相关的技术,然后就会比较随意给你抛来橄榄枝,让你去面试,也是耗费精力的事情。

如果能针对性的关注自己感兴趣公司的一些岗位,根据其招聘要求弥补自己当前尚未学习的技能,那么去面试拿到offer的几率就会大很多。

另外,在面试之前可以看下这个岗位的薪资,比如有如下2家公司的薪资待遇:

  • 6k-10k

  • 8k-10k

对于这种薪资上限相同的企业最好选择下限大一些的。有些公司招聘人是给不了上限,而是按下限招聘人员的。为了避免老员工对招聘的新员工有意见,HR只能妥善给你下限薪资,当然你能力超凡就可以破例。

而如果是下面2家工资的薪资待遇:

  • 10k-25k

  • 10k-15k

对于这样2家公司,公司A的薪资差距是15k,而公司B的差距是5k,还是选择公司B比较妥当。没有哪家公司的待遇区间会是在1-2倍之间波动的,不排除这样的公司是皮包公司。


07

结语

如果说世界上有什么是不变的,那么唯有改变是不变的。PHP还是那个适用于Web开发的PHP,还是那个戏称世界上最好的语言,只是人们的期望和选择多了。

最后,没事最好别要任意跳槽,毕竟如果真的不是活不下去,出来会发现下一家不一定比上一家好。而且,换了家公司需要适应新的环境和建立新的人际关系。

本文作者:风中纸鹞,1个多年滚打于Web开发的研发工程师。熟悉PHP、Java、C++等编程语言,以编程作为乐趣。

声明:本文为 脚本之家专栏作者 投稿,未经允许请勿转载。




*版权声明:转载文章和图片均来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存