令人难忘的面试题目!!!

2018-01-06 21:15:36 +08:00
 A1k4id
今儿面试一个 PHP 中高级开发岗位,有这么一道面试题:Linux 下用 root 用户执行一个 php 脚本,脚本中使用`chmod($filename, 777);`来改变一个文件的权限为可读可写可执行,脚本可以执行成功吗?如果不可以,为什么?

楼主答:不一定执行成功,一般 chmod 属于危险命令,php 配置可能禁用此函数,被禁用的函数肯定无法执行。
面试官:如果没有禁用呢?
楼主答:可以啊,root 拥有最高权限。
面试官:错,不能执行,因为这里要写成 0777。
捂脸,4 年工作经验,哎,我再去重温函数手册去吧~
6577 次点击
所在节点    职场话题
42 条回复
1762628386
2018-01-06 21:17:28 +08:00
HHH 这面试的是玩你的吧
mmqc
2018-01-06 21:19:37 +08:00
hhhh 你可以告诉他,你爸在董事😏
v2dead
2018-01-06 21:20:58 +08:00
跟他说容我查个手册先。
lhx2008
2018-01-06 21:24:28 +08:00
php 还有这种玩法。。
lwbjing
2018-01-06 21:27:03 +08:00
窒息的操作
chinvo
2018-01-06 21:28:05 +08:00
令人智息
t6attack
2018-01-06 21:29:16 +08:00
这是拿自己开发中填过的坑来整人啊
wulikanhua
2018-01-06 21:46:48 +08:00
就这周刚好用过 chmod 这个函数,心疼你一秒
voocel
2018-01-06 21:50:45 +08:00
记得好像 linux 还有个啥限制,哪怕设置成 777 也只能得到 755
kkzxak47
2018-01-06 22:04:36 +08:00
虽然脚本命令参数错了,可是脚本本身执行成功了啊
zn
2018-01-06 22:19:38 +08:00
这题目有 bug,至少也是楼主给的代码有歧义。实际上不管是 777 还是 0777 都运行失败。

原因:

反引号 ` ` 是用来执行系统命令的, 然而 chmod($filename, 777); 却是一句 php 代码,所以无论是 777 还是 0777 都无法运行。


当然如果你说你用反引号括起来的其实是 php 代码那我没话说。
A1k4id
2018-01-06 22:35:35 +08:00
@zn #11 谢谢指出歧义,我是“反引号括起来的其实是 php 代码”的意思!
A1k4id
2018-01-06 22:38:20 +08:00
@voocel umask 吗? root 下确实可以!
A1k4id
2018-01-06 22:39:19 +08:00
@wulikanhua #8 没关系,学艺不精,我认~
colorwin
2018-01-06 22:39:29 +08:00
@zn 这是 markdown 表示行代码的语法吧
A1k4id
2018-01-06 22:44:27 +08:00
@v2dead #3
@t6attack #7
我没想到考纲重点在这里,也确实很少用到这些函数,基本都是用到了看看文档
mcfog
2018-01-06 22:45:48 +08:00
又是一道想找脑筋急转弯玩的溜的人而不是找靠谱的工程师的面试题
A1k4id
2018-01-06 22:47:26 +08:00
@colorwin #15 是啊,``` ...```,无法编辑了
A1k4id
2018-01-06 22:53:22 +08:00
@lhx2008 #4
@lwbjing #5
@chinvo #6
有点英语考试的感觉
markyangd
2018-01-06 23:10:38 +08:00
这种题目真心很掉价。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/420688

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX