最近招人
感觉传统的 PHP 面试题都太套路了
求思路,有什么更合理的 PHP 面试题?
1
hornets 2017-02-20 20:17:37 +08:00
php 是不是最好的语言
|
2
misaka20038numbe 2017-02-20 20:19:00 +08:00
是的
|
3
dtfm 2017-02-20 20:19:51 +08:00 via Android 1
中国 PHP 作者是谁?在哪儿上班?
|
4
hd7771 2017-02-20 20:28:11 +08:00
你平时工作遇到的要想想的情况都可以问,比如
我在数据库中存了很多到题目,然后管理员又有权限出比赛,可以把题目拉到比赛里,一个题目可以对应多个比赛,怎么做?这就问道了数据库多对多的实现。 每场比赛有很多人参加,每个人都能看到自己参加的比赛提交记录,但是要把每场比赛和外面题库的提交记录分开,怎么做?这就问道了账号权限处理。 每场比赛还有一个根据做出题的数量和罚时相关的实时更新的排名表,如果不是实时更新怎么处理,如果是实时更新怎么做最快?这就问了排序(静态)和二分(动态)。 如果提交者交上来的是 sql 代码或者 js 代码怎么办?这就问道了 web 安全。 假设提交者提交上来的是一个程序调用危险的系统调用怎么处理?这就问了系统安全。 |
5
cuebyte 2017-02-20 20:59:03 +08:00
请面试官自己出题
|
6
ferock 2017-02-20 21:09:28 +08:00 via Android
请面试官自己出题
|
7
coderluan 2017-02-20 21:13:44 +08:00
你最近看的一本 php 的书是什么?感觉怎么样?
|
8
hahaDashen 2017-02-20 21:15:21 +08:00
请出一个 PHP 的面试题 (笑)
|
9
helloccav 2017-02-20 21:16:45 +08:00 via Android
@coderluan 我最近看的一本书叫做 php 7 天入门,看完这本书就来你这里面试了,至于感觉怎么样要看你录不录取我
|
10
v2dead 2017-02-20 21:25:23 +08:00 6
树上七个猴,地上一个猴。
请拿 php 实现树对象,猴对象,要求树对象带可迭代接口,可迭代树上存在的猴;实现一个上树的接口,地上的猴可以上树。 如果在迭代中间,地上的猴上树,如何保证迭代的正确性,空间的低复杂度。 开个玩笑: P |
12
ydxred 2017-02-20 21:44:13 +08:00 via Android 1
php 的全称是啥?背着写出来。。。
|
13
gouchaoer 2017-02-20 21:50:41 +08:00 via Android
面 php 语言细节没啥用, php 本来就很简单。。。数据库遇到的问题,对 php 生态了解, redis/memcache , http 后台那一套,安全, linux
|
14
changwei 2017-02-20 22:02:29 +08:00
|
15
543400 2017-02-20 22:24:56 +08:00 via Android
手写冒泡算法
|
16
wdlth 2017-02-20 22:40:00 +08:00
请说出 PHP 5.2 5.3 5.4 5.5 5.6 7.0 7.1
各两个相隔个版本的新特性和废弃的东西。 |
17
visonme 2017-02-20 22:40:04 +08:00
你用 php 干过最开心的事情
|
19
ins 2017-02-20 23:39:18 +08:00
$str = "[email protected]";
regex="([a−z0−9\.−]+)@([\da−z\.−]+)\.([a−z\.]2,6)regex="([a−z0−9\.−]+)@([\da−z\.−]+)\.([a−z\.]2,6)" ; //正则 return preg_match(regex,regex,str) |
21
cxbig 2017-02-21 06:33:43 +08:00
我司一般会出一个不太复杂的算术题,一小时内手写一个 Class 出来,大概 50 行左右,然后上机跑得通。
|
22
kankana 2017-02-21 08:04:16 +08:00 via iPhone
late static binding 和 使用生成器遍历数据库,居然没人懂……
|
23
SoulGem 2017-02-21 08:13:38 +08:00 via iPhone
请问有比 PHP 更好的语言吗?请列举
|
24
mcfog 2017-02-21 08:48:41 +08:00 via Android 3
低级:描述一下最近印象最深的解决的问题?
中级:让你主导项目你会选什么框架? 高级:如何提高团队整体的编码质量? |
25
CFM880 2017-02-21 08:55:06 +08:00
发现问题,分析问题,解决问题,甩个问题给他。
|
27
superkey 2017-02-21 09:26:54 +08:00
& 的具体意思,例如 23&1 的结果.
|
29
tabris17 2017-02-21 09:44:10 +08:00
请写出 PHP7 语言的 BNF 范式
|
30
phrack 2017-02-21 10:04:20 +08:00 via Android 4
|
31
ywisax 2017-02-21 10:24:52 +08:00 1
考语言特性的话,可以问下 class 中,$this 、 self 、 static 的区别。
也可以试下让面试者描述下怎么用 redis 实现个简单的 counter 或锁,还有优缺点 |
33
chuhemiao 2017-02-21 10:48:53 +08:00
让面试者出一道自己认为是他水平的题,然后解释出详细思路(加手写代码) 233333
|
34
murmur 2017-02-21 10:49:14 +08:00
世界上最好的语言______________(100 分)
|
35
TIGERB 2017-02-21 10:52:58 +08:00
```
$arr = [1,2,3]; foreach($arr as &$v) { //nothing todo. } foreach($arr as $v) { //nothing todo. } print_r($arr); ``` 结果? |
37
rannnn 2017-02-21 11:57:23 +08:00
反转单向链表
|
39
jarlyyn 2017-02-21 12:46:57 +08:00
基于 php 的应用场景,面 php 和语言没啥大关系。
标准库 网站基础架构 各种基本概念 网站安全处理 各种 sql/nosql/缓存的使用经验 request/response 的常见 header 差不离了。 |
40
wulin 2017-02-21 13:21:13 +08:00
简述 yii 的 Behavior 绑定原理, laravel 的 ioc 原理
好多人连自己天天用的框架源代码也没看过 |
41
1762628386 2017-02-21 13:21:39 +08:00 2
1.说一说什么是静态后期绑定
2.接口 Interface 的作用 3.封装继承抽象是什么意思,php 如何表现 4.影响 php 性能的几个方面 5.说说对 php gc 的理解 6.如何改变匿名函数 Closure 的作用域 7.php7 了解多少 以及你对哪个新特性最感兴趣 8.cookie/session 的生命周期 9.什么情况下设置 header 头会失效 10.ob_start 系列的作用,以及在项目中都怎么用过 11.如果给 yii/tp/加上一个注释 Annotation 路由你该如何实现 12 !empty($varable)和 isset($varable)的区别 13 请说出几种接受外部变量的方式 14.说说从 nginx 接受请求到 php 输出内容,期间都经过了什么 |
42
picasso250 2017-02-21 13:38:43 +08:00
如何防止 SQL 注入
如何防止 XSS 注入 如何防止 CRSF |
43
javaon0120 2017-02-21 13:56:41 +08:00
@changwei 正解
|
44
xiaotianhu OP @wulin 我面 10 个有九个半没看过 所以无奈了.大部分都是用 TP
小公司招人痛苦啊... |
45
xiaotianhu OP @1762628386 感谢,很有启发意义.
|
46
xiaotianhu OP @jarlyyn 确实是这样.来面试的 谁还不会写 PHP,太偏的 PHP 技巧我也不会问
然而来面试的人基本上就把自己定义为"写 PHP 的",除了 PHP 别的基本懒得看也不懂的水平... |
47
aeio59f04idz 2017-02-21 14:13:38 +08:00
php 是最好的语言吗。另广州招 PHP ,看我信息
|
48
aksoft 2017-02-21 15:12:04 +08:00
sql 注入防了半天 还是被干。
各大网站被爆哭是什么情况。 |
49
hiboshi 2017-02-21 15:16:10 +08:00
楼主在哪里 感觉我挺符合的
|
50
1762628386 2017-02-21 15:23:20 +08:00
@aksoft 再 nb 的注入也经不起接收外部变量拼 sql
|
51
sheenaringo 2017-02-21 15:51:15 +08:00
PHP 就是最好的语言,谁不承认就是不客观。
手动微博摊手表情 |
52
xiaotianhu OP @hiboshi 41204034 欢迎 qq 骚扰
|
53
xiaotianhu OP @hiboshi 我司北京 不好意思
|
54
liyu4 2017-02-21 17:16:45 +08:00
手写单链表逆向打印
|
55
aeio59f04idz 2017-02-21 17:24:21 +08:00
我是写 PHP 的,防 SQL 这些交给 WAF 哈哈 ,
|
56
cxbig 2017-02-21 17:29:13 +08:00
另外可以自己搜 PHP Certification 题库
能解决那些稀奇古怪的题目,并不代表日常的代码水准就高 另外可以扩展一下,考校一些 Git 、 Linux 的常用命令 |
57
1762628386 2017-02-21 17:34:34 +08:00
咳咳 我先标记下 说不定有用
|
59
1762628386 2017-02-21 17:48:53 +08:00
楼主是医疗的?
|
60
herozzm 2017-02-21 18:38:56 +08:00 via Android
不使用递归的情况下实现无限层级的类别展现
|
61
jamlee 2017-02-21 21:38:03 +08:00
@1762628386 php 还不可以使用注释来注入依赖什么的吧
|
62
HLT 2017-02-21 21:40:33 +08:00
什么是面向对象编程
什么是面向工资编程 |
63
sobigfish 2017-02-21 21:48:07 +08:00
直接问 PHP 7.0 更新了什么 feature ?=。=
|
65
1762628386 2017-02-21 23:05:19 +08:00
@jamlee 早就可以了 用反射获取注释 正则匹配指令 路由注释 Symfony2 已经实现了
|
66
ruooooooli 2017-02-22 09:34:40 +08:00
把我招了吧 哈哈哈
|
67
realpg 2017-02-22 10:32:46 +08:00 2
面试不问细节,不问奇葩算法,这些东西就算不会自己上网一搜随便看看就明白,当然太简单的那种基本算法可以问问,不需要实现,比如排序啊之类好歹你大概知道有几种方法都叫啥名,到时候搜你也得知道关键词,不用考具体实现
然后,聊聊 http 模型, fastcgi 处理模型,确定基本问题知道在哪,常用的 MYSQL 大坑是否了解,比如 LIMIT 很大数字会慢这种常识,细节见镇长 然后,聊聊各种数据安全问题,防止泄露的处理,常见业务大坑比如支付网关返回只验证订单号成功不验证金额的这种事儿怎么看之类 然后,针对 PHP ,问问 5.X 到 5.6 有啥主要变化,新特性简单了解即可,日常能用到的会出现不兼容问题的为重点,然后是 5.6 到 7 有啥重点需要注意的地方之类,重点在代码题 代码题: 给定时间(4 小时内)处理一个基本业务数据逻辑,环境在测试服务器搭好, git 推上去自动部署,要求每秒钟几万次的请求(另外测试服务器有一个 golang 客户端可以用来模拟) 给定的自己写的变种 CI 框架,包含公司一部分已经写好的模块可以直接调用,提供框架完整中英文手册,以及一部分同类别人写的类似功能源代码可以参考使用语法,核心逻辑部分,需要从 session 中获取几个参数,从 cookies 中获取几个参数,从 post 获取几个参数,然后代入数据库,交叉 N 个表 需要写的是一个登陆并维持状态(界面不要求,白页 input ,白页显示即可),然后获取一个关联系统预设的 cookies ,一个用户主动的 post 数据,几个 url 上带来的算是 get 的参数,然后结合这些去数据库按照三个规则查询生成 table 显示给用户(三种简单逻辑但是结合数据库结构考虑性能就不太好搞的逻辑),还有一个 ajax 入库的 api 接口 这个规则里会设计一个表格的变换,给定较大压力下, PHP 模块都配置好,包括 redis , memcached 缓存都带配置好的服务器,在框架手册里会写明可以直接用。测试压力调度器可以随时让他测试自己的性能,约定题目会告诉你生成永久临时辅助查询表需要书写临时表数据定义文档上传版本库,对表结构进行调整、建立索引需要修改版本库中的数据库定义文档(暗示可以对进行修改的范围) 一般熟练工, 30~50 分钟就能写完,然后考核代码质量 首先那个生成报表的,需要给数据库加索引,如果稍微高级点的,会考虑生成一个辅助列(触发器)甚至辅助表去把查询拆分成简单查询几倍提高性能 然后,处理查询部分, stmt , activerecord 之类可以自选,具体怎么去处理三个查询中的两个用现有表结构很难简单弄出目标数据的方式的巧妙程度需要观察,这是技术硬实力 另外就是输入过滤,对于系统内约定的传进来 int ,有没有随手 intval 一下的习惯,对于用户数据(比如 cookies )是否有随手 intval 的习惯等等 这些都处理得很厉害,加分点众多,基本日常写业务基本无敌了 |
68
xiaotianhu OP @realpg
很详细啊,多谢了 然而现实情况是,我也不敢问细节 就一些面上的东西,怎么看负载查找文件的命令啊,http 头里面有啥字段啊,session 过期咋整啊 这些问题,对方都是一脸蒙逼的状态,很多 3-5 年经验的人,不知道他们天天都在干啥 写了三年后台也不至于啊. |
71
1762628386 2017-02-22 23:51:21 +08:00
@realpg 这个值啊
|
72
1762628386 2017-02-22 23:52:02 +08:00
不过大多数公司 RD 没有创建触发器的权限吧
|