9月9号,去了一家朋友的公司参加面试,然后就被直接吊打了,问的许多问题居然是我压根没有关心过的,看起来只在高层搞框架不行啊,还是得自己造个轮子试试,下面回顾一下问到的问题和我自己找到的一些答案。
- file_get_contents与curl
- 前者不会缓存DNS,后者可以缓存DNS,这样多次访问同一个网站的时候,后者的速度会更快
- 前者请求http时不会keepalive,后者会,这样多次请求同一个链接时后者的速度会更快
- 前者会受php.ini文件中配置的影响,关闭之后无法使用,后者不会
- 前者只有get请求,后者可以模拟post,ftp,tcp等请求
- 前者得到的结果存储在一个字符串中,后者会存储到数组中,这样更方便分析使用
- API接口的身份验证问题
- 使用JWT实现验证,但是对面试官提到的劫持路由就无能为力了,劫持者拿到了用户的token,那我只能认为他就是用户本人了
- mysql连接池的问题
- PHP没有连接池可以说是被JAVA程序员喷了很久的问题了,查了资料发现现在一般分为两类,一类是认为PHP连接Mysql的效率够高,速度够快,所以没有必要做出连接池,作为一个JAVA黑我真的想这么认同。还有一类是用swoole自己实现一个连接池。最后我也不知道应该怎么做了,暂时做的一些开发还没有遇到性能卡在数据库连接上面的,等以后遇到了再想办法吧。
- redis数据类型(这完全是面试官误导我的一个问题)
- String
- Hash键值对
- List列表
- Set无序集合
- SortSet有序集合
暂时就回想到了这些问题,看起来下次去面试的时候得带个纸和笔,把这些问题都记下来,突然有点期盼去北京的日子了,每个周末都出去面试几家公司,估计技术会成长很快。