V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
A1k4id
V2EX  ›  职场话题

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

  •  
  •   A1k4id · 2018-01-06 21:15:36 +08:00 · 6616 次点击
    这是一个创建于 2544 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今儿面试一个 PHP 中高级开发岗位,有这么一道面试题:Linux 下用 root 用户执行一个 php 脚本,脚本中使用`chmod($filename, 777);`来改变一个文件的权限为可读可写可执行,脚本可以执行成功吗?如果不可以,为什么?

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

    原因:

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


    当然如果你说你用反引号括起来的其实是 php 代码那我没话说。
    A1k4id
        12
    A1k4id  
    OP
       2018-01-06 22:35:35 +08:00
    @zn #11 谢谢指出歧义,我是“反引号括起来的其实是 php 代码”的意思!
    A1k4id
        13
    A1k4id  
    OP
       2018-01-06 22:38:20 +08:00
    @voocel umask 吗? root 下确实可以!
    A1k4id
        14
    A1k4id  
    OP
       2018-01-06 22:39:19 +08:00
    @wulikanhua #8 没关系,学艺不精,我认~
    colorwin
        15
    colorwin  
       2018-01-06 22:39:29 +08:00 via Android
    @zn 这是 markdown 表示行代码的语法吧
    A1k4id
        16
    A1k4id  
    OP
       2018-01-06 22:44:27 +08:00
    @v2dead #3
    @t6attack #7
    我没想到考纲重点在这里,也确实很少用到这些函数,基本都是用到了看看文档
    mcfog
        17
    mcfog  
       2018-01-06 22:45:48 +08:00
    又是一道想找脑筋急转弯玩的溜的人而不是找靠谱的工程师的面试题
    A1k4id
        18
    A1k4id  
    OP
       2018-01-06 22:47:26 +08:00
    @colorwin #15 是啊,``` ...```,无法编辑了
    A1k4id
        19
    A1k4id  
    OP
       2018-01-06 22:53:22 +08:00
    @lhx2008 #4
    @lwbjing #5
    @chinvo #6
    有点英语考试的感觉
    markyangd
        20
    markyangd  
       2018-01-06 23:10:38 +08:00 via iPhone
    这种题目真心很掉价。
    wdlth
        21
    wdlth  
       2018-01-06 23:23:51 +08:00
    因为那是八进制数,开头加 0
    这其实是 Linux 的题目了
    A1k4id
        22
    A1k4id  
    OP
       2018-01-07 00:09:02 +08:00 via iPhone
    @wdlth #21 平时终端下 chmod [-R] xxx file 这么操作,确实没想到
    mingyun
        23
    mingyun  
       2018-01-07 00:53:21 +08:00
    还真是令人难忘
    misaka19000
        24
    misaka19000  
       2018-01-07 01:41:58 +08:00 via Android
    这是在黑 PHP 吗
    humor66
        25
    humor66  
       2018-01-07 12:23:16 +08:00
    首先面试官面试的方法就有问题,不要直接去否定别人的答案,而应该去引导别人继续思考或者思考的方法,面试不是炫耀面试官厉害候选人菜鸡的地方,而应该去发现别人的优点。一流人招一流人才,二流人招三流人才。楼主还好没去
    Tony8Finet
        26
    Tony8Finet  
       2018-01-07 12:33:30 +08:00
    没人认真的思考过吗? 777 十进制转成八进制 0o1411,也就是 `chmod 1411 filename`

    结果是 root 可以执行脚本及二进制档,group 或其他人可以执行二进制档,但不能执行脚本。

    所以面试官错了!!
    marknote
        27
    marknote  
       2018-01-07 12:56:58 +08:00 via iPhone
    回字有四种写法:)
    Reficul
        28
    Reficul  
       2018-01-07 15:21:33 +08:00 via Android
    那么如果开了 SELinux 的咋搞?(手动斜眼
    cjyang1128
        29
    cjyang1128  
       2018-01-07 17:32:46 +08:00
    令人窒息
    killerv
        30
    killerv  
       2018-01-07 18:19:42 +08:00
    这个真没啥意思
    cholerae
        31
    cholerae  
       2018-01-07 19:20:55 +08:00
    这什么破壁问题
    goodryb
        32
    goodryb  
       2018-01-07 19:32:55 +08:00
    没说是什么 Linux 系统吗? 如果是 28 楼所说的,开了 SELLinux,在讨论下?
    A1k4id
        33
    A1k4id  
    OP
       2018-01-07 19:39:51 +08:00
    @Reficul #28
    @goodryb #32
    有点意思了,隐藏信息啊~
    deadEgg
        34
    deadEgg  
       2018-01-07 20:34:00 +08:00
    庆幸没面上吧,面试官脑回路都这样了,还指望是啥好公司。
    bobuick
        35
    bobuick  
       2018-01-07 21:50:09 +08:00
    这么脑残,确实难忘
    wangdu2012
        36
    wangdu2012  
       2018-01-07 22:26:14 +08:00 via iPhone
    就这么个函数?
    hustlike
        37
    hustlike  
       2018-01-08 09:13:44 +08:00 via iPhone
    哈哈哈哈
    user123
        38
    user123  
       2018-01-08 09:52:42 +08:00
    茴香豆有几种写法的 既视感
    ty89
        39
    ty89  
       2018-01-08 10:03:26 +08:00
    很多面试官都是这样的,给面试者挖坑,以便显得自己很厉害
    eamon666
        40
    eamon666  
       2018-01-08 16:17:58 +08:00
    这时候你该反问他 为什么前边要加个 0,那个 0 代表什么意思
    他如果说不出来,说明他对技术不是太上心的
    A1k4id
        41
    A1k4id  
    OP
       2018-01-08 20:05:56 +08:00
    @eamon666 #40 有且仅有这道题他对我做出了解释
    hienchu
        42
    hienchu  
       2018-01-09 10:16:13 +08:00
    深度为 n 的二叉树有多少种可能性
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5302 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 07:59 · PVG 15:59 · LAX 23:59 · JFK 02:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.