我司 PHP 面试题

2014-07-06 18:48:26 +08:00
 dongbeta
我们是一个位于美国/香港/北京的创业公司,我们致力于创建一个面向美国市场的专业金融服务网站。 关于招聘要求,薪资福利,项目发展请参考 https://careers.ngfplanner.com/

受 sofish/hire 启发,今天制作了一份题目放在:
https://github.com/dongbeta/hire

欢迎来踩 ☆*:.。. o(≧▽≦)o .。.:*☆
9289 次点击
所在节点    酷工作
78 条回复
konakona
2014-07-07 10:31:41 +08:00
有点意思,做做题。
svampire
2014-07-07 10:38:38 +08:00
已在香港可否在香港工作?
lijingyu68
2014-07-07 11:05:13 +08:00
顺便贴一下我的代码,主要是从功能方面考虑,扩展了只能传入两个参数的限制,没考虑性能的问题。

function filter($arr){
$args = func_num_args();
$checks = array_slice(func_get_args(), 1);
if($args < 2){
throw new exception('Parameter Error: need at least 2 parameters.');
}
$result = [];
foreach($arr as $item){
foreach($checks as $check){
if(strpos($item, $check)){
$result[] = $item;
break;
}
}
}
return $result;
}

貌似比前面几位短。。。献丑了
dongbeta
2014-07-07 11:23:20 +08:00
@svampire 目前技术团队大部分在北京,不过你可以考虑远程。
dongbeta
2014-07-07 11:24:05 +08:00
@likexian 我写 ruby 的,你让我换 python ……
ideaa
2014-07-07 14:01:10 +08:00
function filter2($arr, $check, $check2=null)
{
$result = array();
array_map(function($a) use($check, $check2, & $result){
if (false !== strpos($a, $check)) {
$result[] = $a;
} else if (null !== $check2 && false !== strpos($a, $check2)) {
$result[] = $a;
}
}, $arr);

return $result;
}

这样如何?
cocalrush
2014-07-07 14:54:46 +08:00
哈哈 这样比较赞 ~~ 蛮好玩的
zencoding
2014-07-07 15:42:06 +08:00
function filter($arr, $check, $check2 = null){
$new_arr = checkit($arr, $check);
if ($check2) $new_arr .= checkit($arr, $check2);
}
function checkit($arr, $check){
$tmp_array = array();
foreach ($arr as $key => $value) {
if (strpos($value, $check) !== false) $tmp_array[$key] = $value;
}
return $tmp_array;
}
bestwishes
2014-07-07 16:02:38 +08:00
第三题很简单啊,其实就是一行语句的事情大家想复杂了吧

<?php
$arr = array('a', 'b', 'c');
$check = 'a';
$check2 = 'b';

$new_arr = array_filter($arr, function ($str) use ($check, $check2) {
return !empty($check) && strpos($str, $check) !== false || !empty($check2) && strpos($str, $check2) !== false;
});
print_r($new_arr);

另外楼主的代码写的有问题,strpos不能这么用啊,要判断!==false而不是直接当成boolean的值来用,要知道如果这个被包含的字符串可能是从第0个字符开始的,这样会出差错了
bestwishes
2014-07-07 16:17:51 +08:00
第二题我做过类似的,还是8年以前做的了,在elance上给一个美国的印度人做的,用curl抓的数据,然后用gd2把那个数据图给改颜色,尺寸和去logo了,具体记不太清楚。觉得这类需求PHP就不合适,还是用node.js的request搭配cheerio吧,绝配
Yii和Laravel都有研究过一些,不过Yii没怎么开发过实际项目。
ejan
2014-07-07 20:47:36 +08:00
我随手把第一题转给我的CTO,他说他不知道,我该怎么办?着急,在线等……
ioth
2014-07-08 10:17:17 +08:00
前端招聘题目

我们的前端小伙伴正在编写题目中 …… ^_^

.....
lenzhang
2014-07-08 14:57:52 +08:00
第三题目测
想到用array_map,array_filter的可以通过,其他的估计很难通过
zerooo
2014-07-12 22:43:12 +08:00
@dongbeta 这个招聘信息还有效吗?为什么给你们发了项目地址没有回复?
dongbeta
2014-07-13 10:54:35 +08:00
@zerooo 有效,这两天我们在做版本demo,还没有来得及回复。
@lenzhang 不好意思,你解读错了。
yqw
2014-08-07 10:00:10 +08:00
请问贵公司能办理香港的工作签证吗?(理工大学学生
dongbeta
2014-08-08 16:50:03 +08:00
@yqw 抱歉,不能办理,目前技术在北京这边。
yqw
2014-08-08 17:12:53 +08:00
@dongbeta 好吧,谢谢T^T

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

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

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

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

© 2021 V2EX