V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lianxiaoyi
V2EX  ›  问与答

面试 PHP ,你们一般会问什么问题啊?

  •  
  •   lianxiaoyi · 2017-07-14 10:42:12 +08:00 · 6803 次点击
    这是一个创建于 2471 天前的主题,其中的信息可能已经有所发展或是发生改变。

    给团队招募新成员,但是面试了两个三年经验的人,总感觉深层次东西没有。好苦恼,到底该问些啥。

    我大概问这几个问题

        1.mysql 索引在哪些情况下失效?
        2.介绍一下 mysql 事物的锁
        3.将 1 核 1G 的 redis 服务器上升级为 2 核 2G 的服务,对性能有提升吗?如何扩展性能
        4.购物车是怎么实现的
        5.无限级分类,用最优的方案删除某一个节点下所有子节点
        6.对 PSR 的理解
        7.看到有熟练使用 linux 的会问 vim 跳转到最后一行命令是什么?
    

    回答结果惨不忍睹啊。。。。。

    难道真的要我问 require 和 require_once 的区别是什么?

    php 将字符串分割成数组函数是什么这种问题么?

    各位大佬一般都会问些啥??求指点

    第 1 条附言  ·  2017-07-14 18:51:42 +08:00
    非常感谢各位的回答。我大概知道问哪些东西了
    28 条回复    2019-02-16 15:47:21 +08:00
    ss098
        1
    ss098  
       2017-07-14 10:45:15 +08:00   ❤️ 1
    我好菜啊 ... 答不出来。

    可以上网找找大厂的面试题。
    lianxiaoyi
        2
    lianxiaoyi  
    OP
       2017-07-14 10:50:09 +08:00
    @ss098 我也搜了一大堆。。。百度上的惨不忍睹 。。。。。。
    lianxiaoyi
        4
    lianxiaoyi  
    OP
       2017-07-14 11:08:29 +08:00
    @ss098 大神非常感谢。。。。。。
    shiji
        5
    shiji  
       2017-07-14 11:13:13 +08:00 via Android   ❤️ 1
    这前两个问题跟 php 没有过多关联吧。。
    Jakesoft
        6
    Jakesoft  
       2017-07-14 11:25:07 +08:00   ❤️ 1
    技术流只会最后一题: `shit+g`
    lwbjing
        7
    lwbjing  
       2017-07-14 11:34:29 +08:00   ❤️ 2
    居然没有 “为什么 PHP 是世界上最好的语言?”
    moult
        8
    moult  
       2017-07-14 11:40:34 +08:00 via iPhone   ❤️ 1
    @Jakesoft 野鸡程序员使用 :999999 跳到最后一行。
    zulwfryk
        9
    zulwfryk  
       2017-07-14 11:40:47 +08:00   ❤️ 1
    - PHP
    - PHP 7 新特性
    - 随意列举几个 array 相关函数
    - 反转一个数组
    - Composer
    - 自动加载原理 (spl_autoload_register)
    - PSR
    - 对代码质量的态度
    - 引用传递
    - 引用和指针的区别
    - 浮点数
    - __invoke
    - 编辑器 / IDE
    - 标准库
    - ArrayList
    - Iterator 迭代器
    - 反射
    - 反射的作用
    - 调试手段
    - SAPI
    - PHP-FPM 的运行方式
    - CGI 是什么
    - Fastcgi
    - 如何优化
    - 底层
    - php-src 是如何保存变量的
    - $a = 1; $b=$a 是如何保存的
    - 什么是引用计数
    teaaa
        10
    teaaa  
       2017-07-14 12:45:03 +08:00   ❤️ 1
    作为初级 php 能看懂题目在讲啥 给不出答案 不过支持楼主问这种现实一点的以解决问题为目的的问题。考察基本语法尤其是字符串处理函数啊什么的真的没啥用
    newguest
        11
    newguest  
       2017-07-14 13:05:48 +08:00   ❤️ 1
    问我 我都能给你扩张答出来 不过 没三年
    joeke
        12
    joeke  
       2017-07-14 13:37:01 +08:00   ❤️ 1
    这些问题还好吧 不是很难,那个楼上大神发的腾讯笔试题,直接挂机
    coderluan
        13
    coderluan  
       2017-07-14 13:50:12 +08:00   ❤️ 2
    合不合适看你给多少钱?
    都是干三年,有的人一个公司混三年,一共涨两次薪,一次 1000,有的人跳了两次槽,一次涨薪 50%。
    对于前者我认为你出这种题肯定浪费时间,后者即使不能完全答对,也能有不错的应答。
    换句话这种问题是好问题,能考察人能不能主动学习工作和书本之外的知识。
    yylzcom
        14
    yylzcom  
       2017-07-14 13:54:04 +08:00   ❤️ 1
    我只会最后一题 GG
    jarlyyn
        15
    jarlyyn  
       2017-07-14 14:22:33 +08:00   ❤️ 1
    你这是在面 php 么……

    特别是 看到有熟练使用 linux 的会问 vim 跳转到最后一行命令是什么?

    我 10 多年 linux 用户了,桌面 vs code cli nano,偶尔服务器上会用下 vi,但无论如何不会用 vi 去做跳转最后一行这种事情……
    misaka19000
        16
    misaka19000  
       2017-07-14 14:30:43 +08:00 via Android   ❤️ 1
    一提都不会。。。有人能给下这几题的答案吗
    jevonszmx
        17
    jevonszmx  
       2017-07-14 15:10:11 +08:00   ❤️ 6
    个人觉得没有 PHP 工程师这一说法,PHP 工程师意味着知识面一定是要比较广的。

    技术线(偏深度):
    1. 基础知识,比如数据结构,面向对象,设计模式,I/O,Http 协议等
    2. 语言深度,比如 PHP 的运行机制,自动加载,性能优化,APC/OPcache (以及其原理等),异常处理,安全
    3. 源码阅读,比如看过哪些框架,其中的机制是怎么样的,往细了问(如自动加载、依赖注入、Laravel 的 Facades 门面模式、路由)
    4. 知识宽度,静态语言,比如 C、Java 等,顺便看学习积极性
    5. 项目经验,做过什么,是否复杂,负责什么,做了什么
    6. 设计,这一点和第五点比较类似


    业务线(偏能力):
    1. 业务能力,也就是之前做过的项目(担任的角色,负责的部分),可以举例自己觉得做得不错的项目;
    2. 沟通能力,这一点能从沟通中就看出来
    3. 主动性,之前主动推动的事物等等,哪怕是一个小的点也可以
    4. 抗压能力,之前做过的项目中去挖掘细节
    5. 技术宽度,了解不一定要深入,我一般会问一些比较泛的,比如多语言,Linux 操作,HTTP 协议等
    6. 解决问题能力,如何调试错误,如何分析问题,如何调优

    偶尔会问:
    1. 有 GitHub 或者 Blog (技术热情),最近看过什么书 /开源项目
    2. 离职原因和同事相处(你懂的)
    3. 业余时间利用(技术热情)


    我一般的面试流程:
    1、先自我介绍一下,礼貌~;
    2、让对方介绍项目(看对方表达能力和对项目的了解);
    3、php 基础:面向对象、设计模式(结合实际例子来说);
    4、http 协议相关: http 协议,可能会问到 cookie、session 之类的、4xx/5xx 报错如何捕获;
    5、业务:用户非常多的网站,开发抽奖 /秒杀系统系统,可能有哪些问题,怎么解决?(看分析问题能力,包括并发、缓存、安全);
    6、优化:5 的系统开发好了,页面很慢,从哪些方面分析?(前后端都有可能,看他有没有实际解决问题的经验和能力),可能会问到前端的优化、php 的分析和优化、redis 的设计、mysql 的性能分析和优化;
    7、遇到以上问题解决不了的,怎么办?平时会看哪些网站 /书学习?最近看过的开源项目 /书是?
    (很多人口头上自己热情积极学习,其实一问就知道)
    8、有些人会说我看 Laravel 什么什么的,就继续问,composer 怎么实现自动加载的?框架的流程大致是什么样的?路由怎么实现的?怎么做单元测试?依赖注入?等等
    9、其他:有什么优缺点?有什么问我的?等等
    weer0026
        18
    weer0026  
       2017-07-14 15:25:49 +08:00   ❤️ 1
    这些问题考察面还可以,都能答出来,会这些的说明很大几率不是外包出来的(个人感觉哈),因为不单单是只会写业务代码,对 redis,mysql 有一定理解,上过服务器调试过代码,但是我大部分都是招写业务的,所以基本就聊聊以前做过什么项目,就一两个点深入问问。。
    ihuotui
        19
    ihuotui  
       2017-07-14 15:59:30 +08:00 via iPhone   ❤️ 1
    试试三年 java 的面试题目吧
    baiyi
        20
    baiyi  
       2017-07-14 16:11:21 +08:00   ❤️ 1
    看了这个帖子后觉得自己算是个合格的 PHPer 了
    chinafeng
        21
    chinafeng  
       2017-07-14 16:18:13 +08:00   ❤️ 1
    啊, 我好菜啊
    dishuibaby
        22
    dishuibaby  
       2017-07-14 19:05:39 +08:00   ❤️ 1
    @jarlyyn 会用到的。
    hugo775128583
        23
    hugo775128583  
       2017-07-14 19:57:50 +08:00 via Android   ❤️ 1
    我一般问:世界上最好的语言是?

    对方超过 3 秒直接 pass😬
    sagaxu
        24
    sagaxu  
       2017-07-14 21:10:24 +08:00 via Android   ❤️ 1
    如果招 15k 到 30k 的,就不会这么难看了
    HYSS
        25
    HYSS  
       2017-07-14 21:55:08 +08:00   ❤️ 1
    require 和 require_once 的区别是什么? 这种就别问了 没任何意义
    lianxiaoyi
        26
    lianxiaoyi  
    OP
       2017-07-16 08:09:34 +08:00
    @hugo775128583 66666666666666666
    mingyun
        27
    mingyun  
       2017-11-10 10:36:34 +08:00
    Donne
        28
    Donne  
       2019-02-16 15:47:21 +08:00
    @jevonszmx 这个很有帮助,回想起来给我面试的好几个都是这个流程下来的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   997 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:32 · PVG 03:32 · LAX 12:32 · JFK 15:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.