1
wy315700 2014-07-06 18:57:20 +08:00
|
3
RemRain 2014-07-06 19:11:04 +08:00
前端题目404。
后端题目P1面试时候聊聊还行,放笔试里面答起来太累了,另外从题目来看,懂yii和laravel有加分,私以为不用规定这么死,让应聘者聊自己所熟悉框架也可以。 P2部分要想好好做,工作量不小,即使写出来,也不能确保换一个环境能正常运行。加分项里面有HighCharts,这是要求后端工程师对前端常用框架也有所了解么? P3考验编码质量 感觉纯PHP开发好那啥啊,都是偏重应用和对各种框架的熟悉程度,没有数据结构、操作系统之类的要求 表示我不是来面试的,只是被题目吸引进来了>_<" |
4
raincious 2014-07-06 19:11:44 +08:00
Part 3, 请问用foreach搞定的能给多少工资?
$arr = array('P.R. China', 'United States', 'Taiwan'); $i = count($arr); foreach ($arr as $v) { echo $v; } |
5
xuxu 2014-07-06 19:19:58 +08:00
Part III:
$countries = array('P.R. China', 'United States', 'Taiwan'); foreach($countries as $country) { echo $country; } 6行代码能有啥问题? |
7
barbery 2014-07-06 19:21:49 +08:00
赞一个,这样的形式比较好玩!
|
8
trimleo 2014-07-06 19:26:42 +08:00
今天看快简历的时候也看到贵司了
|
9
RemRain 2014-07-06 19:35:24 +08:00
我觉得echo的时候还得加个空格或者\n,不让打印出来连在一起多丑
|
10
msputup 2014-07-06 19:38:31 +08:00 via iPhone
@wy315700 应该没有吧foreach的性能好像比while快上20%左右。其他能替代的是有,但是论性能,没发现
|
11
dongbeta OP |
12
yzxh24 2014-07-06 20:11:50 +08:00 1
Part III:
$array = array('P.R. China', 'United States', 'Taiwan'); echo implode('', $arr); |
13
horsley 2014-07-06 20:13:01 +08:00
我觉得p3的主要问题在于在循环测试条件上反复count,数组小倒是关系不大,但是是个坏习惯,而且计数变量没啥用途,如楼上所说foreach就好
|
14
raincious 2014-07-06 20:13:33 +08:00
|
15
yzxh24 2014-07-06 20:14:47 +08:00
一看到要去抓取别人数据顿时就没兴趣了。。。
|
16
dongbeta OP @raincious 我正在查到底哪个词是对的 back-end, backend, front-end, frontend。我的字典告诉我说 frontend 是错的。
|
17
yakczh 2014-07-06 20:22:16 +08:00
可以远程工作吗?
|
19
raincious 2014-07-06 20:32:30 +08:00
@dongbeta
好吧。根据 http://english.stackexchange.com/questions/34447/is-it-front-end-frontend-or-front-end 的回答者,他认为front-end以及frontend都是Front End的一种形式。 于是乎,根据他的观点,其实front-end和frontend都是“可替代形式”,一个级别的。那么可以考虑牵就Backend。 然后, (Google Front-End) http://googlesystem.blogspot.com/2007/09/googles-server-names.html (GnuPG Frontends) https://www.gnupg.org/related_software/frontends.html 其实貌似没有一个统一的标准来定义到底应该说frontend还是front-end。所以讨论这个某种程度有点像是……大括号是否另起一行?我猜。 |
20
hxgdzyuyi 2014-07-06 20:55:58 +08:00
感觉 part3 应该给个测试用例比较好。
|
23
Actrace 2014-07-06 21:06:26 +08:00
B格有点高。。。英文注释。。。
|
24
jsonline 2014-07-06 21:08:13 +08:00
我这里面试/笔试都是因人而异的。
|
25
cdffh 2014-07-06 21:11:11 +08:00
不错的面试题 顶一个。
|
26
nooper 2014-07-06 21:22:28 +08:00
股票的那个太。。。,缺少金融专业知识。
|
27
Actrace 2014-07-06 21:27:02 +08:00
我就觉得第三题有点意思.
function filter($arr, $check, $check2 = null) { $new_arr = []; if ($check2 !== null) { foreach ($arr as $val) { if (strpos($val, $check) !== false) { $new_arr[] = $val; continue; } if (strpos($val, $check2) !== false) { $new_arr[] = $val; } } } else { foreach ($arr as $val) { if (strpos($val, $check) !== false) { $new_arr[] = $val; } } } return $new_arr; } |
28
evefree2 2014-07-06 21:27:17 +08:00
深圳的是否去hk office
|
29
Actrace 2014-07-06 21:27:25 +08:00
窝巢,我完美的换行没了...
|
30
raincious 2014-07-06 21:36:20 +08:00
@dongbeta
题目不错哈。感觉不坑,希望我到时候找工作的时候也能遇到这样有意思的题,而别是我根本做不好的算法题。 照着原功能写了下,我觉得要不就是str_replace对端字符串的性能很强,要不就是我什么地方搞错了。献丑: https://gist.github.com/raincious/c8b6d71d5b895e2cceda |
31
raincious 2014-07-06 21:41:55 +08:00
|
32
Actrace 2014-07-06 21:51:38 +08:00
@raincious 刚刚跑了一下你的代码,顺路把我的方法也贴上去,发现结果竟然有误差.
$array:423 255 0.0010440349578857 255 0.00032591819763184 //下面这个是我那个方法的结果...姿势不对吗? 423 0.00036907196044922 |
33
Actrace 2014-07-06 21:54:01 +08:00
P3其实有两个问题.
while里面放count会导致性能下降. strpos可能给出0,也就是开头就匹配到了,不过if会将0当做false来处理,所以需要全等判断. |
34
WildCat 2014-07-06 21:57:16 +08:00 via iPhone
一周内完成就可以…?
我本来以为我PartI会很囧 |
35
xiaozi 2014-07-06 22:10:54 +08:00
其实用array_filter来个匿名回掉函数就可以了,strpos记得用false来判断,简单的一毛
|
38
raincious 2014-07-06 22:15:21 +08:00
@Actrace 这是因为我傻了……写完代码然后运行了下能跑就贴了……完全没主意到感叹号以及变量名的问题……(掩面)
我就当这是上帝在警告我不要瞎起哄了,我去安安静静的完成我的山寨FormValidation类去了…… |
39
Actrace 2014-07-06 22:17:01 +08:00
|
40
xiaozi 2014-07-06 22:17:56 +08:00
laravel Facade各种舒服的 链式调用,但是IDE基本都认不出来函数的定义位置,重度的magic函数依赖
|
41
xiaozi 2014-07-06 22:22:01 +08:00
@dongbeta 楼主要考基本功,不如直接笔试的时候 各种不同类型的变量进行比较,死记的基本嗝屁。
还有熟悉php的那些个内置函数才是比较重要的,不要重复造轮子。 还有比如switch in_array神马的都是弱类型比较也是可以考察一下的。 |
43
Actrace 2014-07-06 22:36:20 +08:00
|
44
baocaixiong 2014-07-06 22:37:52 +08:00
|
45
baocaixiong 2014-07-06 22:38:32 +08:00
|
46
raincious 2014-07-06 22:39:59 +08:00
|
47
Actrace 2014-07-06 22:43:03 +08:00
@baocaixiong 不定参数的方式在IDE里就没有提示了。另外需求是两个参数。虽然说可以做得很灵活,但是不符合要求的吧?
这个代码看起来很高端,但是嵌套太多层代码质量严重蛋疼了。 另外你可以用 @raincious 的代码跑个分。。。我对这个比较感兴趣。。。第一次看到这么写的。。。 |
49
baocaixiong 2014-07-06 22:47:17 +08:00
@Actrace 我现在操作数组的时候,只要是能用map, filter, reduce,这些函数的统统不用foreach了。
具体性能还没有仔细研究过呢,这么多嵌套我要是将closure拆到array_filter外面可能会好看点点。 另外:咋跑分? |
50
baocaixiong 2014-07-06 22:49:12 +08:00
@Actrace 我刚进公司的时候,我被安排给一个项目补unittest,大概一个多月的时间,全部都在写phpunittest, 虽然痛苦不已,但是现在来看,我觉得unittest这个过程是必须的了。也更加深入了项目代码的理解。
当然,我现在写测试的速度很快,检查错误也很快,可能就是之前养成的 |
51
raincious 2014-07-06 22:52:38 +08:00
@Actrace 还好吧,我觉得对我这种不知道啥时候就掩面的,PHPUnit还是挺有用的……
我现在上比较重要的新模块都这么干了: 而且这样开发效率会稍微高点,因为毕竟不用让其他用不着的部分跑起来。以前都是在实际项目上做测试,然后一个页面刷新下整个服务都得开起来,比较麻烦。 |
52
xiaowangge 2014-07-06 22:54:47 +08:00 via Android
「您访问的是: https://careers.ngfplanner.com/
经检测发现该网站可能存在OpenSSL“心血”漏洞,登录该网站可能会泄漏你的账号和密码,建议你暂时不要登录。 如果您确认该网页不包含有欺诈内容,可以选择继续访问或者进行误报申诉」 Android手机访问时,腾讯管家报告。(^_^) |
53
Actrace 2014-07-06 22:55:03 +08:00
@baocaixiong 请看30楼。
另外在过去的时代,据说是用结构体+关键字会比调用函数性能要好。所以老朽一直优先考虑使用这种解决方案来处理问题。 过多嵌套确实是会影响代码可读性的。 这个就需要综合考量了。 除非项目完全你自己一个人写,否则在做这种决定的时候最好先咨询其他人的意见。 |
54
Actrace 2014-07-06 23:01:55 +08:00
@raincious
@xiaowangge 有一些东西必须走完整流程。当你们碰到这样的问题时。 http://v2ex.com/t/121102 测试这种事情,怎么简单怎么来。 就拿刚刚那个30楼的测试来说,把代码copy下来放netbeans改改运行10秒都用不到。 如果用IDE开发的话,基本上80%的问题都能提前解决。 |
55
baocaixiong 2014-07-06 23:02:54 +08:00
|
56
aveline 2014-07-06 23:11:23 +08:00
|
57
zhujinliang 2014-07-07 07:45:37 +08:00
第三题回头看看能不能用preg_filter搞一下
|
58
simapple 2014-07-07 08:26:57 +08:00
part 1 说不太好,YII laravel在真正使用于全环境的时候还是少,
part 2 推荐phpsimpledomparse 搞到数据很简单,除非页面数据来自认证和js渲染 part 3 不知道要考察啥,$arr会是多维数组么?换个思路,直接将要查找的元素组成一个数组,和原数组取交集怎么样? 楼主提供的待遇倒是诱惑力十足,满满的幸福啊 |
59
likexian 2014-07-07 09:29:14 +08:00
part 3
def filter(arr, check, check2): ....new_arr = [i for i in arr if check in i and check2 in i] so, 老板,写什么php啊,我们换python吧,python是世界上最好的语言 |
60
555 2014-07-07 09:38:31 +08:00
part3和前面的感觉不在一个档次上
|
61
konakona 2014-07-07 10:31:41 +08:00
有点意思,做做题。
|
62
svampire 2014-07-07 10:38:38 +08:00
已在香港可否在香港工作?
|
63
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; } 貌似比前面几位短。。。献丑了 |
66
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; } 这样如何? |
67
cocalrush 2014-07-07 14:54:46 +08:00
哈哈 这样比较赞 ~~ 蛮好玩的
|
68
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; } |
69
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个字符开始的,这样会出差错了 |
70
bestwishes 2014-07-07 16:17:51 +08:00
第二题我做过类似的,还是8年以前做的了,在elance上给一个美国的印度人做的,用curl抓的数据,然后用gd2把那个数据图给改颜色,尺寸和去logo了,具体记不太清楚。觉得这类需求PHP就不合适,还是用node.js的request搭配cheerio吧,绝配
Yii和Laravel都有研究过一些,不过Yii没怎么开发过实际项目。 |
71
ejan 2014-07-07 20:47:36 +08:00
我随手把第一题转给我的CTO,他说他不知道,我该怎么办?着急,在线等……
|
72
ioth 2014-07-08 10:17:17 +08:00
前端招聘题目
我们的前端小伙伴正在编写题目中 …… ^_^ ..... |
73
lenzhang 2014-07-08 14:57:52 +08:00
第三题目测
想到用array_map,array_filter的可以通过,其他的估计很难通过 |
76
yqw 2014-08-07 10:00:10 +08:00
请问贵公司能办理香港的工作签证吗?(理工大学学生
|