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

2017-07-14 10:42:12 +08:00
 lianxiaoyi

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

我大概问这几个问题

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

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

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

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

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

6817 次点击
所在节点    问与答
28 条回复
ss098
2017-07-14 10:45:15 +08:00
我好菜啊 ... 答不出来。

可以上网找找大厂的面试题。
lianxiaoyi
2017-07-14 10:50:09 +08:00
@ss098 我也搜了一大堆。。。百度上的惨不忍睹 。。。。。。
ss098
2017-07-14 10:50:59 +08:00
lianxiaoyi
2017-07-14 11:08:29 +08:00
@ss098 大神非常感谢。。。。。。
shiji
2017-07-14 11:13:13 +08:00
这前两个问题跟 php 没有过多关联吧。。
Jakesoft
2017-07-14 11:25:07 +08:00
技术流只会最后一题: `shit+g`
lwbjing
2017-07-14 11:34:29 +08:00
居然没有 “为什么 PHP 是世界上最好的语言?”
moult
2017-07-14 11:40:34 +08:00
@Jakesoft 野鸡程序员使用 :999999 跳到最后一行。
zulwfryk
2017-07-14 11:40:47 +08:00
- 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
2017-07-14 12:45:03 +08:00
作为初级 php 能看懂题目在讲啥 给不出答案 不过支持楼主问这种现实一点的以解决问题为目的的问题。考察基本语法尤其是字符串处理函数啊什么的真的没啥用
newguest
2017-07-14 13:05:48 +08:00
问我 我都能给你扩张答出来 不过 没三年
joeke
2017-07-14 13:37:01 +08:00
这些问题还好吧 不是很难,那个楼上大神发的腾讯笔试题,直接挂机
coderluan
2017-07-14 13:50:12 +08:00
合不合适看你给多少钱?
都是干三年,有的人一个公司混三年,一共涨两次薪,一次 1000,有的人跳了两次槽,一次涨薪 50%。
对于前者我认为你出这种题肯定浪费时间,后者即使不能完全答对,也能有不错的应答。
换句话这种问题是好问题,能考察人能不能主动学习工作和书本之外的知识。
yylzcom
2017-07-14 13:54:04 +08:00
我只会最后一题 GG
jarlyyn
2017-07-14 14:22:33 +08:00
你这是在面 php 么……

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

我 10 多年 linux 用户了,桌面 vs code cli nano,偶尔服务器上会用下 vi,但无论如何不会用 vi 去做跳转最后一行这种事情……
misaka19000
2017-07-14 14:30:43 +08:00
一提都不会。。。有人能给下这几题的答案吗
jevonszmx
2017-07-14 15:10:11 +08:00
个人觉得没有 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
2017-07-14 15:25:49 +08:00
这些问题考察面还可以,都能答出来,会这些的说明很大几率不是外包出来的(个人感觉哈),因为不单单是只会写业务代码,对 redis,mysql 有一定理解,上过服务器调试过代码,但是我大部分都是招写业务的,所以基本就聊聊以前做过什么项目,就一两个点深入问问。。
ihuotui
2017-07-14 15:59:30 +08:00
试试三年 java 的面试题目吧
baiyi
2017-07-14 16:11:21 +08:00
看了这个帖子后觉得自己算是个合格的 PHPer 了

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

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

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

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

© 2021 V2EX